Claude Code Security Review 是一个由 Anthropic 开发的 GitHub Action 工具,专注于自动化扫描代码中的安全漏洞。它利用 Claude AI 模型的强大语义分析能力,针对拉取请求(Pull Request)中的代码变更进行深度安全审查。工具通过分析代码语义,检测潜在的安全风险,如 SQL 注入、权限提升、硬编码密钥等,并自动在 GitHub 拉取请求中生成详细的评论,包含问题描述、严重性评级和修复建议。它支持所有编程语言,减少误报,适合开发者在开发流程中快速发现并修复安全问题。工具易于集成到现有工作流程,确保代码在提交到生产环境前更安全。
功能列表
- 自动化安全审查:在 GitHub 拉取请求中自动扫描代码变更,检测潜在安全漏洞。
- 语义分析:利用 Claude AI 理解代码上下文,超越传统模式匹配,提供更精准的漏洞检测。
- 拉取请求评论:自动在拉取请求中生成详细的安全问题评论,包括问题描述、严重性评级和修复建议。
- 支持多语言:适用于任何编程语言,无需特定语言配置。
- 误报过滤:通过高级算法减少低影响或误报的检测结果,提升审查效率。
- 可定制扫描:支持用户自定义安全审查规则,适应特定项目需求。
- 命令行支持:提供
/security-review
命令,允许开发者在终端中手动触发安全扫描。
使用帮助
安装流程
要使用 Claude Code Security Review,首先需要将其集成到 GitHub 仓库的工作流程中。以下是详细的安装步骤:
- 准备工作:
- 确保你的 GitHub 仓库已启用 GitHub Actions。
- 获取 Anthropic API 密钥。访问 Anthropic 控制台 获取密钥。
- 在 GitHub 仓库的 Settings > Secrets and variables > Actions 中,点击 New repository secret,添加名为
ANTHROPIC_API_KEY
的密钥,填入你的 Anthropic API 密钥。
- 配置 GitHub Action:
- 在仓库根目录创建
.github/workflows/
文件夹。 - 创建一个 YAML 文件(例如
security-review.yml
),并复制以下示例代码:name: Security Review on: pull_request: types: [opened, synchronize] jobs: security: runs-on: ubuntu-latest permissions: pull-requests: write contents: read 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.ANTHROPIC_API_KEY }}
- 保存文件并提交到仓库。每次拉取请求触发时,工具会自动运行并扫描代码。
- 在仓库根目录创建
- 手动触发(可选):
- 在本地安装 Claude Code CLI(命令行工具)。运行以下命令:
npm install -g @anthropic-ai/claude-code
- 导航到项目目录,运行:
claude
- 在 Claude Code 终端中输入
/security-review
,即可手动触发安全扫描。
- 在本地安装 Claude Code CLI(命令行工具)。运行以下命令:
功能操作流程
1. 自动化拉取请求审查
当开发者提交拉取请求时,Claude Code Security Review 会自动启动,分析变更的代码文件。它会:
- 扫描代码中的潜在漏洞,如 SQL 注入、跨站脚本攻击(XSS)、硬编码密钥等。
- 在拉取请求的评论区生成详细报告,列出每个问题的代码行、问题描述、严重性评级和修复建议。例如:
## Claude Code Review **文件**: src/auth.js **行号**: 42 **问题**: 检测到硬编码密钥,可能导致敏感信息泄露。 **严重性**: 高 **建议**: 将密钥移至环境变量,使用安全的密钥管理工具。 *Generated by Claude Code*
- 开发者可根据评论直接修改代码,修复问题后重新提交,工具会再次扫描。
2. 手动运行 /security-review
在开发过程中,开发者可以在本地使用 /security-review
命令进行安全检查:
- 确保项目目录是一个 Git 仓库(运行
git init
初始化)。 - 启动 Claude Code CLI,输入
/security-review
。 - 工具会分析当前 Git 暂存区(
git diff --staged
)的代码变更,生成安全报告。 - 如果目录不是 Git 仓库,命令会报错,提示“fatal: not a git repository”。建议在项目根目录运行
git init
。
3. 自定义安全规则
开发者可以自定义安全审查规则以适应特定需求:
- 在项目根目录创建
.claude/commands/
文件夹。 - 复制官方仓库中的
security-review.md
文件到该文件夹。 - 编辑
security-review.md
,添加特定规则,例如忽略某些类型的误报或增加组织特定的检查项。 - 示例自定义规则:
Review this code for security vulnerabilities, ignoring minor linting issues. Focus on: SQL injection, XSS, and hardcoded credentials.
- 保存后,重新运行
/security-review
,工具会按新规则执行。
4. 误报过滤与优化
工具内置高级误报过滤机制,减少不必要的警告。开发者可进一步优化:
- 在
security-review.md
中添加过滤规则,例如忽略特定文件或模式。 - 使用
allowed_tools
参数限制工具执行的命令,例如:allowed_tools: "Bash(git diff:*),View,GlobTool,GrepTool"
注意事项
- 确保 API 密钥安全存储,避免泄露。
- 定期更新 Claude Code CLI 和 GitHub Action 到最新版本,以获取最新的安全规则和修复。
- 如果遇到
/security-review
失败,确保项目目录是 Git 仓库,且 Claude Code 已正确安装。
应用场景
- 快速开发中的安全检查
开发者在快速迭代代码时,使用 Claude Code Security Review 自动扫描拉取请求,确保新代码不会引入安全漏洞,节省手动审查时间。 - 团队协作中的代码审查
开发团队在 GitHub 工作流程中集成工具,自动为每个拉取请求生成安全报告,帮助团队成员专注于架构问题而非低级漏洞。 - 遗留代码维护
对老旧代码库进行维护时,使用/security-review
命令扫描代码,发现隐藏的安全问题,如过时的加密算法或不安全的权限控制。 - 合规性要求
企业需要满足严格的合规性标准(如 SOC 2、ISO 27001),使用该工具确保代码符合安全规范,生成可追溯的安全审查记录。
QA
- Claude Code Security Review 支持哪些类型的安全漏洞?
工具可检测多种漏洞,包括 SQL 注入、命令注入、跨站脚本攻击(XSS)、权限提升、硬编码密钥、敏感数据泄露、弱加密算法等。它通过语义分析提供更精准的检测结果。 - 如何减少误报?
工具内置误报过滤机制。用户可通过编辑.claude/commands/security-review.md
文件,添加特定规则或忽略某些低优先级问题,进一步优化结果。 - 是否需要特定的编程语言支持?
不需要。工具是语言无关的,适用于任何编程语言,直接分析代码变更的语义。 - 如何在非 Git 仓库中使用
/security-review
?
当前版本要求项目目录为 Git 仓库。如果不是 Git 仓库,需先运行git init
初始化。 - 如何确保 API 密钥安全?
将密钥存储在 GitHub Actions 的加密变量中(ANTHROPIC_API_KEY
),避免在代码或配置文件中硬编码。