Claude Code 出安全插件了:AI 写代码的安全网,终于有人正经做了

你必须非常努力,才能看起来毫不费力!

微信搜索公众号[ AGIPlayer ],一起From Zero To Hero !

Anthropic 发布 security-guidance 插件,三层防线实时拦截 AI 编码安全漏洞,内部数据:PR 安全评论减少 30-40%。


5 月 26 号,Anthropic 的开发者账号 @ClaudeDevs 发了一条推,7,500 多个赞,6,400 多个收藏------

"We've shipped a security-guidance plugin for Claude Code that helps identify and fix vulnerabilities as you're writing code."

就这么一句话,配了一个 28 秒的演示视频。

说实话,我看到的第一反应不是"哇好酷",而是------终于有人正经做这件事了。

视频来源:x.com/ClaudeDevs/...


一. AI 写代码的安全焦虑,不是杞人忧天

先说个让我后怕的事。

前阵子用 Claude Code 写一个内部服务的接口,让它加个查询逻辑。Claude 噼里啪啦写完了,我扫了一眼,功能没问题,commit 了。第二天 Code Review 的时候,同事指出------查询没做权限校验,任何登录用户都能拉到全量数据。

这不是 Claude 的 bug,是我让它"加查询"的时候,压根没提权限的事。AI 不会主动帮你补全你没说的安全逻辑。

这就是 Vibe Coding 的核心矛盾:你越信任 AI 的编码能力,就越容易忽略它不懂你的安全上下文。它写得快,但它不知道你的系统里哪些数据是敏感的、哪些接口必须鉴权、哪些输入必须过滤。

而大部分人用 AI 写代码的姿势就是------写完,扫一眼,过了。

这个安全插件,就是给这个"扫一眼"加一层机器审核。


二. 三层防线:从正则到 Agent,越深越准

这个插件的设计,我觉得挺讲究的。不是简单地把代码扔给模型说"帮我看看有没有问题",而是分了三个层次,每层的深度和成本不一样。

Security Guidance Plugin 三层审查架构

第一层:Pattern Match------正则扫描,零成本

每次 Claude 编辑文件的时候,插件会用正则匹配扫描新写入的内容。不调模型,零 API 开销,纯字符串匹配。

