mcpField
S
senior-secops

senior-secops

github.com/alirezarezvani安全28.9k910 次安装2 天前更新
代码仓库

关于 senior-secops

senior-secops 面向需要审查代码库、依赖项和合规控制的安全运营团队,提供扫描器与检查工具,以及安全审计、CI/CD 门禁、CVE 分诊和事件响应流程。

主要功能

  1. 01源代码漏洞扫描
  2. 02依赖项 CVE 评估
  3. 03SOC 2、PCI-DSS、HIPAA 和 GDPR 检查
  4. 04JSON 报告与严重级别筛选
  5. 05安全审计与 CI/CD 门禁流程

适用场景

  1. 01审计代码库中的安全问题
  2. 02检查依赖项是否存在已知 CVE
  3. 03验证合规控制措施
  4. 04在部署流水线中加入安全检查

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alirezarezvani/claude-skills --skill senior-secops

安装后在 Claude Code 中输入/senior-secops确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
compliance_requirements.md
security_standards.md
vulnerability_management_guide.md
scripts/
compliance_checker.py
security_scanner.py
vulnerability_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日志记录和监控失效验证审计日志记录认证事件;告警已配置
A10SSRF测试内部 URL 过滤器;阻止元数据端点(169.254.169.254)

需要深入测试? 请转交 security-pen-testing,以获得完整的 OWASP 测试指南覆盖。


密钥扫描工具

为工作流的每个阶段选择合适的扫描工具:

工具最适合语言提交前CI/CD自定义规则
gitleaksCI 流水线、全仓库扫描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.mdOWASP Top 10、安全编码、身份认证、API 安全
references/vulnerability_management_guide.mdCVE 分诊、CVSS 评分、修复工作流
references/compliance_requirements.mdSOC 2、PCI-DSS、HIPAA、GDPR 完整控制项映射

评论

支持 Markdown