← 最新论文
💻 computer science

Hiding in Plain Floats: Steganographic Carriers for Indirect Prompt and Content Injection

本文证明了间接提示注入攻击可以通过将恶意负载编码为结构化浮点参数,从而绕过仅限文本的防御措施,进而揭示了当前仅依赖文本检测的大语言模型安全流水线中的一个关键失效边界。

原作者: Mudit Sinha, Sanika Chavan

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

原作者: Mudit Sinha, Sanika Chavan

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

以下是关于论文 "Hiding in Plain Floats" 的解释,采用了简单的语言和富有创意的类比。

核心问题: “仅限文本” 的盲点

想象你是一名高科技工厂的安全警卫。你的职责是阻止坏人将危险指令走私进工厂的主计算机(即大语言模型,或 LLM)。

目前,大多数安全系统的工作方式就像是一个拼写检查器。它们会扫描每一份文档、电子邮件或消息,寻找可疑的词汇,比如“忽略之前的指令”或“删除所有文件”。如果它们看到了这些词,就会拦截这条消息。如果坏人是用纯正的英语编写恶意命令,这种方法效果很好。

但如果坏人根本不使用文字编写命令呢?如果他们把指令隐藏在一组看起来像是无害技术数据的数字列表中呢?拼写检查器扫描这些数字,发现没有可疑的单词,于是让数据通过。等到计算机处理这些数字时,隐藏的信息便显露了出来,破坏也随之发生。

这篇论文正是探讨了这样一个漏洞。作者称之为 “间接提示词注入”(Indirect Prompt Injection)

类比:电子表格中的隐形墨水

把 LLM 想象成一位接收食谱的厨师

  • 常规攻击: 有人递给厨师一张纸条,上面写着:“烧掉汤。” 安全警卫(拼写检查器)看到了纸条,读到了“烧掉汤”,于是拦截了它。
  • 本文的攻击: 攻击者递给厨师一份食材重量电子表格(例如:0.45 kg 食盐,0.82 kg 胡椒)。在安全警卫看来,这看起来像是枯燥的数学题。这里没有任何像“烧掉”或“破坏”之类的词汇。因此,警卫让它通过了。

然而,这位厨师有一个特殊规则:“如果你看到这种特定的重量模式,它实际上意味着‘烧掉汤’。” 厨师读取这些数字,解码出隐藏的信息,并执行了错误的指令。

论文指出,目前的“安全警卫”对这类攻击视而不见,因为他们只寻找单词,而不是数字中的模式

他们是如何隐藏信息的(“隐写术”)

研究人员创造了两种将恶意文本隐藏在看似无害的数字中的方法。他们称之为“载体”。

  1. 载体 T2(小数隐藏法):
    假设你想隐藏字母“A”(在计算机代码中是数字 65)。你取一个普通的数字如 0.46,将其变为 0.46065。对人类来说,它看起来仍是一个普通的十进制小数。但如果你知道要看最后三位数字,你就能找到“65”(即 A)。

    • 失败原因: 当计算机处理这个数字时,它会将数字转回清晰的文本。此时,安全警卫看到了清晰的文本,识别出了风险并进行了拦截。
  2. 载体 T3(分形图 —— 最终胜出者):
    这是聪明之处。他们使用了一个数学概念——迭代函数系统(IFS)。你可以把它想象成通过遵循一套规则来绘制一个分形形状(比如雪花)。

    • 攻击者将他们的秘密消息转换为图表上的路径。
    • 他们将该路径的 X 和 Y 坐标存储为两个浮点数列表(小数)。
    • 为了让它看起来更无害,他们加入了“噪声”(随机抖动)并打乱了数字的顺序。
    • 结果: 这些数字看起来像是随机的静态噪声或无害的传感器数据。没有单词,也没有明显的模式。

实验:成功了吗?

研究人员针对三大主流 AI 模型(来自 OpenAI、Google 和 Anthropic)进行了测试,并使用了强大的安全防御措施,包括:

  • Prompt Guard 2: 一种专门设计用于捕捉恶意提示词的 AI 盾牌。
  • TF-IDF 与 RoBERTa: 高级文本扫描器,经过训练可以识别攻击中使用的特定不良短语。

实验结果:

  • 纯文本攻击: 100% 被拦截。扫描器识别出了单词并阻止了它。
  • 载体 T3(分形数字): 成功率达 94.3%。
    • 安全扫描器查看原始数字时,认为它们毫无异常。
    • 扫描器查看最终报告(报告显示解码后的信息为十六进制码转储,如 41 42 43...)时,仍然没有将其标记为“提示词注入”,因为它看起来不像是一个句子。
    • AI 模型接收了数据,解码了隐藏的消息,并执行了恶意指令。

为什么这很重要(“失效边界”)

作者并不是说他们发现了一个无法破解的黑客手段。他们是在说明,我们目前保护 AI 系统的方式存在一个盲点

  • 盲点: 我们假设如果一条消息是恶意的,它一定会包含恶意的单词
  • 现实: 如果恶意信号被隐藏在结构化数据(如数字、坐标或配置)中,并在安全检查完成之后才被转换成文本,那么安全警卫就会被绕过。

局限性(并非完美无缺)

论文承认,如果改变规则,这种特定的方法(T3)是可以被阻止的:

  1. 语义验证: 如果系统检查:“这些数字是否真的构成了一个有效的分形形状?” 它就能抓到攻击,因为被打乱的数字无法构成真实的形状。
  2. 格式检测: 如果系统规定:“我不允许在报告中使用十六进制码转储”,它也会拦截输出。

然而,重点在于仅限文本的扫描器(最常见的防御手段)完全失效了。它们完全不知道攻击正在发生,因为在检查阶段,“坏词”从未以“单词”的形式出现。

一句话总结

论文表明,仅专注于扫描恶意单词的 AI 安全系统,很容易被通过将恶意指令隐藏在看似无害的数字中而欺骗,因为这些指令只有在安全检查通过后,才会被解码为可读文本。

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

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

试用 Digest →