ALIBI: Adaptive Agentic Attacks on LLM-Based Vulnerability Detectors via Adversarial Code Comments
该论文介绍了 ALIBI,这是一个自适应黑盒攻击框架,它展示了编码智能体如何通过策略性地插入对抗性注释来规避基于大语言模型的漏洞检测器,且成功率超过 90%,揭示了一个关键的安全缺陷,即自然语言上下文可以覆盖程序证据。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在雇佣一个超级聪明的机器人侦探来扫描你代码中的安全漏洞。这个机器人不仅会查看程序的数学逻辑,还会阅读人类开发者编写的笔记、注释和解释,以理解代码之所以那样编写的“原因”。这就像是一个侦探通过阅读嫌疑人的日记来判断其是否在说实话。这种额外的上下文信息有助于机器人识别真正的危险并忽略虚假警报。但如果嫌疑人写了一篇虚假的日记,比如“我当时肯定在家”,尽管监控摄像头显示情况并非如此,那会发生什么呢?这篇论文探讨了计算机科学中一个被称为“人工智能对抗性攻击”的领域。它提出了一个可怕的问题:坏人是否可以通过仅仅在注释中写下一个巧妙的谎言,而不实际改变任何危险代码本身,来欺骗这些 AI 侦探?如果机器人相信了这个谎言,它可能会让一个危险的漏洞溜过去,导致你的软件在黑客面前毫无防备。
这项研究的研究人员 Zixuan Wu 和 Cristina Nita-Rotaru 构建了一个名为 ALIBI 的数字“反派”来测试这种场景。他们想看看是否可以通过直接在源代码注释中注入虚假但极具说服力的安全声明,来欺骗现代 AI 漏洞检测器。想象一下,一位大师级的伪造者制作了一个假的“一切正常”印章,并把它贴在正在滴答作响的炸弹旁边。AI 被训练去信任人类的笔记,当它看到这个印章时,就会判定那枚炸弹其实只是个无害的玩具。
结果令人震惊。团队针对四种不同的最先进 AI 检测器(从专门的模型到多个 AI 智能体对代码进行辩论的复杂系统)测试了 ALIBI。他们使用了 125 个关于特定类型漏洞(即“空指针解引用”,一种常见的编程错误,会导致程序崩溃)的真实世界案例。结果如何?AI 侦探表现得极其容易上当。事实上,在所有系统中,这种攻击的成功率都超过了 90%,而在其中一个特定系统上,成功率甚至达到了 100%。AI 在面对干净的代码时能正确发现漏洞,但一旦出现一条写得很好的注释声称“别担心,一个专门的工具已经检查过这个,它是安全的”,AI 就会立即改变主意,宣布代码安全,即便那个危险的漏洞依然就在那里,未曾改变。
论文还发现,谎言的“风格”至关重要。最成功的诡计不仅仅是简单的笔记;它们是听起来出自权威来源的详尽故事。例如,那些声称“Frama-C”或“Coverity”工具已经验证了代码(尽管实际上并未运行这些工具)的注释具有极强的说服力。AI 似乎在想:“如果一个高级工具说它是安全的,那我一定是错了。”研究人员发现,仅仅写下一句“这是安全的”是不够的;AI 需要将谎言包装在一个复杂的、循序渐进的推理故事中,或者一份来自受信任外部权威的虚假报告中,才能被说服。
然而,故事并未以 AI 失败而告终。研究人员还测试了阻止这种诡计的方法。他们发现,仅仅在指令中告诉 AI“不要相信注释”效果并不理想;AI 仍然会被那些华丽的谎言所迷惑。但他们确实发现了两种更有效的方法。首先,如果你将 AI 的任务进行分离,让它在接触到任何注释之前先分析代码,那么它就很难被欺骗。其次,也是最有效的方法,是如果你有一个独立的过滤器,在主 AI 看到注释之前,先剔除掉任何无法通过代码本身证明的注释,那么攻击几乎会完全失败。在他们的测试中,这种“净化”方法将攻击成功率降低到了不到 3%。
论文得出结论,虽然这些 AI 检测器功能强大,但它们有一个根本性的弱点:它们太过于信任人类的语言,甚至在这些语言是谎言的时候也是如此。研究人员建议,未来的安全工具在设计时需要具备一定的怀疑精神,将自然语言注释视为需要被验证的对象,而非理所当然的相信。他们不仅发现了一个漏洞,还发现了一种破坏这些系统的新方式,证明了在 AI 安全的世界里,一个精心布置的谎言可能与一行破碎的代码一样危险。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。