Anthropic 推出的 Claude Security 并不是单一形态产品。按照官方文档,它分为装入 Claude Code 的外插件版,以及仅向 Claude Enterprise 用户提供的托管版,两者在部署方式、使用门槛和支持场景上差异很大。
BlockTempo 在一篇整理文中,对 Claude Security 的安装步骤、扫描流程、六阶段多 agent 工作机制、报告与补丁文件读取方式,以及官方列出的功能限制进行了系统梳理。
Claude Security 分为外插件版与 Enterprise 托管版
文中指出,Claude Security 实际上是两个产品。
外插件版安装在 Claude Code 中,在用户自己的 session 里本机运行,只要使用付费方案即可启用,扫描消耗计入现有方案用量。托管版则由 Anthropic 代管,对接用户连接的 GitHub 仓库进行持续监控,仅限 Claude Enterprise 方案,操作入口位于 claude.ai/security。
如果直接区分两者的使用方式,外插件版更接近“自己动手扫描”,托管版则是“由 Anthropic 持续监看”。文中还提到,如果代码托管在 GitLab、Bitbucket,或者企业网络限制对外连接,外插件版依然可以运行,因为它在本机执行;托管版目前只支持 GitHub,但对应提供排程与持续监控能力。多数个人开发者先接触到的,通常是外插件版。
使用外插件版前的系统与版本要求
在安装前,官方文件列出了几项前提条件。
- Claude Code 版本需要在 v2.1.154 以上,并且用户需要使用付费方案。
- 扫描功能依赖 dynamic workflows。若使用 Pro 方案,需要在 /config 菜单中手动开启。
- 系统 PATH 中需要有 Python 3.9.6 或以上版本,调用命令为 python3,可通过 python3 --version 检查。外插件本身只使用标准函数库。
- 支持的操作系统包括 Linux、macOS 和 Windows。
- git 是变更扫描和补丁生成功能的必要条件,不支持其他版本控制系统;如果是全库扫描,则不受这一限制。
文中提到,最常见的问题通常出在 Python 版本和 PATH 配置上。确认这些条件满足后,才适合进入安装步骤。
安装流程:两条命令完成部署
外插件版的安装步骤相对直接。在 Claude Code 中,首先执行:
/plugin install claude-security@claude-plugins-official
如果系统返回找不到 marketplace,则需要先执行:
/plugin marketplace add anthropics/claude-plugins-official
之后再重新安装。
安装完成后,执行 /reload-plugins,即可在当前 session 中生效,无需重启。若要移除外插件,可以在 /plugin 菜单中卸载,也可以在终端执行 claude plugin uninstall claude-security。
标准扫描流程共有六步
安装完成后,Claude Security 外插件会新增一个命令:/claude-security。这个命令包含三个选项,分别是扫描整个代码库、扫描一组变更,以及生成补丁。
BlockTempo 整理的标准扫描流程分为六步:
- 执行 /claude-security,选择 Scan codebase。
- 外插件先读取仓库,然后给出扫描范围选项,包括整个 repo 或聚焦某个区域;每个选项会标示文件数量和相对成本。如果无法判断范围,可以回答“I don’t know”,让系统依据仓库大小选择默认值。
- 确认执行。系统会提示扫描可能耗时较长、可能消耗大量 token,同时要求 Claude Code 保持开启。
- 扫描期间,每个阶段开始时都会回报状态,细节可在 /workflows 中查看。
- 扫描结束后读取报告。
- 再执行一次 /claude-security,选择 Suggest patches。
文中也提到,用户可以直接使用参数,例如 /claude-security scan my branch,或者用自然语言下达类似“scan commit abc1234”的指令。官方建议在 auto mode 下运行,这样 agent 不需要在每一步都请求权限。
变更扫描适用于 diff、PR 和单个 commit
如果当前分支上存在 base 分支没有的 commit,菜单中会出现仅扫描 해당 diff 的选项。用户也可以扫描一个已经打开的 PR,或者指定单个 commit。
不过,变更扫描只检查已经提交的内容。对于尚未提交的编辑,用户需要先 commit 或 stash,或者改用能够读取工作目录的全库扫描。文中同时说明,变更扫描必须在 git 仓库中进行;如果目录没有版本控制,仍然可以执行全库扫描。
在整个流程里,识别用户已打开的 PR 是唯一需要联网的步骤,而且只有在当前 session 已具备 GitHub CLI 权限、并且 gh 已登录时,这个选项才会出现。
对于大型仓库,官方建议采用分块扫描的方式,比如只检查 API 层或认证相关代码。报告中的 coverage 段落会标明哪些部分已经检查、哪些尚未覆盖,用户之后可以继续扫描另一块区域。
扫描机制:六阶段多 agent 管线
按照官方说法,Claude Security 会先由一组 Claude agent 绘制系统架构、建立威胁模型,再开始寻找漏洞。每一个发现都必须经过独立 verifier agent 审查后,才会进入最终报告。
技术媒体 MarkTechPost 在拆解外插件配置后,将这一流程还原为六个阶段:
- Inventory:将 repo 切分为多个组件。
- Threat Model:逐个组件标出入口点、sink 和信任边界。
- Research:为每个组件分配研究员 agent,按四类漏洞矩阵开展检查。
- Sweep:补查矩阵未覆盖到的盲区。
- Panel:由 3 名独立验证者分别从可达性、影响和防御措施三个角度审查。
- Adversarial:对边缘案例再做一次高强度复验。
这里的四类漏洞矩阵包括:注入与输入、认证与访问、内存与不安全操作、加密与机密。对于 Python、TypeScript 这类内存安全语言,内存相关维度会被跳过。
一个发现必须在 3 名验证者中获得至少 2 票,才会被写入报告;如果 3 票全部通过,才会被标记为 high confidence,获得 2 票则最高为 medium。effort 分级方面,低到中等级别最多处理 12 个组件、每个矩阵格子分配 1 名研究员;高到最高等级别最多处理 24 个组件、每个矩阵格子分配 2 名研究员。文中还提到,Opus 负责总体协调,Sonnet 负责测绘和代码勘查。
扫描结果会写入 CLAUDE-SECURITY 目录
每次扫描结束后,结果会输出到仓库中的一个带时间戳目录,命名格式为 CLAUDE-SECURITY-<timestamp>/。
目录中包含三类主要文件:
- CLAUDE-SECURITY-RESULTS.md:面向人工阅读的报告。每个发现都附带 ID,例如 F1,并列出影响、攻击场景、严重程度、置信度和建议。
- CLAUDE-SECURITY-RESULTS.jsonl:机器可读版本,一行一个 JSON,对应同样内容。
- CLAUDE-SECURITY-REVISION-<commit>.json:修订标记,记录本次扫描对应的 commit、effort 等级,以及是否存在未提交变更;如果不是在版本控制环境中扫描,会标记为 UNVERSIONED。
BlockTempo 表示,这个目录是扫描过程对用户 checkout 做出的唯一修改,并且目录内自带 .gitignore,即使误执行 git add,也不会把报告一起提交进 commit。若用户希望将其作为审计轨迹保留,则可以删除该 .gitignore,再正常提交。
补丁如何生成:先草拟,再复核
如果需要生成补丁,用户可以在 /claude-security 中选择 Suggest patches,也可以直接输入类似“fix finding F3”的命令。
补丁是针对已提交代码生成的,因此报告必须仍然准确对应用户当前持有的代码状态。如果相关代码已经发生变化,外插件会跳过该发现,并说明原因,建议用户重新扫描,而不会对过期报告强行给出补丁。
每份补丁会先在仓库的临时副本中草拟,用户原始文件在正式套用前不会被修改。交付前还会由另一名 agent 进行复核:如果项目带有测试,就会运行测试;同时也会检查 diff,确认没有引入新的问题。
只有当复核能够同时确认以下三点时,系统才会生成补丁:
- 修复了该条发现;
- 没有引入新的漏洞;
- 其他行为保持不变。
只要其中任意一点无法确认,用户拿到的就不是补丁,而是一份简短说明,解释为什么这次不会生成 patch。
补丁文件会放在 patches/ 目录中,命名形式为一个发现对应一个 F<n>.patch。应用命令为:
git apply CLAUDE-SECURITY-<timestamp>/patches/F1.patch
官方原则是补丁永远不会自动应用,并建议每个 patch 单独开一个 PR。对于没有测试的代码,patch 说明里会明确写出“这次复核没有跑过测试”。
Enterprise 托管版的开通条件更高
与外插件版相比,Claude Security Enterprise 托管版的门槛更高。文中列出的条件包括:
- 需要 Claude Enterprise 账号;
- 启用 Claude Code on the Web;
- 打开 Extra Usage,并设置支出上限;
- 安装 Anthropic GitHub App,并授权目标仓库;
- 执行扫描的成员需要 premium 席位,一般席位不包含 Claude Code on the Web。
其开通流程依次为:确认 Extra Usage 已启用且支出上限合理;确认 GitHub App 已安装并拥有仓库权限;确认团队成员具备 premium 席位;由管理员在 claude.ai/admin-settings/claude-security 开启功能;再到 claude.ai/security 选择目标仓库。如果是大型仓库,官方建议先限制目录或分支范围,再启动扫描并查看结果。
在托管版中,发现结果会显示漏洞类型、严重程度、文件与行号。点击 Open a remediation session,可以打开一个围绕该问题的专用 session;如果判断为误报,也可以填写理由进行驳回。
官方给出的使用建议包括:每个团队建立一个 Project、每周固定扫描一次、扫描强度选择 Regular 或 Extended、将发现导出为 CSV 或 Markdown、设置 webhook 并接入 Slack 与 Jira、对于 monorepo 仅扫描指定子目录,以及由管理员使用自定义角色实现 RBAC。
官方主打“理解上下文”,但未公布准确率数据
Anthropic 在产品页面中将 Claude Security 描述为“Claude reasons through your code like a skilled security researcher”,强调其能够理解代码上下文、跟踪跨文件数据流,并识别规则匹配工具容易漏掉的复杂多组件漏洞。
官方也表示,每一条发现都经过一次对抗式验证,目的是提高真实问题的发现率并减少误报。
不过,BlockTempo 同时提醒,这些说法均来自官方自述。Anthropic 尚未公布误报率、准确率或基准测试分数等量化数据,因此在评估是否导入时,这一点仍需单独留意。
根据文中整理,官方重点覆盖的高严重度问题类型包括内存损坏、注入缺陷、认证绕过,以及必须结合多文件上下文才能识别的逻辑错误。在集成层面,已明确支持通过 webhook 将发现推送到 Slack 和 Jira,报告可以导出为 CSV 或 Markdown,支持排程扫描、限制目录范围,误报驳回记录也会被保留。

