@IceSolst: Claude code 的 /security-review 只是一个 Skill,整个提示都在这个 repo 里。它相当通用,在我看来,你可以针对每个仓库和你扫描的语言进行定制以获得更好的效果…

X AI KOLs Timeline 工具

摘要

Anthropic 为 Claude Code 发布了一个官方 GitHub Action,可在拉取请求上提供由 AI 驱动的安全审查,具有可定制的提示和差异感知扫描功能。

Claude code 的 /security-review 只是一个 Skill,整个提示都在这个 repo 里 它相当通用,在我看来,你可以针对每个仓库和你扫描的语言进行定制以获得更好的效果 https://t.co/1a4puZSASL
查看原文
查看缓存全文

缓存时间: 2026/05/25 02:40

Claude code 的 /security-review 只是一个 Skill,其完整提示词就在这个仓库里。它相当通用,我个人认为你可以根据每个仓库和扫描的语言进行定制,以获得更好的结果。https://t.co/1a4puZSASL


anthropics/claude-code-security-review

来源:https://github.com/anthropics/claude-code-security-review

Claude Code 安全审查器

一款由 Claude 驱动的 AI 安全审查 GitHub Action,用于分析代码变更中的安全漏洞。该 Action 利用 Anthropic 的 Claude Code 工具对拉取请求进行智能、上下文感知的安全分析,实现深层语义安全审查。更多详情请参阅我们的博文:https://www.anthropic.com/news/automate-security-reviews-with-claude-code

特性

  • AI 驱动的分析:利用 Claude 的高级推理能力,通过深层语义理解检测安全漏洞
  • 差异感知扫描:对于 PR,仅分析变更的文件
  • PR 评论:自动在 PR 上评论安全发现
  • 上下文理解:超越模式匹配,理解代码语义
  • 语言无关:适用于任何编程语言
  • 误报过滤:高级过滤减少噪音,聚焦真实漏洞

快速开始

将以下内容添加到仓库的 .github/workflows/security.yml 文件中:

name: Security Review
permissions:
  pull-requests: write # 需要用于留下 PR 评论
  contents: read
on:
  pull_request:
jobs:
  security:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          ref: ${{ github.event.pull_request.head.sha || github.sha }}
          fetch-depth: 2
      - uses: anthropics/claude-code-security-review@main
        with:
          comment-pr: true
          claude-api-key: ${{ secrets.CLAUDE_API_KEY }}

安全考虑

