← 最新论文
🤖 AI

Secure Code Generation at Scale with Reflexion

本文评估了反思提示(reflexion prompting)在增强五种指令微调大语言模型生成的代码安全性方面的有效性,发现虽然零样本基准线在 25-33% 的案例中会产生不安全的代码,但三轮反思过程显著提升了安全指标,且最显著的增益发生在第一轮。

原作者: Arup Datta, Ahmed Aljohani, Hyunsook Do

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

原作者: Arup Datta, Ahmed Aljohani, Hyunsook Do

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

想象一下,你雇佣了一支才华横溢、语速极快的初级程序员团队(即 AI 模型)来编写你的软件代码。你给出一个简单的指令,比如“构建一个安全的登录页面”,然后他们便开始疯狂地敲击键盘。

这篇论文提出了一个简单但至关重要的问题:仅仅因为代码能运行,它就真的安全吗?更重要的是,如果我们告诉他们,“嘿,你犯了个错误,再试一次”,他们能修复它吗?

以下是研究人员利用日常类比得出的发现:

1. “初稿”问题

研究人员发现,当这些 AI 模型第一次编写代码时(称为“零样本”学习),就像是一个没复习就去参加考试的学生。

  • 结果: 大约 25% 到 33% 的代码在初次编写时就存在安全漏洞。这就像是递交一份房屋蓝图,结果前门没有锁,或者窗户是用纸做的。
  • 类比: 这就像一位厨师非常擅长制作美味的蛋糕,但却总是忘记把放在糖罐旁边的毒药瓶盖盖好。蛋糕吃起来味道不错(代码可以运行),但它却很危险(代码不安全)。

2. “反思”循环(第二次机会)

研究人员并没有仅仅让厨师把蛋糕端上来。他们引入了一个被称为 Reflexion(反思) 的过程。

  • 运作方式: 在 AI 编写代码后,一个安全扫描器(机器人检查员)会对代码进行检查并指出:“你把后门敞开了,”或者“你使用了劣质锁。”随后,AI 会阅读这些反馈,进行思考,并重写代码。他们最多进行了三次这样的尝试。
  • 类比: 这就像老师批改论文,圈出错误,并要求学生重写。
  • 结果: 这种“第二次机会”效果显著。代码的安全性从大约 71% 安全 跃升到了 79% 安全
  • 症结所在: 大部分的提升都发生在第一次重写时。到了第二次和第三次尝试时,AI 主要是在进行细微的润色。这就像是立即修好了前门的锁,但随后又花了两个小时试图寻找门把手上的一个微尘。

3. “语言”难度

并非所有的编程语言在处理安全性方面都同样困难。

  • 简单模式: Python 是最安全的。这就像是要求 AI 建造一个树屋;AI 对其标准规则掌握得很扎实。
  • 困难模式: C 和 C# 是最危险的。这些语言就像是在建造一座核电站;一个极其微小的布线错误就会导致熔毁。AI 在这些语言上的表现最差。
  • 中间地带: Java、JavaScript 和 C++ 等语言则处于两者之间。

4. “棘手的 Bug” vs “明显的 Bug”

研究人员观察了 AI 犯了什么样的错误。

  • 易于修复的错误: AI 在避免“模板化”错误方面表现得其实相当不错,例如在文本中硬编码密码或留下黑客注入命令的后门。这就像 AI 知道:“噢,我不应该把密码写在便利贴上。”
  • 难以修复的错误: AI 在密码学(加密)和配置错误方面感到最为吃力。这些错误就像是尝试用某种特定的、复杂的化学反应来烤蛋糕。如果温度偏差一度,整个过程就会失败。AI 经常会在数学计算或设置方面出错。

5. “回归”风险

一个有趣的发现是,有时当 AI 试图修复一个错误时,它会意外地破坏原本运行正常的其他部分。

  • 类比: 想象你在修理一个漏水的水龙头。你拧紧了阀门,但在操作过程中,你不小心弄断了它后面的管道。
  • 发现: AI 偶尔会发生这种情况,但频率并不高到足以抵消其带来的好处。其“净收益”(修复的数量减去产生新错误的数量)仍然是正向的。

总结

论文的结论是,虽然 AI 在编写代码方面正在进步,但它在第一次尝试时仍会犯很多安全错误。然而,如果你给它一个审查自身工作并修复一两次的机会,你就能获得显著更安全的代码。

他们的建议: 不要期望第一次就能达到完美。相反,应该建立这样一个系统:让 AI 编写代码,获取一份“安全成绩单”,并立即修复最顶端的几个问题。这样做一两次可以捕捉到几乎所有的收益;而做十次则纯粹是在浪费时间。

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

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

试用 Digest →