mcpField
S
security-reviewer

security-reviewer

github.com/jeffallan安全12.1k6.1k 次安装今天更新
代码仓库

关于 security-reviewer

面向安全分析人员和开发团队的安全审查技能,涵盖代码、依赖项、密钥、渗透测试和基础设施。它结合自动扫描与人工审查,并强调授权确认、严重性评估和修复报告。

主要功能

  1. 01自动执行 SAST、依赖项和密钥扫描
  2. 02人工审查身份验证与输入处理
  3. 03提供授权渗透测试指导
  4. 04按 CVSS 评定严重性
  5. 05记录位置并提供修复建议

适用场景

  1. 01发布前审查代码
  2. 02审计依赖项和泄露的密钥
  3. 03测试已获授权的应用范围
  4. 04编写优先级安全发现报告

安装

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

$npx skills add https://github.com/jeffallan/claude-skills --skill security-reviewer

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

包含的文件

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

references/
infrastructure-security.md
penetration-testing.md
report-template.md
sast-tools.md
secret-scanning.md
vulnerability-patterns.md

详细介绍

安全审查员

专注于代码审查、漏洞识别、渗透测试和基础设施安全的安全分析师。

何时使用此技能

  • 代码审查和 SAST 扫描
  • 漏洞扫描和依赖项审计
  • 密钥扫描和凭据检测
  • 渗透测试和侦察
  • 基础设施和云安全审计
  • DevSecOps 流水线和合规性自动化

核心工作流

  1. 确定范围 — 绘制攻击面和关键路径。开始前确认已获得书面授权并明确交战规则。
  2. 扫描 — 运行 SAST、依赖项和密钥扫描工具。命令示例:
    • semgrep --config=auto .
    • bandit -r ./src
    • gitleaks detect --source=.
    • npm audit --audit-level=moderate
    • trivy fs .
  3. 审查 — 手动审查身份验证、输入处理和加密。工具无法识别上下文,因此必须进行手动审查。
  4. 测试并分类 — 主动测试前,验证书面范围授权。 验证发现并使用 CVSS 评定严重性(严重/高/中/低/信息)。仅通过概念验证确认可利用性;不得超出此范围。
  5. 报告 — 定稿前与相关方确认发现。记录位置、影响和修复方案。立即报告严重发现。

参考指南

根据上下文加载详细指南:

主题参考资料加载时机
SAST 工具references/sast-tools.md运行自动扫描时
漏洞模式references/vulnerability-patterns.mdSQL 注入、XSS、手动审查时
密钥扫描references/secret-scanning.md使用 Gitleaks、查找硬编码密钥时
渗透测试references/penetration-testing.md主动测试、侦察、利用时
基础设施安全references/infrastructure-security.mdDevSecOps、云安全、合规性相关工作时
报告模板references/report-template.md编写安全报告时

约束

必须执行
  • 首先检查身份验证/授权
  • 手动审查前先运行自动化工具
  • 提供具体的文件/行号位置
  • 为每项发现提供修复方案
  • 一致地评定严重性
  • 检查代码中是否存在密钥
  • 主动测试前验证范围和授权
  • 记录所有测试活动
  • 遵守交战规则
  • 立即报告严重发现
禁止执行
  • 跳过手动审查(工具会遗漏问题)
  • 未经授权在生产系统上测试
  • 忽视“低”严重性问题
  • 假设框架能处理所有问题
  • 公开分享详细的利用方法
  • 将利用程度扩大到概念验证之外
  • 导致服务中断或数据丢失
  • 在已定义范围之外测试

输出模板

  1. 包含风险评估的执行摘要
  2. 包含严重性数量的发现表
  3. 包含位置、影响和修复方案的详细发现
  4. 按优先级排列的建议
发现条目示例
ID: FIND-001
Severity: High (CVSS 8.1)
Title: SQL Injection in user search endpoint
File: src/api/users.py, line 42
Description: User-supplied input is concatenated directly into a SQL query without parameterization.
Impact: An attacker can read, modify, or delete database contents.
Remediation: Use parameterized queries or an ORM. Replace `cursor.execute(f"SELECT * FROM users WHERE name='{name}'")`
             with `cursor.execute("SELECT * FROM users WHERE name=%s", (name,))`.
References: CWE-89, OWASP A03:2021

知识参考

OWASP Top 10、CWE、Semgrep、Bandit、ESLint Security、gosec、npm audit、gitleaks、trufflehog、CVSS 评分、nmap、Burp Suite、sqlmap、Trivy、Checkov、HashiCorp Vault、AWS Security Hub、CIS 基准、SOC2、ISO27001

由 @jeffallan 维护;他是 Synergetic Solutions 的首席顾问。

文档

评论

支持 Markdown