Anthropic 为其开发工具"Claude Code"发布了利用 AI 扫描代码漏洞的测试版插件"Claude Security"。只需在终端输入 /claude-security,多个智能体便会检查整个代码库或一批改动,再把发现的问题整理成候选补丁文件。它的设计目标是把安全检查融入日常开发流程,从提交前的快速查看到对整个代码库的正式审计,都不打断你的开发节奏。
从终端调用三种任务
Claude Security 在已经打开的 Claude Code 会话中运行。输入 /claude-security 会打开一个包含三种任务的菜单。
"Scan codebase"检查整个代码库或其中限定的一部分。"Scan changes"只检查某个分支的差异、拉取请求的差异或单次提交。"Suggest patches"则把扫描列出的问题转换成 .patch 文件。由于它使用你本就在运行的 Claude 推理,无需切换到另一款扫描器。
从 Anthropic 官方市场安装只需两条命令:
/plugin install claude-security@claude-plugins-official
/reload-plugins
若找不到市场,请先运行 /plugin marketplace add anthropics/claude-plugins-official。插件源码在 claude-plugins-official 仓库公开,撰稿时的版本为 0.10.0。
由六个阶段的多智能体完成检查
扫描本身被构建为把工作分派给多个子智能体的动态工作流,分为六个阶段。"Inventory"把代码库按组件切分;"Threat model"梳理各组件的入口点、汇聚点与信任边界;"Research"逐一调查;"Sweep"补上遗漏;"Panel"从三个角度进行验证;仅在最高强度下才执行的"Adversarial"再对幸存的候选发起攻击。
调查按四个类别进行:injection-and-input(输入与注入)、auth-and-access(认证与访问)、memory-and-unsafe(内存安全)、crypto-and-secrets(加密与机密信息)。对于完全用 Python、TypeScript 等内存安全语言编写的组件,会去掉内存相关的角度,改为三个角度。
处理规模可在 low、medium、high、max 四档间调整。组件上限从 low 与 medium 的 12 提升到 high 与 max 的 24,调查人数也在 high 及以上从 1 人增至 2 人。当差异较小时,流程会压缩为单人配置,使评估与目标规模相称。智能体按角色分配模型:统筹者由 Opus 担任,代码库测绘与只读探索由 Sonnet 负责,扫描用的智能体被限制为只读工具。
先经过验证再写入报告
Claude Security 值得关注的一点,是它写入报告的门槛之严。候选问题不会因为"被发现了"就进入报告。三名彼此独立的验证者分别就 REACHABILITY(可达性)、IMPACT(影响)、DEFENSES(防御)作出判断,判定问题是真实存在还是误报,并指出起决定作用的那一行。只有三票中有两票一致,问题才会保留;若凑不齐三票,则完全不予保留。只有三票一致时才能把置信度上限提到"high",二比一时则以"medium"封顶。
这项计票由撰写报告的程序在代码层面完成,而不是由给出问题的模型自行断言。只有当投票记录能证明每一条结论都经过验证时,该次运行才会被标记为"已验证";否则会附上理由记为"未验证"。这让报告对自身严谨程度的说法,成为可以核对而非只能相信的东西。
每次扫描都会向一个带时间戳的文件夹写入三种产物:供人阅读的报告、每行一条结论的 JSON 列表,以及记录扫描了哪次提交、强度如何的修订戳。报告中的每一条都带有标识符、严重程度、置信度、CWE 编号、问题所在的确切行以及假想的攻击场景。该文件夹自带 .gitignore,以免一次误用的 git add 把报告混入提交。
修复只到补丁建议,是否应用由人决定
修复补丁是在代码库的一次性克隆中生成的,因此绝不触碰你的工作树与暂存区。由与编写补丁者不同的另一个智能体审查差异,并运行项目自带的测试。
只有当验证者能有把握地声明"只修复了这一个问题""没有引入新的漏洞""其余行为保持不变"这三点时,才会写出补丁文件。代码所接受的输入发生变化也算行为变化;任何一边声称修复、一边削弱安全性的改动,例如放松认证检查或停用测试,都会被自动否决。当无法满足这些条件时,你得到的不是补丁,而是一段说明原因的简短备注。生成的补丁不会自动应用,开发者需用 git apply 手动应用,Anthropic 建议每个补丁通过各自独立的拉取请求合入。
使用条件与注意点
使用需要付费方案,以及 Claude Code v2.1.154 或更高版本,并在设置中启用动态工作流。此外还需要能以 python3 调用的 Python 3.9.6 或更高版本,以及用于改动扫描和打补丁的 Git。支持 Linux、macOS 与 Windows,扫描会计入你方案的令牌额度。
由于扫描在你的会话中、以你的权限运行,它本身不提供任何隔离。已提交的设置与钩子照样生效,因此 Anthropic 提醒,在扫描来路不明的代码前,应先用其他方式将其沙盒化。结果每次并不完全相同,该工具被定位为对传统静态分析、依赖扫描与人工审查的补充,而非替代。
总结
Claude Security 是一款在 Claude Code 会话内运行、由六阶段多智能体完成检查、只报告通过三角度验证问题的漏洞扫描插件。计票在代码层面完成,运行是否经过验证也留有记录。修复仅止于补丁建议,是否应用始终由人决定。既能从终端轻松融入日常开发,又通过相应设计让报告的严谨程度事后可核对,这有望成为它区别于其他工具的地方。
