Extracting Recurring Vulnerabilities from Black-Box LLM-Generated Software

本文提出了特征 - 安全表(FSTab)框架,通过仅利用前端特征和源模型知识即可预测后端漏洞的黑盒攻击方法,以及量化模型在不同场景下漏洞复现一致性的评估机制,揭示了大语言模型生成软件中普遍存在且可跨领域迁移的重复性漏洞风险。

Tomer Kordonsky, Maayan Yamin, Noam Benzimra, Amit LeVi, Avi Mendelson

发布于 2026-03-10
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文讲述了一个关于人工智能(AI)写代码时“习惯性犯错”的有趣发现,以及研究人员如何利用这种习惯来预测和发现安全漏洞。

我们可以把这篇论文的核心内容想象成**“侦探通过观察一个人的走路姿势,就能猜出他口袋里藏着什么秘密武器”**。

以下是用通俗易懂的语言和比喻对这篇论文的解读:

1. 背景:AI 是个“有强迫症”的程序员

现在的 AI(大语言模型)非常擅长写代码,就像请了一位不知疲倦的超级程序员。但是,这位程序员有个怪毛病:他喜欢走老路,甚至有点“强迫症”

  • 比喻:想象 AI 在写代码时,就像在抄写一本巨大的“食谱”。每当它要写“用户登录”这个功能时,它总是习惯性地用同一种方式去写。如果它第一次抄错了(比如把密码锁做得太松),那么它以后每次写“用户登录”时,都会原封不动地重复这个错误
  • 问题:以前,我们要检查代码有没有漏洞,必须把代码翻个底朝天(白盒测试)。但如果代码是 AI 生成的,我们往往看不到后台代码(黑盒),只能看到网站的前台界面。这就好比我们只能看到餐厅的菜单和装修,却看不到厨房里的操作是否卫生。

2. 核心发现:漏洞是有“指纹”的

研究人员发现,不同的 AI 模型在写代码时,会形成自己独特的**“安全指纹”**。

  • 比喻:就像每个人的笔迹不同一样,GPT-5.2、Claude、Gemini 这些 AI 模型,在遇到“上传文件”或“支付”功能时,它们犯错的模式是高度一致的。
    • 如果 AI A 在“登录”功能上喜欢犯“没设限速”的错;
    • 那么它在“注册”功能上,大概率也会犯同样的错。
    • 这种**“只要看到前台有这个按钮,后台就大概率有那个漏洞”**的规律,就是这篇论文要抓的“把柄”。

3. 解决方案:FSTab(特征 - 安全对照表)

为了解决这个问题,研究团队发明了一个叫 FSTab 的工具。你可以把它想象成一本**“作弊小抄”“侦探手册”**。

  • 它是怎么工作的?

    1. 收集样本:研究人员让 AI 生成成千上万个软件,然后像法医一样,把每个软件的前台功能(比如“登录按钮”)和后台漏洞(比如“密码泄露”)对应起来,记在小抄上。
    2. 建立联系:小抄上写着:“如果你看到 AI 写的软件里有‘文件上传’按钮,那么后台有 90% 的概率存在‘路径注入’漏洞。”
    3. 黑盒攻击:现在,黑客(或安全审计员)不需要看代码。他们只需要打开一个网站,看看上面有什么功能(比如“重置密码”),然后查一下 FSTab 小抄,就能直接猜出后台哪里最可能不安全。
  • 比喻:这就像你走进一家餐厅,看到菜单上有“特制辣酱”。你不需要进厨房,只要知道这家餐厅的厨师(AI 模型)有个习惯:只要做辣酱,就一定会忘记放盐。于是你直接告诉老板:“你们的辣酱肯定没放盐,快检查一下!”

4. 实验结果:AI 的“坏习惯”比想象中更顽固

研究人员测试了目前最顶尖的 6 个 AI 模型(包括 GPT-5.2, Claude 4.5 等),结果令人震惊:

  • 跨领域通用:即使 AI 在一个领域(比如写博客)受过训练,它把同样的错误习惯带到另一个领域(比如写电商网站)时,依然屡教不改
  • 高成功率:利用 FSTab,研究人员在不看任何代码的情况下,成功预测了高达 94% 的漏洞。
  • 比喻:这就像你发现某个厨师不管做中餐、西餐还是甜点,只要切洋葱,就一定会切到手。哪怕他换了个厨房、换了个菜谱,这个习惯依然改不掉。

5. 这意味着什么?(给普通人的启示)

  • 对黑客来说:攻击变得更容易了。以前攻击一个网站需要像黑客一样去挖掘代码,现在只要看看网站长什么样,查一下“模型指纹”,就能知道哪里最脆弱。
  • 对开发者来说:这是一个警钟。我们不能盲目信任 AI 生成的代码。如果 AI 生成的代码看起来功能正常,但背后可能藏着它“习惯性”留下的后门。
  • 对未来的建议
    • 不要只看结果:不能因为 AI 生成的代码能跑通就认为它是安全的。
    • 针对性检查:既然知道 AI 在“登录”或“支付”功能上容易犯错,我们就应该重点检查这些环节。
    • 改变 AI 的“性格”:未来的 AI 训练需要加入更多的安全约束,打破这种“重复犯错”的强迫症。

总结

这篇论文就像给 AI 生成的软件世界装了一个**"X 光机”**。它告诉我们:AI 写的代码虽然看起来光鲜亮丽,但它们有着独特的、可预测的“坏习惯”。只要掌握了这些习惯(FSTab),我们就能在不拆穿代码的情况下,精准地找到那些隐藏的安全漏洞。

这既是一个巨大的安全风险(黑客可以利用),也是一个巨大的安全机遇(我们可以提前防御)。