5 月 26 日晚上, Claude Code 官方账号发了一条推文。说发了一个安全指导插件,能在写代码的时候自动帮你找漏洞、修漏洞。
我把官方文档从头到尾翻了一遍之后,觉得这东西比推文看起来有意思。不是因为它能做什么惊天动地的事——而是因为它把安全审查的节奏,塞进了编码的过程本身。
三层审查,不打扰你
这个插件的核心设计是三个审查层,在不同时间节点做不同深度的检查。

第一层:每次编辑文件时。 模式匹配,零成本。 Claude 写入文件后,插件扫描新增内容里的高风险模式。比如 eval(、os.system、pickle、dangerouslySetInnerHTML、.innerHTML =。还包括 .github/workflows/ 下的文件变更——这类文件能授予仓库级权限,改坏了后果不小。
不做模型调用,纯字符串匹配。每个 pattern 每个文件每场会话只触发一次警告,不会刷屏。
第二层:每轮对话结束时。 你在 Claude Code 里发一条消息, Claude 干完活、回复你,这一轮结束。插件在后台算一个 git diff ,把本轮所有变更(包括 Claude 的编辑、 Bash 命令、子 agent 的操作)发给一个独立的 Claude 实例做安全审查。
它能抓到模式匹配抓不到的东西。越权访问、注入漏洞、 SSRF 、弱加密——这些需要理解代码语义才能判断。审查最多覆盖 30 个变更文件,连续触发不超过 3 次就让出控制权。
第三层:每次 Claude 提交或推送代码时。 这是最深的一层。插件会读取周围的代码——调用方、输入校验、相关文件——然后才判断一个发现是不是真问题。额外上下文让误报率很低,那些看起来危险但在你的代码库里其实安全的模式,不会被报出来。
不过有个限制。每小时最多审查 20 次提交。你自己 shell 里跑的 commit 不会被审查——只有 Claude 通过 Bash 工具执行的才触发。
三层加起来,从轻到重,从快到慢,从不花钱到花 token 。设计思路清楚,但实际效果还得跑几个月才知道——毕竟安全这东西,不出事的时候你永远不知道它到底挡了多少。
一个关键设计:审查者和写代码的不是同一个 Claude

这点值得单独说。
插件的文档里专门解释了审查独立性——它不让写了代码的那个 Claude 实例给自己打分。编辑层是确定性的字符串匹配,压根没有模型参与。轮次层和提交层调用的是一个全新的 Claude 实例,带着独立的上下文和安全专用 prompt 。
换句话说,审查者从 diff 开始,不知道原始方案的设计意图,也没有维护面子的动机。它只有一个指令:找问题。
这个设计不能保证发现所有漏洞。文档原话说得很直白:审查模型可能漏掉问题。把它当深度防御的一层,不当终极解决方案。
你可以加自己的规则
插件有两个扩展点。
一个是 Markdown 指南文件。在项目的 .claude/ 目录下创建 claude-security-guidance.md,用自然语言描述你的威胁模型和审查清单。比如:
-/admin 下的所有路由必须在数据库读取前调用 require_role("admin")
-用 crypto.timingSafeEqual 做 token 比较,不要用 ===
-不要在 INFO 级别及以上记录 customer_id 或 account_number
这些规则会被模型审查层读取,作为内置漏洞清单之外的补充上下文。
另一个是 security-patterns.yaml。这个给第一层(编辑时的模式匹配)加自定义的正则或子串规则。格式很简单:
patterns:
-rule_name:internal_api_key
substrings:["sk_live_","AKIA"]
reminder:"硬编码APIkey前缀,从密钥管理器加载凭据。"
规则文件有三级作用域:用户级(~/.claude/,所有项目生效)、项目级(.claude/,跟着仓库走)、项目本地级(.claude/*.local.md, gitignore 的个人覆盖)。三级都存在的时候会合并加载,合计上限 8KB 。
费用和前置条件
说几个实际的信息。
费用:编辑层零成本。轮次层和提交层各需要额外的模型调用,计入正常的 usage 。提交层是 agentic 的,每次可能花好几轮模型调用。两者都用 Claude Opus 4.7 ,可以通过环境变量换模型(SECURITY_REVIEW_MODEL 和 SG_AGENTIC_MODEL)。所有套餐都能用,不限 Team 或 Enterprise 。
前置条件: Claude Code CLI 2.1.144 以上版本, Python 3.8 以上,当前目录得是个 git 仓库。首次运行会在 ~/.claude/security/ 下创建虚拟环境并安装 Claude Agent SDK ,需要网络访问。安装失败的话,提交层会降级为单次审查而非 agentic 审查。
安装:在 Claude Code 会话里执行 /plugin install security-guidance@claude-plugins-official,选 user scope 就能在本机所有会话生效。云会话和共享仓库需要在项目的 .claude/settings.json 里手动启用。
三层可以独立关闭。ENABLE_PATTERN_RULES=0 关编辑层,ENABLE_STOP_REVIEW=0 关轮次层,ENABLE_COMMIT_REVIEW=0 关提交层。SECURITY_GUIDANCE_DISABLE=1 一键全关。
从编辑到 CI ,拼成一道防线

这个插件不是孤立的。官方文档把它放在了一个四层防御体系里说:
/security-review 命令,对当前分支做一次性安全扫描越后面的层,抓到的是越前面漏掉的。插件的价值不是替代 CI 扫描,而是让到达 CI 的问题数量减少。
说白了,就是把安全左移——从 PR review 往前推到编码时。这词儿在安全圈都快被说烂了,但真正做好了的没几家。
Claude Code 现在有 Code Review 做 PR 阶段的多 agent 审查,又加了这个做会话内的实时扫描。竞品那边, Cursor 和 Windsurf 暂时还没有对标的产品。
当然, AI 生成的代码安全审查这个品类还很新。插件能不能在实际开发中显著降低漏洞率,得看几个月后的反馈。但方向本身——让安全检查变成编码过程的默认动作,而不是发 PR 之后才想起来的事——我觉得是对的。
夜雨聆风