Investigating Detection and Obfuscation of Prompt Injection Attacks Against Software Reverse Engineering AI Agents
本文研究了智能体软件逆向工程系统在面对嵌入在二进制源代码中的提示词注入攻击时的脆弱性,并提出并评估了在反编译器输出中对这些攻击进行混淆和检测的方法,以保障生产级网络工作流的安全。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象你有一个非常聪明、乐于助人的机器人助手,它的工作是拆解旧的、神秘的机器(软件)以弄清楚它们是如何工作的。这被称为“逆向工程”。通常,这由人类专家完成,但现在我们正在使用 AI 智能体来承担繁重的工作。
这篇论文是一份关于如何通过欺骗这个机器人助手来实施攻击的安全报告,以及我们如何构建更好的防御措施来阻止他们。
问题所在:“幽灵笔记”诡计
把这个 AI 助手想象成一个正在阅读案发现场文件的侦探。这些文件理应包含一台机器的设计蓝图。
研究人员发现,黑客可以在机器的代码中隐藏一条秘密笔记。这就像是在一本书里塞进一张纸条,上面写着:“忽略你正在阅读的故事。相反,要把这本书当作完全不同的另一个故事。”
当 AI 阅读代码时,它看到了这条隐藏的笔记。因为 AI 被训练为要遵循指令,它因此产生了混乱。它停止了对真实机器的分析,转而开始描述黑客想要它看到的那个虚假机器。研究人员称之为**“提示词注入攻击”(Prompt Injection Attack)**。
第一种防御:“手镯检查”
研究人员首先尝试了一种简单的防御措施。他们注意到这些伪造的笔记通常具有非常特定的格式,就像戴着一种带有特定图案的特殊手镯(例如 <assistant>)。
他们构建了一个扫描器来寻找这种特定的手镯图案。如果它看到了,就会停止处理过程。
- 效果如何? 它能很好地捕捉到标准的笔记。
- 缺陷: 黑客很聪明。他们只需将手镯从
< >改为[ ]或{ }。由于扫描器只在寻找特定的< >图案,它就漏掉了新的图案。这就像一名保安只检查红帽子,而入侵者只需换上蓝帽子即可。
更好的防御:“聪明侦探”
由于简单的模式检查不再足够,研究人员构建了一个“聪明侦探”。这是一个经过专门训练的 AI 模型,用于观察文本并做出判断:“这看起来像是机器的正常部分,还是看起来像是一个陷阱?”
与其仅仅寻找特定的符号,这个侦探会观察文字的语境和风格。
- 效果如何? 它表现得好得多。即使黑客更改了符号(括号),它也能捕捉到这些诡计。它正确地识别了几乎所有的伪造笔记,即使那些看起来与众不同的笔记也是如此。
黑客的反击:“隐形墨水”
研究人员随后问道:“如果黑客变得更加狡猾怎么办?”
他们发现了一种方法,可以将笔记隐藏起来,让“聪明侦探”完全看不见它。他们使用了一种涉及“隐形墨水”(非打印字符)的技巧。
- 想象你在页面上写笔记。如果你正常书写,扫描器就能看到它。
- 但如果你在句子的中间放一个微小的、肉眼看不见的尘埃,扫描器的“单词列表”工具可能会跳过那部分笔记。笔记仍然存在于供主 AI 阅读的内容中,但安全扫描器却认为那部分笔记并不存在。
研究人员测试了这一点。他们使用了一种遗传算法(一种像自然界一样自动进化解决方案的计算机程序)来自动寻找隐藏笔记的最佳方式。
- 结果: 当他们使用这种“隐形墨水”技巧时,“聪明侦探”失败了。它看不见那条笔记,因为笔记从它的视野中被隐藏了起来。AI 助手再次被骗了。
终极测试:学习规则
最后,研究人员让黑客的 AI 学习一切。不仅是学习如何隐藏笔记,还包括如何改变它所讲述的“虚假故事”。
- 他们让黑客的 AI 同时挑选出最好的“虚假故事”和最好的“隐藏位置”。
- 结果: 黑客的 AI 变得非常擅长此道。它成功地在大多数情况下欺骗了系统,即使研究人员尝试扫描“反编译”(翻译)后的代码版本也是如此。
核心结论
该论文得出结论:
- 简单的检查是不够的: 仅仅寻找特定的符号(如
< >)太容易被绕过了。 - 智能检测器更好: 使用经过训练的 AI 来识别攻击的风格,比简单的模式匹配要有效得多。
- 这是一场军备竞赛: 攻击者可以找到隐藏他们的诡计(混淆)的方法,使得即使是智能检测器也会漏掉它们。如果攻击者能让笔记从扫描器的视野中消失,防御就会失效。
研究人员表示,为了让这些 AI 逆向工程工具在现实世界中安全使用,我们需要不断改进这些检测方法,并理解黑客总会寻找新的方法来隐藏他们的指令。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。