它关注的是那些"一看就知道危险"的模式:

  • eval(new Functionos.systemchild_process.exec------动态代码执行
  • pickle------不安全的反序列化
  • dangerouslySetInnerHTML.innerHTML =document.write------DOM 注入
  • .github/workflows/ 下的文件修改------CI/CD 权限风险

这一层的好处是快,而且免费。坏处是只能抓已知模式,遇到稍微隐蔽的漏洞就无能为力了。

但你想,光是抓 eval(pickle 这类,就已经能挡掉不少低级错误了。

第二层:Diff Review------模型审查,每轮结束

每一轮对话结束的时候(你发一条消息,Claude 干活回复,这是一轮),插件会算一个 git diff,把这一轮所有文件的变更发给一个独立的 Claude 实例做安全审查。

注意,是独立的实例。不是让写代码的那个 Claude 自己审自己,而是另起一个 Claude,从 diff 出发,带着安全审查的 prompt 来看你的改动。

这一层能抓到正则抓不到的东西:权限绕过、不安全的直接对象引用(IDOR)、注入、SSRF、弱加密......

审查在后台跑,不阻塞 Claude 的回复。如果发现了问题,Claude 会在下一轮自动修复。

每个会话最多连续触发 3 次修正,不会无限循环。

第三层:Agentic Review------深度审查,每次提交

当 Claude 通过 Bash 工具执行 git commitgit push 的时候,插件会启动一个更深的审查。这个审查是 Agent 式的------它会读取周围的代码,包括调用方、输入过滤、相关文件,来判断一个看起来危险的调用在你这个项目里是不是真的有问题。

这一层的设计很关键。因为很多代码单独看是危险的,但在具体上下文中是安全的。比如你有一个 eval,但它的输入已经经过了白名单过滤。如果只看 diff 会误报,但 Agent 能读到过滤逻辑,判断这是安全的。

这层把误报率压下来了。但代价是每次 commit 会多花一些 token(用的默认是 Opus 4.7),每小时最多触发 20 次。


三. 安装和使用,三行命令搞定

Security Guidance Plugin 安装流程

前提条件很简单:Claude Code CLI 版本 ≥ 2.1.144,Python 3.8+,工作目录是个 git 仓库。

安装就一行:

bash 复制代码
/plugin install security-guidance@claude-plugins-official

选个 scope(推荐 user scope,这样所有项目都生效),然后:

bash 复制代码
/reload-plugins

完事了。没有额外配置,没有单独的命令要记。插件装上就自动跑,你正常用 Claude Code 写代码就行。

如果你要在团队或者 Cloud Session 里启用,可以在项目的 .claude/settings.json 里加:

json 复制代码
{
  "enabledPlugins": {
    "security-guidance@claude-plugins-official": true
  }
}

这样 clone 仓库的同事也能自动用上。管理员还可以在 managed settings 里组织级启用。


四. 能自定义规则,这才是重点

光靠内置的通用安全规则,肯定不够。每个项目都有自己的安全上下文,AI 不可能凭空猜到。

这个插件给了两个扩展点:

给模型审查加规则:claude-security-guidance.md

在项目根目录的 .claude/ 下放一个 Markdown 文件,用自然语言写你的安全规则。比如:

markdown 复制代码
# 安全规则

- `/admin` 下的所有路由必须调用 `require_role("admin")` 后才能读数据库
- 不要在 INFO 及以上日志级别记录 `customer_id` 或 `account_number`
- Token 比较必须用 `crypto.timingSafeEqual`,不能用 `===`

这些规则会被注入到模型审查的 prompt 里,作为额外的上下文。插件发现违规会报告给 Claude 让它修,但不会硬性阻止写入------它是指南,不是强制。

给正则扫描加规则:security-patterns.yaml

yaml 复制代码
patterns:
  - rule_name: internal_api_key
    substrings: ["sk_live_", "AKIA"]
    reminder: "Hardcoded API key prefix. Load credentials from the secret manager."
  - rule_name: tenant_unfiltered_query
    regex: "\\.objects\\.all\\(\\)"
    paths: ["**/src/tenants/**"]
    reminder: "Multi-tenant code must filter by org_id."

支持正则和子串匹配,还能用 pathsexclude_paths 做文件路径过滤。最多 50 条自定义规则。

这两个扩展点的设计我觉得很聪明:claude-security-guidance.md 用自然语言,适合写策略性的规则;security-patterns.yaml 用正则,适合写确定性的硬规则。一个灵活一个精准,互补。


五. 30-40% 的 PR 安全评论减少,意味着什么?

Anthropic 在推文里说了一个数据:内部推广后,使用插件的 PR,安全相关评论减少了 30-40%。

Anthropic 内部基准测试:PR 安全评论减少 30-40%

这个数字需要一些解读。

首先,它说的是"安全相关的 PR 评论"减少了,不是说安全问题减少了 30-40%。这两件事不一样------安全评论减少,可能是因为问题在写代码的阶段就被修掉了,也可能是因为安全审查在更早的阶段做了过滤。不管是哪种,对 Code Reviewer 来说都是好事,因为他们的精力可以集中在更复杂的问题上。

其次,这只是 Anthropic 内部的数据。他们自己的代码库和开发流程有特殊性,不能直接推广到所有团队。但作为一个参考指标,30-40% 已经说明这不是纯摆设了。


六. 它在整个安全体系里的位置

这个插件不是万能的,Anthropic 自己也说了:"Treat the plugin as one layer of defense in depth, not a complete security solution."

它在一个完整的安全体系里,处于最早的位置:

Security Guidance Plugin 在纵深防御体系中的位置

阶段 工具 覆盖范围
编码中 Security Guidance Plugin 常见漏洞,同一会话修复
按需 /security-review 命令 一次性安全审查
PR 阶段 Code Review(多 Agent) 全代码库上下文的安全+正确性审查
CI 阶段 SAST/DAST/依赖扫描 语言特定规则、供应链检查、策略执行

每一层抓住前面漏掉的。插件的价值在于减少到达后面几层的问题量,而不是替代它们。


七. 背后的技术:完全基于 Hooks

这个插件最让我觉得有意思的一个细节------它完全是用 Claude Code 的 Hooks 机制构建的,没有任何特殊的内部 API。

Security Guidance Plugin 注册的 Hook 事件

它注册了这些 Hook:

Hook 事件 用途
SessionStart 初始化 Python 虚拟环境
UserPromptSubmit 捕获工作区基线,用于后续 diff
PostToolUse(Edit/Write/NotebookEdit) 正则扫描
Stop 每轮结束的 diff 审查(后台运行)
PostToolUse(Bash,过滤 git commit/push) 提交审查(后台运行)

这意味着你也可以用同样的 Hooks 机制构建自己的审查插件。Anthropic 把这个插件的源码放在了 GitHub 上,作为"从 Hook 调用模型并回传结果"的工作示例。


八. 成本、限制和我的判断

成本

第一层正则扫描不调模型,零成本。第二层 diff 审查和第三层 commit 审查会消耗额外的 token,默认用的是 Opus 4.7。你可以通过环境变量切换模型:

  • SECURITY_REVIEW_MODEL:控制 diff 审查用的模型
  • SG_AGENTIC_MODEL:控制 commit 审查用的模型

如果你觉得 Opus 太贵,可以换成 Sonnet 省点钱。如果你想要更高的召回率,可以开 SG_DUAL_OR=on,并行跑两次审查合并结果,但成本翻倍。

限制

  • 不阻止写入,只报告发现。安全审查结果是建议,不是强制的
  • 模型审查可能漏掉漏洞,也可能误报
  • claude-security-guidance.md 的规则是指南不是护栏------写了"忽略 XX 漏洞类型"并不会真正抑制那类发现
  • 只有 Claude 触发的 commit 会被审查,你自己 shell 里跑的 git commit 不会
  • 首次运行会创建 Python 虚拟环境并安装 Claude Agent SDK,需要 pip 和网络

我的判断

先说结论:这个插件值得装,但不要把它当成安全审查的终点。

技术判断: 三层递进的设计是当前 AI 安全工具里最合理的架构。正则做快筛、模型做语义审查、Agent 做上下文判断------每一层弥补上一层的短板。特别是第三层的 Agent 式审查能读周围代码来判断是否误报,这个设计比纯静态分析高明。

实践判断: 对我来说最大的价值不是它能抓多少漏洞,而是它让"安全审查"这件事从"写完再检查"变成了"边写边检查"。以前用 AI 写代码,安全审查总是后置的------写完代码、提交 PR、等 Reviewer 看。现在 Claude 写完一段代码,马上就能收到安全反馈,在同一个会话里修掉。这个从"后置"到"即时"的转变,比具体能抓多少种漏洞重要得多。

坦诚补充: 我还没有在大型生产项目里用这个插件跑过完整流程。上面的判断基于官方文档、源码和 Anthropic 的内部数据。实际效果可能因代码库、语言、模型版本不同而有差异。


九. 一些值得关注的细节

  • 所有计划都可用:不是 Team/Enterprise 专属,Pro 和 Individual 也能用
  • 可以按层关闭 :通过环境变量单独关掉某一层,比如 ENABLE_PATTERN_RULES=0
  • 完全卸载也很简单/plugin uninstall security-guidance@claude-plugins-official
  • 日志在 ~/.claude/security/log.txt:排查问题的时候先看这个
  • 如果你想要硬性阻止 :得配合 Hook 的 PreToolUse 事件来做,插件本身不做阻止

最后说两句

AI 写代码这件事,发展速度远超安全工具的跟进速度。现在大家都在卷模型编码能力------Aider、Cursor、Claude Code、Codex------但很少有人认真想"写出来的代码安不安全"这个问题。

Anthropic 这次做的,不是什么技术突破,而是一个很务实的工程决策:在 AI 写代码的流程里嵌入安全审查,让安全问题在产生的时刻就被发现,而不是等到 Code Review 甚至上线之后。

这不是什么"AI 替代安全工程师"的故事。它更像是------你团队里多了一个人,不写代码,专门在你写代码的时候盯着你说"嘿,这里有个 eval,你确定安全吗?"

说实话,这种搭档,我挺需要的。


参考资料


话题标签:#ClaudeCode #AI安全 #SecurityGuidance #Anthropic #AI编程 #VibeCoding #安全审查

相关推荐
逻辑君1 小时前
Foresight研究报告【20260006】
人工智能·物理
hughnz1 小时前
从数据到决策:大语言模型在钻井中的潜力
人工智能·语言模型·自然语言处理
Deepoch1 小时前
Deepoc数学大模型:重塑半导体研发与制造的核心算法范式
人工智能·算法·机器学习·半导体·deepoc·数学大模型
哦哦~9211 小时前
AI 赋能复合材料力学:机器学习、PINN 与多尺度仿真实战
人工智能·机器学习·复合材料
明月_清风1 小时前
Base64:用 33% 的体积膨胀,买一张在文本世界通行的门票
后端
咖啡星人k1 小时前
MonkeyCode 新手极速入门与实战指南
人工智能
十六年开源服务商1 小时前
2026商务拓展:WordPress网站建设方案全解析
人工智能
得物技术1 小时前
HorizonVault 技术深潜:如何在 HDD 上做出 100GB/s+ 级大吞吐分布式存储|得物技术
大数据·后端·kafka
码不停蹄的玄黓1 小时前
SpringBoot 自动装配原理
java·spring boot·后端