写代码的AI越来越多,审代码的人还是那么几个。这道算术题两年来没人算得平。
Anthropic上周在GitHub上开源了一套框架,叫 defending-code-reference-harness。核心逻辑一句话就讲得清楚:把代码扔给Claude,让它帮你找漏洞。项目在Hacker News上拿到395分的热度,评论区也很精彩——有人认真讨论AI审计的可靠性,也有人半开玩笑地问安全工程师是不是该转行了。
但先把争议放在一边,看看这套工具实际在做什么。
框架的核心逻辑不算复杂:它把代码审计拆成几个标准化步骤,然后用Claude来执行每一步的推理。开发者可以把自己写的代码或者第三方依赖的源码提交进去,框架会自动扫描潜在的安全问题,从注入漏洞到权限绕过,再到敏感数据泄露,覆盖了常见的安全风险类别。
Anthropic为什么选在这个时间点开源这个工具,背后的脉络值得琢磨。
就在同一周,The New Stack报道了Anthropic进一步开放Claude Mythos安全测试工具的消息。公司方面在采访中公开表示,"一次成功的攻击可能是灾难性的"——他们指的不仅是传统网络攻击,更包括针对AI系统本身的供应链攻击。大量企业正在把AI生成的代码不经审查就部署到生产环境中,而这个过程的危险程度,用安全从业者的话说,就像闭着眼睛过高速公路。
这不是危言耸听。微软在安全培训材料中专门划出了一个模块来讲AI安全的特殊性。与传统网络安全不同,AI系统面临的是三层架构的威胁:底层基础设施可能被传统手段攻击,中间模型层可能遭遇提示注入、越狱和数据投毒,顶层的应用界面则存在过度代理、权限滥用等问题。最棘手的是,这些攻击面之间的边界越来越模糊——一个看起来无害的提示词,可能通过模型推理链触发预料之外的系统行为。
Anthropic这次开源的工具,瞄准的正是这个链条中最薄弱的一环:代码本身。
过去两年,AI辅助编程工具的普及速度超过了历史上任何一种开发工具。GitHub Copilot、Cursor、Claude Code让写代码的效率翻了倍,但也让输出的代码量急剧膨胀。传统的手动代码审查流程在这些新增代码面前完全不够用。安全团队的人力是固定的,但AI能生成的代码是无限的——这个不等式本身就意味着安全债务在以肉眼可见的速度积累。
"以AI应对AI"正在成为行业共识。IDC在最近一份关于网络安全技术趋势的报告中指出,生成式AI的普及正在"改变网络安全的攻防模式"。企业不仅要利用AI提升安全能力,还必须应对AI带来的新型风险。能生成代码的工具和能审计代码的工具,迟早会被整合进同一个工作流里。
Anthropic的开源框架在技术路线上有几点值得关注。
首先是它采用了"参考版本对比"(reference comparison)的方法。不是凭空分析代码是否安全,而是将待检测的代码与已知的安全实现做对比,找出偏离安全模式的部分。这比纯粹依赖模型判断要可靠得多,因为模型不需要"理解"安全——它只需要识别差异。
其次是框架的设计鼓励社区参与。GitHub仓库里提供了清晰的贡献指南,安全研究人员可以提交新的检测规则、扩展漏洞类型覆盖范围、或者接入其他大模型进行对比测试。开源本身就意味着这套工具的安全审计能力会随社区贡献不断进化,而不是停留在某个公司内部的版本号上。
那么一个绕不开的问题就来了:AI生成的代码,让AI再来审计,这算不算循环自证?
这个担忧确实不算多余。Cloudflare在安全指南中强调过,AI安全需要覆盖"全生命周期"——从初始模型开发到数据训练,再到最终的应用部署。任何一个环节的盲区都可能被利用。如果审核者与被审核者共享同一套知识体系和训练数据,它们很可能共享同样的盲区。
但也正因为如此,开源才显得重要。社区可以在不同模型之间交叉验证,用Claude审计Gemini生成的代码,用社区贡献的规则去检测任何单一模型可能忽略的漏洞。审计能力从单一模型的"自说自话",变成了一个可被外部审视的过程。
回到现实:这套工具对国内开发者意味着什么?
阿里云已经在推自己的"AI安全护栏"服务,覆盖内容审核、提示词攻击防护等场景。华为的安全体系也把AI攻防作为独立模块,针对闪避攻击、后门攻击、模型窃取等主流威胁设计了防御方案。Red Hat和IBM则从更基础的层面定义AI安全:把保密性、完整性和可用性原则融入AI生命周期,不把安全当附加层,而是当基础设施。
但"能用"和"好用"之间还有距离。日常开发中真要把AI代码审计跑起来,几个现实问题绕不过去:审计速度跟得上代码生成的节奏吗?误报率会不会高到让人放弃?最关键的一点——审计报告该怎么用?
最后一个问题的答案,可能比工具本身更重要。代码审计从来不是为了通过检查而做,而是为了让写代码的人养成一种意识:每一行提交出去的代码,都可能成为攻击者眼中的入口。Anthropic的开源框架如果能帮开发者建立起这个意识,它的价值就远不止于发现几个SQL注入漏洞。
Anthropic在项目介绍里用了"defending code"(守护代码),而不是更常见的"securing code"(加固代码)或"auditing code"(审计代码)。措辞的差异大概不是偶然。security是一个状态,defense是一个持续动作。AI写的代码不会自动变得安全,但只要有人愿意持续地审视、修复和反馈,安全就不是一个不可达的目标。
Hacker News上的讨论还带来了一个额外收获——评论区成了一场关于AI代码安全的公开课。有人分享了自己用这个框架发现的生产环境漏洞,有人提出了绕过检测的方法,还有人直接提交了PR来增强某个检测模块。这种互动本身就验证了一件事:用AI对抗AI威胁不是一次性工程,而是需要开源社区共同参与的长期博弈。
对于正在大量引入AI编码工具的团队来说,现在把代码审计纳入日常工作流,时间窗口还没关闭。Anthropic的框架提供了一个低门槛的起点——开源、有文档、有社区支持,接入成本不高。等到安全事件倒逼来临再补课,代价会大得多。
The New Stack报道中引用的那句话值得再重复一遍:"一次成功的攻击可能是灾难性的。"在这个语境下,灾难性的不是漏洞被发现的那一刻,而是发现之后回头审视,发现本来有机会用工具提前找到并修复它,但没有这样做。
Anthropic的框架源码已在GitHub上公开(github.com/anthropics/defending-code-reference-harness),配套的Claude Mythos安全测试工具也在向更多合作伙伴开放申请。The New Stack和Hacker News社区对这两个项目有持续跟进的讨论,安全内参、IDC和微软Learn也提供了关于AI安全体系化建设的补充视角。
夜雨聆风