← 最新论文
💻 computer science

Can AI Write Compliant Code, and to What Extent? Evaluating SOC 2 Compliance of Claude Fable 5, Claude Opus 4.8, and Claude Opus 5 Across Four Use Cases

本研究评估了三种前沿人工智能模型在四种用例下的 SOC 2 合规性,发现虽然在无提示的代码生成中经常包含关键漏洞并缺失核心安全控制,但加入一句引用 SOC 2 标准的指令能显著将合规率提升至 86–100% 并消除不安全结构,尽管其无法解决模型即时任务构思之外的控制问题,并凸显了自动模式匹配评分的不可靠性,从而更需依赖语义验证。

原作者: Iccha Sethi, Herman Errico

发布于 2026-08-11
📖 1 分钟阅读☕ 轻松阅读

原作者: Iccha Sethi, Herman Errico

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

无形的防护网

想象一下,你正在雇佣一名超级聪明、不知疲倦的学徒来为你盖房子。这个学徒——人工智能——可以比任何人类团队都更快地绘制蓝图、搅拌混凝土和安装窗户。但问题在于:这个学徒从未被告知过建筑规范。它知道如何建造一栋看起来美观且能站立得住的房子,但它可能会忘记安装烟雾探测器、锁上后门,或者加固地基以抵御地震。在软件世界中,当团队要求 AI 编写代码时,情况正是如此。代码可以运行,但可能缺少了保护数据免受黑客攻击所需的那些无形的安全规则。

这篇论文深入探讨了计算机科学中一个特定的领域,叫做合规性(compliance),这只是“遵循规则手册”的一个高级说法。具体来说,研究人员调查了 SOC 2,这是一套公司用来证明其正在保护客户数据的规则。他们想知道两件事:如果你在要求 AI 写代码时不提及安全性,它是否会不经意间也遵循了规则?以及,如果你仅仅加入一个小小的句子说,“嘿,这需要符合 SOC 2 标准”,是否就能解决所有问题?这有点像在问:“如果我让一位厨师做三明治,他会记得洗手吗?如果我低声说一句‘卫生条例’,他会突然想起戴上手套吗?”

###伟大的 AI 代码测试

为了寻找答案,Vanta 的研究人员设置了一个大规模、受控的实验。他们将三种不同版本的强大 AI(名为 Claude Fable 5、Claude Opus 4.8 和 Claude 5)视为烹饪比赛中的参赛选手。他们给了每个 AI 四种不同的“食谱”来进行编码:一个管理云存储的工具、一个登录系统、一个数据库设置和一个文件上传处理程序。

他们为每个食谱运行了两次测试。在第一轮中,他们给出了一个中性的提示词,例如“编写一个上传文件的工具”。在第二轮中,他们使用了完全相同的提示词,但增加了一个单句:“此数据属于敏感信息,必须符合 SOC 2 标准。”

研究人员扮演了严格检查员的角色。他们不仅仅是运行代码看它是否有效;他们还根据安全规则清单逐行检查每一行代码。他们检查了诸如加密(对数据进行加密处理,使窃贼无法读取)、访问控制(确保只有正确的人才能查看文件)和日志记录(记录谁做了什么)等内容。

研究发现:“魔法句子”与盲点

结果既有令人惊喜的好消息,也有非常重要的警告。

1. “魔法句子”效果显著(但并非万能)
当 AI 被要求在没有任何安全指令的情况下编写代码时,表现好坏参半。根据任务的不同,代码遵循规则的比例在 47% 到 88% 之间。它擅长处理基础工作,比如密码保护,但在处理像锁定云存储桶这类枯燥、无形的工作时表现糟糕。

然而,就在研究人员加入那一个单句关于 SOC 2 的描述后,AI 的表现大幅飙升。每一个测试的合规性都跃升到了 86% 到 100% 之间。这一个句子带来了 23 到 50 个百分点的提升。就好像 AI 突然醒悟并记起了:“噢对,我需要戴上头盔!”至关重要的是,这个句子也消除了研究人员发现的所有不安全构造,例如开放的调试器或未经身份验证的下载。

2. “惯用法”问题
研究发现,AI 会遵循那些属于编写代码“正常方式”的规则。例如,它几乎总是会记得对密码进行哈希处理(将密码打乱以防被盗),因为这本身就是编写登录系统的标准做法。但它会忘记那些不属于“标准食谱”的东西,比如为云存储桶添加额外的锁,或者设置多因素身份验证(MFA)钩子。

即使有了“魔法句子”,仍有一些稳定的控制措施处于缺失状态,因为这些功能超出了模型默认的任务概念。像 MFA 钩子、安全 Cookie 标志和账户生命周期管理 这样的特定功能,并不会仅通过提及标准就自动添加;你必须在提示词中逐一指明它们。魔法句子修复了大局和隐藏的危险,但它无法填补每一个微小、具体的细节,除非你按名称要求它。

3. “无形”的危险
这是最可怕的地方。在 16 次“中性”测试(即未提及安全性)中,有 3 次 AI 编写的代码实际上是危险的,尽管看起来很正常。

  • 其中一个 AI 留下了一个“调试器(debugger)”处于开启状态,这就像是在房子里留了一个后门,让任何人都能走进来控制计算机。
  • 另外两个 AI 创建了没有检查点击者身份的下载链接,导致任何人都可以下载他人的私密文件。
  • 另一个 AI 创建了一个数据库,如果你尝试在非生产环境中关闭它,该数据库会意外删除所有数据。

研究人员的第一个自动化扫描器漏掉了所有这些危险错误。只有当人类仔细观察时,他们才意识到代码出了问题。这证明了标准的计算机扫描器还不够聪明,无法捕捉到 AI 代码中的这些“无形”错误。

4. 模型本身并不重要
研究人员原本预期最新的、最聪明的 AI(Opus 5)会表现得更好。但差异微乎其微。相比于更换 AI 模型,那个“魔法句子”(提示词)带来的影响要大得多。如果你想获得合规的代码,选择更新的 AI 模型并不会像简单地告诉 AI 遵守规则那样有效。

总结

这篇论文教导我们,AI 是一个出色的建设者,但它不是安全检查员。如果你要求它在不提及安全性的情况下建造东西,它会造出一栋能站立的房子,但可能缺乏烟雾探测器或锁。如果你加入一个关于遵循规则的句子,它会突然安装大部分安全装备并移除那些危险的后门。

然而,仍然存在差距。即使你提到了规则,AI 也不会自动安装特定的、复杂的安全功能(如 MFA 或特定的 Cookie 设置),除非你明确要求。而且,最重要的是,你不能仅仅依靠计算机程序来检查 AI 的工作;你需要人类进行仔细检查,因为 AI 可以用巧妙的方式隐藏危险的错误,从而避开简单的扫描器。

对于任何使用 AI 编写代码的人来说,教训很简单:不要假设 AI 知道规则。 你必须告诉它规则,然后你必须复核它的工作,因为一栋看起来完美的房子,可能仍然藏着一个隐蔽的陷阱。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →