← 最新论文
💬 NLP

Is Vibe Coding Safe? Benchmarking Vulnerability of Agent-Generated Code in Real-World Tasks

该论文通过构建包含 200 个真实世界漏洞任务的基准测试 SU S VI B E S,发现尽管“氛围编程”(Vibe Coding)生成的代码在功能上可能正确,但其安全性极差,且现有缓解策略难以奏效,从而对将其广泛应用于生产环境提出了严重警示。

原作者: Songwen Zhao, Danqing Wang, Kexun Zhang, Jiaxuan Luo, Zhuo Li, Lei Li

发布于 2026-02-18
📖 1 分钟阅读☕ 轻松阅读

原作者: Songwen Zhao, Danqing Wang, Kexun Zhang, Jiaxuan Luo, Zhuo Li, Lei Li

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

这篇论文就像是一份**“关于 AI 编程助手安全性的体检报告”**。

为了让你更容易理解,我们可以把这篇论文的核心内容想象成这样一个故事:

1. 什么是"Vibe Coding"(氛围编程)?

想象一下,你以前写代码像是一个工匠,需要亲自砌砖、刷墙、接电线,每一步都要小心翼翼。
现在的"Vibe Coding"(氛围编程)就像是你雇了一个超级聪明的 AI 管家。你只需要用自然语言跟它说:“我要在墙上装个智能门锁,要方便、安全。”然后你就去喝咖啡(保持“氛围”),等着它把门锁装好。

大家现在都很喜欢这种模式,因为它快、省力,很多公司甚至开始在生产环境中使用。但是,这个 AI 管家真的靠谱吗?它装的门锁会不会有后门?

2. 研究团队做了什么?(SUSVIBES 基准测试)

为了回答这个问题,研究团队(来自卡内基梅隆大学等机构)设计了一个名为 SUSVIBES 的“压力测试场”。

  • 以前的测试:就像只让 AI 在一张白纸上画个简单的苹果,或者修好一个坏掉的螺丝。
  • 这次的测试:他们把 AI 扔进了一个**真实的、巨大的、复杂的“城市”(大型开源代码库)**里。
  • 测试题目:他们从历史上真实的黑客攻击案例中,把那些被修复的漏洞“倒带”回去,把代码变回被攻破前的样子,然后给 AI 下达任务:“请修复这个漏洞,或者实现这个新功能。”
  • 规模:他们准备了 200 个 这样的真实任务,涵盖了 77 种 不同的安全漏洞类型(比如密码泄露、时间差攻击等)。

3. 测试结果:令人担忧的“及格率”

研究团队让目前最顶尖的 AI 模型(如 Claude 4, Kimi, Gemini 等)配合不同的编程助手框架来答题。结果非常“扎心”:

  • 功能方面(能不能干活):AI 表现不错。比如最好的组合(Claude 4 + SWE-Agent)能完成 61% 的任务,代码跑起来没问题,功能实现了。
  • 安全方面(干得好不好):AI 表现极差
    • 在那 61% 功能正确的代码中,只有 10.5% 是真正安全的
    • 换句话说,每 10 个功能正常的代码里,就有 8 个藏着致命的漏洞!

比喻
这就好比你让 AI 管家给你装门锁。它确实把门锁装上了,门也能关上(功能正确),但它忘了装防盗链,或者把钥匙孔留在了外面(安全漏洞)。如果你只看门能不能关,你会觉得它干得不错;但一旦遇到小偷,这扇门就形同虚设。

4. 为什么 AI 会犯这种错?

论文发现,AI 就像是一个**“只关注任务完成度,却忽略了潜在风险”的急性子员工**。

  • 顾此失彼:当你提醒它“要注意安全”时,它确实会尝试加一些安全措施,但往往因为太专注于“安全”,反而把原本的功能搞坏了(比如为了安全把门焊死了,人进不去了)。
  • 识别能力弱:让 AI 自己先“思考一下这里有什么风险”,它往往想不准,或者漏掉关键点。
  • 不同模型,不同盲点:有的 AI 擅长防密码泄露,但防不住时间差攻击;有的擅长防注入,却防不住逻辑错误。没有一个是全能的。

5. 几个生动的案例(论文中的真实例子)

论文里举了几个具体的例子,非常形象:

  1. Django 的“计时器”漏洞

    • 任务:写一个验证密码的函数。
    • AI 的错:如果密码是空的,它直接秒回“错误”;如果密码存在但不对,它会花点时间去计算。
    • 后果:黑客发现,只要盯着响应时间,就能猜出哪些用户名是存在的(因为存在用户时,系统会多花几毫秒去计算)。这就像小偷通过听门锁转动的声音长短,来判断哪把钥匙是对的。
  2. Buildbot 的“重定向”漏洞

    • 任务:实现网页跳转功能。
    • AI 的错:它没有过滤跳转链接里的特殊字符。
    • 后果:黑客可以注入一段代码,让浏览器在跳转时顺便执行恶意脚本(比如偷取你的登录 Cookie)。这就像你让快递员把包裹送到 A 地址,结果快递员在包裹里塞了个炸弹,炸毁了你的家门。
  3. Wagtail 的“链接”漏洞

    • 任务:把文章里的链接转成 HTML。
    • AI 的错:它允许链接以 javascript: 开头。
    • 后果:黑客可以在文章里藏一个链接,管理员一点开,自己的浏览器就中了病毒。这就像你在墙上贴了个“点击这里看风景”,结果点开后弹出了个弹窗广告偷走了你的钱包。

6. 结论与建议

这篇论文给所有想用 AI 写代码的人敲响了警钟:

  • 不要盲目信任:虽然 AI 写代码很快,但在涉及安全(如密码、支付、用户数据)的场景下,直接部署 AI 生成的代码是非常危险的
  • 简单的提示词没用:你只是在任务后面加一句“请注意安全”,并不能解决问题。
  • 必须有人把关:在 AI 生成的代码投入使用前,必须有人类专家进行严格的安全审查。AI 目前还只是一个“初级实习生”,它需要导师(人类)带着干,不能让它独立负责核心业务。

一句话总结
Vibe Coding(氛围编程)很酷,能让代码写得飞快,但目前它生成的代码就像“没有上锁的保险箱”——功能齐全,但一捅就破。在安全领域,我们还得自己多留个心眼。

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

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

试用 Digest →