随着开发人员越来越依赖 AI 来加快交付速度并构建更复杂的系统,确保代码安全变得愈发重要。这些新功能可让您将安全审查集成到现有工作流程中,从而帮助您在漏洞影响生产环境之前将其捕获。
从终端检查代码是否存在漏洞
新的 /security-review 命令允许您在提交代码之前从终端运行临时安全分析。在 Claude Code 中运行该命令,Claude 将搜索您的代码库以查找潜在漏洞,并对发现的任何问题提供详细的解释。
此命令使用专门的以安全为中心的提示来检查常见的漏洞模式,包括:
- SQL注入风险
- 跨站点脚本 (XSS) 漏洞
- 身份验证和授权缺陷
- 不安全的数据处理
- 依赖漏洞
Claude Code推出了自动化安全审查功能,带来了两个核心能力:
1、可以直接在终端运行的/security-review命令
> /security-review
I'll help you perform a security review of your web application. Let me start by understanding the codebase structure and then conduct a comprehensive security analysis.
2、自动审查每个PR的GitHub Actions集成:
您还可以要求 Claude Code 在发现每个问题后实施修复。这样可以将安全审查保留在您的内部开发循环中,以便在问题最容易修复时尽早发现它们。
自动对新的拉取请求进行安全审查
GitHub 上针对 Claude Code 的新操作使安全审查更进一步,它会在每个拉取请求打开时自动进行分析。配置完成后,该操作将:
- 新的拉取请求自动触发
- 审查代码更改是否存在安全漏洞
- 应用可自定义的规则来过滤误报和已知问题
- 在 PR 上发布对发现的任何问题的评论,包括修复建议
这将在整个团队中创建一致的安全审查流程,确保所有代码在未经基线安全审查的情况下都不会投入生产。该操作与您现有的 CI/CD 流水线集成,并可根据您团队的安全策略进行定制。
一、将其添加到您的存储库
.github/workflows/security.yml
name: Security Review
permissions:
pull-requests: write # Needed for leaving PR comments
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 }}
检测到的漏洞类型
- 注入攻击:SQL 注入、命令注入、LDAP 注入、XPath 注入、NoSQL 注入、XXE
- 身份验证和授权:身份验证失败、权限提升、不安全的直接对象引用、绕过逻辑、会话缺陷
- 数据泄露:硬编码机密、敏感数据记录、信息泄露、PII 处理违规
- 加密问题:算法弱、密钥管理不当、随机数生成不安全
- 输入验证:缺少验证、不正确的清理、缓冲区溢出
- 业务逻辑缺陷:竞争条件、检查时间-使用时间(TOCTOU)问题
- 配置安全性:不安全的默认值、缺少安全标头、宽容的 CORS
- 供应链:脆弱的依赖关系、域名抢注风险
- 代码执行:通过反序列化、pickle 注入、eval 注入进行 RCE
- 跨站点脚本 (XSS):反射型、存储型和基于 DOM 的 XSS
误报过滤
该工具会自动排除各种影响较小且容易出现误报的发现,而将重点放在影响较大的漏洞上:
- 拒绝服务漏洞
- 速率限制问题
- 内存/CPU 耗尽问题
- 通用输入验证,无明显影响
- 开放重定向漏洞
还可以根据给定项目的安全目标的需要调整误报过滤。
相较于传统 SAST 的优势
- 上下文理解:理解代码语义和意图,而不仅仅是模式
- 降低误报率:人工智能分析通过了解代码何时真正易受攻击来减少噪音
- 详细解释:提供关于为什么某个东西是漏洞以及如何修复它的清晰解释
- 自适应学习:可根据组织特定的安全要求进行定制