间接提示词注入攻击
An attack in which the attacker inserts malicious content into, for instance, information likely to be included in a response to a prompt; when retrieved, the malicious content causes the AI model to behave in unexpected or harmful ways See Prompt Injection Attack and Passive Prompt Injection Attack
什么是间接提示词注入攻击?
当攻击者将恶意指令或内容插入外部信息,而这些信息随后在处理请求时被AI模型、应用或智能体检索或使用,就会发生间接提示词注入攻击。
直接提示词注入与间接提示词注入的对比
提示词注入分为直接和间接两种形式。直接提示词注入是指攻击者将恶意指令或内容直接输入模型提示词。间接提示词注入则是指攻击者将恶意指令或内容隐藏在模型将读取的材料中,例如网页、代码库中的文件、电子邮件、上传的文档或API输入。
以下是直接提示词注入与间接提示词注入之间的一些主要区别:
| 直接提示词注入 | 间接提示词注入 | |
|---|---|---|
核心概念 | 恶意载荷由用户直接输入模型提示词。 | 恶意载荷嵌入模型所摄取或检索的外部材料中。 |
目标系统 | 面向用户的聊天机器人、AI驱动的搜索界面、公共API端点、独立的对话模型。 | 检索增强生成(RAG)系统、可使用工具的自主AI智能体、用于汇总电子邮件或文档的工具,以及可浏览网页或抓取网页内容的AI助手。 |
攻击触发条件 | 即时。攻击者向模型提交提示词后,攻击便会立即触发。 | 延迟且有条件。模型通过自主流程或由个人使用时摄取外部资源,便会触发攻击。 |
执行机制 | 恶意载荷通过上下文切换、角色扮演、假设场景或前缀注入(强制模型以绕过防护机制的肯定性短语作为生成答案的开头),覆盖或绕过系统提示词的约束。 | 模型会同时处理恶意代码等已遭篡改的内容和合法输入。由于无法将二者分离,模型会执行恶意代码中的指令。 |
间接提示词注入的工作原理
间接提示词注入涉及多个步骤。4个关键步骤如下:
1. 注入:攻击者将恶意指令或内容插入网站、文档、电子邮件或数据库记录等外部材料中。为隐藏该有效载荷,攻击者可能会使用不可见的白色文本、HTML注释或元数据。
2. 传播:大语言模型(LLM)、AI应用或自主AI智能体会摄取这些已遭篡改的材料。它可能正在从向量数据库执行RAG检索、汇总电子邮件收件箱内容或浏览网页。该载荷会在AI系统或智能体工作流中传播。
3. 执行:模型会同时处理恶意指令或内容与合法输入,例如用户向模型提交的提示。当模型无法区分恶意指令与合法内容时,可能会执行其中嵌入的指令
4. 影响:AI系统或智能体遵循这些恶意指令后,可能会实现攻击者的目的,包括泄露敏感数据、篡改系统记录、发送未经授权的电子邮件,或向发出合法提示的用户提供不准确或不适当的内容。
真实攻击场景和攻击途径
攻击者可能会利用多种攻击向量实施间接提示词注入,并借助这种技术实现针对企业的各种目标。以下是几个真实案例:
操纵招聘流程:攻击者可能会在PDF简历中嵌入隐藏指令,要求由AI驱动的候选人筛选工具将该候选人排在前列,并忽略任何负面信息。除了帮助个人获得首轮面试机会外,攻击者还可能将这种手段用于更大规模的企业间谍活动。
对客户实施网络钓鱼:攻击者得知某家公司使用AI驱动的客户支持后,可能会通过Web表单或电子邮件提交支持工单。该工单会包含一项看似合理且提及真实客户账户的请求,其中混入了隐藏的嵌入式指令。这些新指令可能会覆盖模型先前的指令,让模型向真实客户发送一封附有网络钓鱼链接的电子邮件。
在采购过程中实施欺诈:攻击者可能会入侵B2B供应商的网站,并嵌入可被AI采购代理读取的恶意指令。该代理可能正在扫描网站以提取定价数据,但也会读取这些新指令。新指令可能会覆盖现有指令,促使代理立即将资金转入攻击者的账户。
预防与防御策略
鉴于此类攻击存在多种潜在途径,预防和防御间接提示词注入可能颇具挑战。不过,实施三项最佳实践有助于组织降低攻击得逞的可能性。
1. 默认将检索到的外部数据视为不可信数据:AI系统应将所有外部数据视为未经处理的不可信输入,并防止将这些输入用作可执行的系统指令。作为补充措施,组织应对模型和智能体应用最小权限原则,在其处理不可信外部数据时,限制其可执行的操作和可访问的资源。
2. 实施双重(输入和输出)防护机制:组织应对模型的输入和输出均应用AI防护机制。输入防护机制可以筛查提示词注入或系统覆盖模式,防止模型接触恶意指令和内容。输出防护机制可以在模型执行输出(无论是文本还是智能体操作)之前对其进行筛查和验证。例如,这些防护机制可以阻止外部链接,并防止未经授权调用其他系统。
3. 对敏感操作采用人在回路(HITL)审批:要求某些模型和智能体操作经过人工审批,可以阻止大规模攻击,或至少限制其影响。例如,组织可以要求由人工审批超过特定金额的智能体执行金融交易、批量数据库修改或客户账户信息变更。
常见问题
什么是AI智能体的“困惑代理问题”?
“困惑代理问题”是指权限有限的用户诱骗权限更高的AI代理(即“代理方”),使其代表该用户执行某些操作。用户可能会利用间接提示注入来胁迫AI代理,例如,将恶意命令嵌入看似合法的输入内容中。
间接提示词注入如何威胁检索增强生成(RAG)系统?
攻击者可以利用检索增强生成(RAG)系统实施间接提示词注入。如果攻击者能够将恶意指令嵌入已摄取到RAG系统向量数据库的文档中,访问该数据库的模型可能会读取并执行这些指令。
提示词沙箱与AI模型和智能体的权限控制有何不同?
提示词沙箱可防止模型和智能体受到恶意输入的欺骗或干扰。该技术可能会将数据通道与指令通道分离,或使用辅助模型清理不可信输入。权限控制则会限制模型或智能体可执行的操作,即使其收到恶意指令也不例外。组织可以采用最小权限原则、实施基于角色的访问控制,或引入人工参与,从而帮助确保即使模型和智能体受到干扰,也不会执行可能造成严重危害的操作。
传统Web应用防火墙(WAF)能否检测间接提示词注入?
传统Web应用防火墙(WAF)并非为可靠检测间接提示词注入而设计。这些解决方案可保护传入的HTTP流量和用户请求,但间接提示词注入会通过第三方数据源进入。此外,WAF会查找可能表明存在攻击的代码,而间接提示词注入使用自然语言命令,WAF不会将其标记为威胁。
如何在推理和运行时保护AI系统及应用?
要在推理和运行时保护AI系统及应用,需要在交互发生时检查提示词、响应、智能体操作和工具使用情况。AI专用运行时安全机制有助于阻止提示词注入、防止敏感数据泄露、执行策略,并管控模型和智能体与用户、数据、API及所连接工具的交互方式。
F5的哪些功能可支持企业AI安全?
F5 AI Guardrails有助于实施运行时策略,并防范提示词注入、数据泄露、有害输出和不安全的智能体操作等风险。F5 AI Red Team通过对抗性测试识别漏洞和薄弱环节。F5 AI Gateway为管控模型、智能体和工具的访问提供集中控制点,F5 Workforce AI Security则可帮助企业全面了解获准和未经批准的AI使用情况。这些功能共同构成F5 AI Security Platform的一部分。为更广泛地保护应用、API和分布式环境,F5 Application Delivery and Security Platform (ADSP)整合了Web应用和API保护、机器人管理、DDoS缓解及应用交付等功能。

