用途
Code Security Audit 用于对代码变更、diff 或分支执行安全审计,目标是发现高可信度、可利用的漏洞,并尽量减少误报。它基于 claude-code-security-review,适合在需要「audit security」「review」等安全审查任务时使用。
主要能力
工具采用三阶段分析流程:
- 上下文研究:识别代码库中的安全框架、ORM、认证库、净化模式与信任边界。
- 对比分析:把新代码与既有安全模式比较,标记偏离、不一致和新增攻击面。
- 漏洞评估:针对每个修改文件检查输入验证(SQL 注入、命令注入、XXE、模板注入、NoSQL 注入、路径穿越)、认证与授权(认证绕过、权限提升、会话缺陷、JWT 漏洞)、加密与密钥(硬编码密钥/令牌、弱算法、密钥存储不当)、代码执行(反序列化 RCE、pickle/YAML 注入、eval 注入、XSS)、数据暴露(敏感数据日志、PII 违规、API 泄露、调试暴露)。同时要求从用户输入到敏感操作追踪数据流,并查找权限边界跨越。
误报过滤方面,工具加载 references/false-positive-filtering.md 并应用全部规则,对每个发现给出 1-10 的置信度,仅保留置信度 ≥ 8 的发现;针对特定领域可加载 references/custom-scan-instructions.md。
输出格式为:
# Vuln N: [Category]: `file.ts:42`
* Severity: HIGH | MEDIUM
* Confidence: 8/10
* Description: [What the vulnerability is]
* Exploit Scenario: [Concrete attack path]
* Recommendation: [Specific fix]
使用方式
手工审计工作流
- 收集变更:
git diff --merge-base origin/main # Branch diff
git diff --cached # Staged changes
git diff HEAD~N # Last N commits
git diff --name-only origin/main... # List modified files
- 执行三阶段分析(见上)。
- 过滤误报。
- 按上述格式输出。
GitHub Action 集成
可在 CI 中对 PR 自动运行安全审计,需要 ANTHROPIC_API_KEY 和 GITHUB_TOKEN。
安装:
pip install -r claudecode/requirements.txt
环境变量:
| 变量 | 必需 | 用途 |
|---|---|---|
| ANTHROPIC_API_KEY | 是 | Claude API 访问 |
| GITHUB_TOKEN | 是 | 访问 GitHub API 以获取 PR 数据 |
| GITHUB_REPOSITORY | 是 | owner/repo 格式 |
| PR_NUMBER | 是 | Pull request 编号 |
| EXCLUDE_DIRECTORIES | 否 | 要跳过的目录,逗号分隔 |
| ENABLE_CLAUDE_FILTERING | 否 | 设为 true 以使用 Claude API 进行误报过滤 |
| FALSE_POSITIVE_FILTERING_INSTRUCTIONS | 否 | 自定义过滤规则路径 |
| CUSTOM_SECURITY_SCAN_INSTRUCTIONS | 否 | 自定义扫描类别路径 |
运行:
python claudecode/audit.py
输出为 JSON,包含 findings、analysis_summary 和 filtering_summary。
GitHub Actions 工作流示例:
name: Security Review
permissions:
pull-requests: write
contents: read
on:
pull_request:
jobs:
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 2
- uses: anthropics/claude-code-security-review@main
with:
comment-pr: true
claude-api-key: ${{ secrets.CLAUDE_API_KEY }}
PR 评论
将发现作为内联评论发布:
node scripts/comment-pr-findings.js
读取当前目录下的 findings.json,需要 GITHUB_TOKEN 和 GITHUB_EVENT_PATH。
评估框架
对任意公开 PR 测试审计:
export ANTHROPIC_API_KEY=sk-...
python -m claudecode.evals.run_eval owner/repo#123 --verbose
结果以 JSON 保存至 ./eval_results/,包含 findings、runtime 和 success 状态。
斜杠命令
将 assets/security-review-command.md 复制到任意项目的 .claude/commands/security-review.md,即可在 Claude Code 中启用 /security-review。
适用场景
适用于对代码改动、diff 或分支进行安全审查,尤其是希望通过 CI 在 PR 上自动执行审计的团队。
限制与原则
关键原则包括:尽量减少误报,仅标记可利用置信度 >80% 的问题;跳过噪声,不报告理论问题、风格问题或低影响发现;聚焦影响,优先未授权访问、数据泄露、系统入侵;只报告新问题,不评论已存在的安全关注。严重性指南为:HIGH 指可直接利用,如 RCE、数据泄露、认证绕过;MEDIUM 指需要特定条件但有显著影响;不报告 LOW 严重性发现。
参考文件包括 references/false-positive-filtering.md、references/custom-scan-instructions.md、references/custom-false-positive-filtering.txt、references/custom-security-scan-instructions.txt。