关于 senior-secops
senior-secops 面向需要审查代码库、依赖项和合规控制的安全运营团队,提供扫描器与检查工具,以及安全审计、CI/CD 门禁、CVE 分诊和事件响应流程。
主要功能
- 01源代码漏洞扫描
- 02依赖项 CVE 评估
- 03SOC 2、PCI-DSS、HIPAA 和 GDPR 检查
- 04JSON 报告与严重级别筛选
- 05安全审计与 CI/CD 门禁流程
适用场景
- 01审计代码库中的安全问题
- 02检查依赖项是否存在已知 CVE
- 03验证合规控制措施
- 04在部署流水线中加入安全检查
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill senior-secops安装后在 Claude Code 中输入/senior-secops确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/compliance_requirements.mdsecurity_standards.mdvulnerability_management_guide.mdscripts/compliance_checker.pysecurity_scanner.pyvulnerability_assessor.py详细介绍
高级 SecOps 工程师
面向安全运营的完整工具包,涵盖漏洞管理、合规验证、安全编码实践与安全自动化。
目录
核心能力
1. 安全扫描器
扫描源代码中的安全漏洞,包括硬编码密钥、SQL 注入、XSS、命令注入和路径遍历。
# Scan project for security issues
python scripts/security_scanner.py /path/to/project
# Filter by severity
python scripts/security_scanner.py /path/to/project --severity high
# JSON output for CI/CD
python scripts/security_scanner.py /path/to/project --json --output report.json
可检测:
- 硬编码密钥(API 密钥、密码、AWS 凭证、GitHub 令牌、私钥)
- SQL 注入模式(字符串拼接、f-string、模板字面量)
- XSS 漏洞(innerHTML 赋值、不安全的 DOM 操作、React 不安全用法)
- 命令注入(shell=True、exec、eval 处理用户输入)
- 路径遍历(对用户输入进行文件操作)
2. 漏洞评估器
扫描 npm、Python 和 Go 生态中依赖项的已知 CVE。
# Assess project dependencies
python scripts/vulnerability_assessor.py /path/to/project
# Critical/high only
python scripts/vulnerability_assessor.py /path/to/project --severity high
# Export vulnerability report
python scripts/vulnerability_assessor.py /path/to/project --json --output vulns.json
扫描范围:
package.json和package-lock.json(npm)requirements.txt和pyproject.toml(Python)go.mod(Go)
输出:
- 带 CVSS 评分的 CVE 编号
- 受影响的包版本
- 用于修复的已修复版本
- 综合风险评分(0-100)
3. 合规检查器
依据 SOC 2、PCI-DSS、HIPAA 和 GDPR 框架验证安全合规性。
# Check all frameworks
python scripts/compliance_checker.py /path/to/project
# Specific framework
python scripts/compliance_checker.py /path/to/project --framework soc2
python scripts/compliance_checker.py /path/to/project --framework pci-dss
python scripts/compliance_checker.py /path/to/project --framework hipaa
python scripts/compliance_checker.py /path/to/project --framework gdpr
# Export compliance report
python scripts/compliance_checker.py /path/to/project --json --output compliance.json
验证项:
- 访问控制实现
- 静态与传输中的加密
- 审计日志
- 认证强度(MFA、密码哈希)
- 安全文档
- CI/CD 安全控制
工作流
工作流 1:安全审计
对代码库进行完整的安全评估。
# Step 1: Scan for code vulnerabilities
python scripts/security_scanner.py . --severity medium
# STOP if exit code 2 — resolve critical findings before continuing
# Step 2: Check dependency vulnerabilities
python scripts/vulnerability_assessor.py . --severity high
# STOP if exit code 2 — patch critical CVEs before continuing
# Step 3: Verify compliance controls
python scripts/compliance_checker.py . --framework all
# STOP if exit code 2 — address critical gaps before proceeding
# Step 4: Generate combined reports
python scripts/security_scanner.py . --json --output security.json
python scripts/vulnerability_assessor.py . --json --output vulns.json
python scripts/compliance_checker.py . --json --output compliance.json
工作流 2:CI/CD 安全门禁
将安全检查集成到部署流水线中。
# .github/workflows/security.yml
name: "security-scan"
on:
pull_request:
branches: [main, develop]
jobs:
security-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: "set-up-python"
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: "security-scanner"
run: python scripts/security_scanner.py . --severity high
- name: "vulnerability-assessment"
run: python scripts/vulnerability_assessor.py . --severity critical
- name: "compliance-check"
run: python scripts/compliance_checker.py . --framework soc2
每个步骤都会根据其对应的退出码使流水线失败,任何存在严重问题的变更都不会继续部署。
工作流 3:CVE 分诊
应对影响您应用的新 CVE。
1. ASSESS (0-2 hours)
- Identify affected systems using vulnerability_assessor.py
- Check if CVE is being actively exploited
- Determine CVSS environmental score for your context
- STOP if CVSS 9.0+ on internet-facing system — escalate immediately
2. PRIORITIZE
- Critical (CVSS 9.0+, internet-facing): 24 hours
- High (CVSS 7.0-8.9): 7 days
- Medium (CVSS 4.0-6.9): 30 days
- Low (CVSS < 4.0): 90 days
3. REMEDIATE
- Update affected dependency to fixed version
- Run security_scanner.py to verify fix (must return exit code 0)
- STOP if scanner still flags the CVE — do not deploy
- Test for regressions
- Deploy with enhanced monitoring
4. VERIFY
- Re-run vulnerability_assessor.py
- Confirm CVE no longer reported
- Document remediation actions
工作流 4:安全事件响应
安全事件处理流程。
PHASE 1: DETECT & IDENTIFY (0-15 min)
- Alert received and acknowledged
- Initial severity assessment (SEV-1 to SEV-4)
- Incident commander assigned
- Communication channel established
PHASE 2: CONTAIN (15-60 min)
- Affected systems identified
- Network isolation if needed
- Credentials rotated if compromised
- Preserve evidence (logs, memory dumps)
PHASE 3: ERADICATE (1-4 hours)
- Root cause identified
- Malware/backdoors removed
- Vulnerabilities patched (run security_scanner.py; must return exit code 0)
- Systems hardened
PHASE 4: RECOVER (4-24 hours)
- Systems restored from clean backup
- Services brought back online
- Enhanced monitoring enabled
- User access restored
PHASE 5: POST-INCIDENT (24-72 hours)
- Incident timeline documented
- Root cause analysis complete
- Lessons learned documented
- Preventive measures implemented
- Stakeholder report delivered
工具参考
security_scanner.py
| 选项 | 说明 |
|---|---|
target | 要扫描的目录或文件 |
--severity, -s | 最低严重级别:critical、high、medium、low |
--verbose, -v | 扫描时显示文件 |
--json | 以 JSON 格式输出结果 |
--output, -o | 将结果写入文件 |
退出码: 0 = 无严重/高危发现 · 1 = 存在高危发现 · 2 = 存在严重发现
vulnerability_assessor.py
| 选项 | 说明 |
|---|---|
target | 包含依赖文件的目录 |
--severity, -s | 最低严重级别:critical、high、medium、low |
--verbose, -v | 扫描时显示文件 |
--json | 以 JSON 格式输出结果 |
--output, -o | 将结果写入文件 |
退出码: 0 = 无严重/高危漏洞 · 1 = 存在高危漏洞 · 2 = 存在严重漏洞
compliance_checker.py
| 选项 | 说明 |
|---|---|
target | 要检查的目录 |
--framework, -f | 框架:soc2、pci-dss、hipaa、gdpr、all |
--verbose, -v | 运行检查时显示进度 |
--json | 以 JSON 格式输出结果 |
--output, -o | 将结果写入文件 |
退出码: 0 = 合规(得分 90% 以上) · 1 = 不合规(得分 50-69%) · 2 = 存在严重缺口(得分低于 50%)
安全标准
完整的 OWASP Top 10 指导、安全编码标准、认证要求和 API 安全控制,请参阅 references/security_standards.md。
安全编码检查清单
## Input Validation
- [ ] Validate all input on server side
- [ ] Use allowlists over denylists
- [ ] Sanitize for specific context (HTML, SQL, shell)
## Output Encoding
- [ ] HTML encode for browser output
- [ ] URL encode for URLs
- [ ] JavaScript encode for script contexts
## Authentication
- [ ] Use bcrypt/argon2 for passwords
- [ ] Implement MFA for sensitive operations
- [ ] Enforce strong password policy
## Session Management
- [ ] Generate secure random session IDs
- [ ] Set HttpOnly, Secure, SameSite flags
- [ ] Implement session timeout (15 min idle)
## Error Handling
- [ ] Log errors with context (no secrets)
- [ ] Return generic messages to users
- [ ] Never expose stack traces in production
## Secrets Management
- [ ] Use environment variables or secrets manager
- [ ] Never commit secrets to version control
- [ ] Rotate credentials regularly
合规框架
完整的控制项映射请参阅 references/compliance_requirements.md。运行 compliance_checker.py 以验证以下控制项:
SOC 2 Type II
- CC6 逻辑访问:身份验证、授权、MFA
- CC7 系统运维:监控、日志记录、事件响应
- CC8 变更管理:CI/CD、代码审查、部署控制
PCI-DSS v4.0
- Req 3/4:静态和传输中加密(TLS 1.2+)
- Req 6:安全开发(输入校验、安全编码)
- Req 8:强身份验证(MFA、密码策略)
- Req 10/11:审计日志、SAST/DAST/渗透测试
HIPAA Security Rule
- 针对 PHI 访问的唯一用户 ID 和审计追踪(164.312(a)(1)、164.312(b))
- 用于人员或实体身份验证的 MFA(164.312(d))
- 通过 TLS 进行传输加密(164.312(e)(1))
GDPR
- Art 25/32:隐私设计、加密、假名化
- Art 33:72 小时内完成数据泄露通知
- Art 17/20:删除权与数据可携权
最佳实践
密钥管理
# BAD: Hardcoded secret
API_KEY = "sk-1234567890abcdef"
# GOOD: Environment variable
import os
API_KEY = os.environ.get("API_KEY")
# BETTER: Secrets manager
from your_vault_client import get_secret
API_KEY = get_secret("api/key")
SQL 注入防护
# BAD: String concatenation
query = f"SELECT * FROM users WHERE id = {user_id}"
# GOOD: Parameterized query
cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))
XSS 防护
// BAD: Direct innerHTML assignment is vulnerable
// GOOD: Use textContent (auto-escaped)
element.textContent = userInput;
// GOOD: Use sanitization library for HTML
import DOMPurify from 'dompurify';
const safeHTML = DOMPurify.sanitize(userInput);
身份验证
// Password hashing
const bcrypt = require('bcrypt');
const SALT_ROUNDS = 12;
// Hash password
const hash = await bcrypt.hash(password, SALT_ROUNDS);
// Verify password
const match = await bcrypt.compare(password, hash);
安全响应头
// Express.js security headers
const helmet = require('helmet');
app.use(helmet());
// Or manually set headers:
app.use((req, res, next) => {
res.setHeader('X-Content-Type-Options', 'nosniff');
res.setHeader('X-Frame-Options', 'DENY');
res.setHeader('X-XSS-Protection', '1; mode=block');
res.setHeader('Strict-Transport-Security', 'max-age=31536000; includeSubDomains');
res.setHeader('Content-Security-Policy', "default-src 'self'");
next();
});
OWASP Top 10 快速检查
15 分钟快速评估:逐项检查每个类别并记录通过或失败。如需深入测试,请转交 security-pen-testing 技能处理。
| # | 类别 | 一句话检查项 |
|---|---|---|
| A01 | 访问控制失效 | 验证每个端点的角色检查;测试水平越权 |
| A02 | 加密机制失效 | 确认所有位置均使用 TLS 1.2+;日志和源码中不含密钥 |
| A03 | 注入 | 执行参数化查询审计;检查 ORM 原生查询的使用情况 |
| A04 | 不安全设计 | 检查关键流程是否已有威胁模型 |
| A05 | 安全配置错误 | 检查默认凭据已移除;错误页面为通用页面 |
| A06 | 易受攻击和过时的组件 | 运行 vulnerability_assessor.py;确保没有严重或高危 CVE |
| A07 | 身份认证失败 | 验证管理员已启用 MFA;暴力破解防护已生效 |
| A08 | 软件和数据完整性失败 | 确认 CI/CD 流水线对制品签名;不存在未签名的依赖 |
| A09 | 日志记录和监控失效 | 验证审计日志记录认证事件;告警已配置 |
| A10 | SSRF | 测试内部 URL 过滤器;阻止元数据端点(169.254.169.254) |
需要深入测试? 请转交
security-pen-testing,以获得完整的 OWASP 测试指南覆盖。
密钥扫描工具
为工作流的每个阶段选择合适的扫描工具:
| 工具 | 最适合 | 语言 | 提交前 | CI/CD | 自定义规则 |
|---|---|---|---|---|---|
| gitleaks | CI 流水线、全仓库扫描 | Go | 是 | 是 | TOML 正则 |
| detect-secrets | 提交前钩子、增量扫描 | Python | 是 | 部分支持 | 基于插件 |
| truffleHog | 深度历史扫描、熵值分析 | Go | 否 | 是 | 正则 + 熵值 |
推荐配置: 将 detect-secrets 用作提交前钩子(在密钥进入历史记录之前将其拦截),并在 CI 中使用 gitleaks(捕获漏网的密钥)。
# detect-secrets pre-commit hook (.pre-commit-config.yaml)
- repo: https://github.com/Yelp/detect-secrets
rev: v1.4.0
hooks:
- id: detect-secrets
args: ['--baseline', '.secrets.baseline']
# gitleaks in GitHub Actions
- name: gitleaks
uses: gitleaks/gitleaks-action@v2
env:
GITLEAKS_LICENSE: ${{ secrets.GITLEAKS_LICENSE }}
供应链安全
借助 SBOM 生成、制品签名和 SLSA 合规,防范依赖和制品被篡改。
SBOM 生成:
- syft:从容器镜像或源码目录生成 SBOM(支持 SPDX、CycloneDX 格式)
- cyclonedx-cli:CycloneDX 原生工具;可合并多个 SBOM,适用于单体仓库
# Generate SBOM from container image
syft packages ghcr.io/org/app:latest -o cyclonedx-json > sbom.json
制品签名(Sigstore/cosign):
# Sign a container image (keyless via OIDC)
cosign sign ghcr.io/org/app:latest
# Verify signature
cosign verify ghcr.io/org/app:latest [email protected] --certificate-oidc-issuer=https://token.actions.githubusercontent.com
SLSA 等级概览:
| 等级 | 要求 | 证明内容 |
|---|---|---|
| 1 | 已记录构建过程 | 存在溯源信息 |
| 2 | 托管构建服务,已签名的溯源信息 | 防篡改的溯源信息 |
| 3 | 加固的构建平台,不可伪造的溯源信息 | 防篡改的构建 |
| 4 | 双人审查,密闭式构建 | 最高级别的供应链保障 |
交叉引用:
security-pen-testing(漏洞利用测试)、dependency-auditor(依赖的许可证与 CVE 审计)。
参考文档
| 文档 | 说明 |
|---|---|
references/security_standards.md | OWASP Top 10、安全编码、身份认证、API 安全 |
references/vulnerability_management_guide.md | CVE 分诊、CVSS 评分、修复工作流 |
references/compliance_requirements.md | SOC 2、PCI-DSS、HIPAA、GDPR 完整控制项映射 |