此 Action 未针对提示注入攻击进行加固,仅应用于审查受信任的 PR。建议配置您的仓库(https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#controlling-changes-from-forks-to-workflows-in-public-repositories),启用“要求所有外部贡献者获得批准“选项,以确保工作流仅在维护者审查 PR 后运行。

配置选项

Action 输入

输入描述默认值必需
claude-api-keyAnthropic Claude API 密钥,用于安全分析。注意:此 API 密钥需同时启用 Claude API 和 Claude Code 使用。
comment-pr是否在 PR 上评论发现true
upload-results是否将结果上传为工件true
exclude-directories逗号分隔的目录列表,扫描时排除
claude-model使用的 Claude 模型名称(https://docs.anthropic.com/en/docs/about-claude/models/overview#model-names)。默认为 Opus 4.1。claude-opus-4-1-20250805
claudecode-timeoutClaudeCode 分析超时时间(分钟)20
run-every-commit每次提交都运行 ClaudeCode(跳过缓存检查)。警告:在包含多次提交的 PR 上可能增加误报。false
false-positive-filtering-instructions自定义误报过滤说明文件的路径
custom-security-scan-instructions自定义安全扫描说明文件的路径,将附加到审计提示中

Action 输出

输出描述
findings-count安全发现总数
results-file结果 JSON 文件的路径

工作原理

架构

claudecode/
├── github_action_audit.py   # 用于 GitHub Actions 的主审计脚本
├── prompts.py               # 安全审计提示模板
├── findings_filter.py       # 误报过滤逻辑
├── claude_api_client.py     # 用于误报过滤的 Claude API 客户端
├── json_parser.py           # 健壮的 JSON 解析工具
├── requirements.txt         # Python 依赖
├── test_*.py                # 测试套件
└── evals/                   # 用于在任意 PR 上测试 CC 的评估工具

工作流

  1. PR 分析:当拉取请求打开时,Claude 分析 diff 以了解变更内容
  2. 上下文审查:Claude 在上下文中检查代码变更,理解其目的和潜在安全影响
  3. 发现生成:识别安全问题,并附带详细说明、严重性评级和修复指导
  4. 误报过滤:高级过滤移除低影响或易误报的发现,减少噪音
  5. PR 评论:发现结果以审查评论的形式发布在具体的代码行上

安全分析能力

检测的漏洞类型

  • 注入攻击:SQL 注入、命令注入、LDAP 注入、XPath 注入、NoSQL 注入、XXE
  • 身份验证与授权:身份验证失效、权限提升、不安全的直接对象引用、绕过逻辑、会话缺陷
  • 数据泄露:硬编码密钥、敏感数据日志记录、信息泄露、PII 处理违规
  • 加密问题:弱算法、密钥管理不当、不安全的随机数生成
  • 输入验证:验证缺失、清理不当、缓冲区溢出
  • 业务逻辑缺陷:竞态条件、检查时间与使用时间(TOCTOU)问题
  • 配置安全:不安全的默认设置、安全头缺失、宽松的 CORS
  • 供应链:脆弱的依赖项、软件包名混淆风险
  • 代码执行:通过反序列化实现远程代码执行(RCE)、pickle 注入、eval 注入
  • 跨站脚本(XSS):反射型、存储型及基于 DOM 的 XSS

误报过滤

该工具自动排除多种低影响及易产生误报的发现,以聚焦高影响力漏洞:

  • 拒绝服务(DoS)漏洞
  • 速率限制问题
  • 内存/CPU 耗尽问题
  • 没有明确影响的通用输入验证
  • 开放重定向漏洞

误报过滤也可根据项目安全目标进行调整。

与传统 SAST 相比的优势

  • 上下文理解:理解代码语义和意图,而不仅仅是模式
  • 更低的误报率:AI 驱动的分析通过理解代码实际是否易受攻击来减少噪音
  • 详细解释:清晰说明为什么某处是漏洞以及如何修复
  • 自适应学习:可根据组织特定的安全要求进行定制

安装与设置

GitHub Actions

请遵循上述快速开始指南。该 Action 会自动处理所有依赖。

本地开发

要在本地针对特定 PR 运行安全扫描器,请参阅评估框架文档

Claude Code 集成:/security-review 命令

默认情况下,Claude Code 内置了 /security-review 斜杠命令(https://docs.anthropic.com/en/docs/claude-code/slash-commands),该命令提供与 GitHub Action 工作流相同的安全分析能力,但直接集成到您的 Claude Code 开发环境中。要使用它,只需运行 /security-review 即可对所有待定变更执行全面的安全审查。

自定义命令

默认的 /security-review 命令在大多数情况下都能很好地工作,但也可以根据您的特定安全需求进行自定义。操作方法如下:

  1. 将此仓库中的 security-review.md 文件(https://github.com/anthropics/claude-code-security-review/blob/main/.claude/commands/security-review.md?plain=1)复制到您项目的 .claude/commands/ 文件夹中。
  2. 编辑 security-review.md 以自定义安全分析。例如,您可以在误报过滤说明中添加额外的组织特定指示。

自定义扫描配置

还可以配置自定义的扫描和误报过滤说明,更多详情请参阅 docs/ 文件夹。

测试

运行测试套件以验证功能:

cd claude-code-security-review
# 运行所有测试
pytest claudecode -v

支持

如有问题或疑问:

  • 在此仓库中提交 issue
  • 查看 GitHub Actions 日志(https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history)以获取调试信息

许可证

MIT 许可证 - 详情请参见 LICENSE 文件。

相似文章