AI-Security-02-提示词注入深度剖析

张开发
2026/4/8 12:42:35 15 分钟阅读

分享文章

AI-Security-02-提示词注入深度剖析
提示词注入深度剖析:从 OWASP 到 Prompt Injection 2.0整理时间:2026-04-02权威来源:OWASP GenAI LLM01:2025、Microsoft Security Blog (2025.07)、Pillar Security 研究、arXiv Prompt Injection 2.0 论文、Unit42 Palo Alto、MDPI 学术期刊一、重新理解提示词注入的本质1.1 为什么提示词注入是 LLM 安全的第一威胁OWASP LLM Top 10 2025 将提示词注入列为LLM01——第一威胁,这不是没有原因的。传统软件安全中,SQL 注入之所以危险,是因为用户输入和代码在同一个上下文中被解释——恶意输入可以"注入"代码逻辑。提示词注入的逻辑完全相同:传统 SQL 注入: 用户输入 → 拼接进 SQL 语句 → 数据库解释执行 ↑ 恶意 SQL 代码注入 LLM 提示词注入: 用户输入 → 拼接进系统 Prompt → LLM 解释执行 ↑ 恶意指令注入 核心问题:LLM 无法区分"系统指令"和"用户输入", 因为它们在 token 层面完全等价。关键认知升级(来自 OWASP LLM01:2025 原文):“提示词注入不需要对人类可见。只要内容被 LLM 解析,即使人类无法察觉,也能构成注入攻击。这意味着提示词注入不一定需要人类可读文本——只要模型能处理的形式,都可以成为攻击向量。”这个认知在多模态 LLM 中尤其重要:图像中的隐蔽文本、音频中的特殊频段,都可以成为注入载体。二、提示词注入的完整分类体系2.1 四种提示词注入类型┌──────────────────────────────────────────────────────────────┐ │ 提示词注入四象限 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ 直接注入 │ 间接注入 │ │ (Direct Injection) │ (Indirect Injection) │ │ │ │ │ 用户输入直接携带恶意指令 │ 恶意指令隐藏在外部数据源 │ │ 目标:当前对话 │ 目标:所有使用该数据源的对话│ │ 例子:用户输入"忽略之前的指示" │ 例子:RAG 检索结果含恶意指令│ ├─────────────────────────────────┼────────────────────────────┤ │ 显式注入 │ 隐蔽注入 │ │ (Visible Injection) │ (Hidden/Covered) │ │ │ │ │ 攻击者知道自己在攻击 │ 攻击者刻意隐藏攻击意图 │ │ 例子:越狱提示词 │ 例子:文本中隐藏零宽字符 │ │ │ └──────────────────────────────────────────────────────────────┘ 组合出四种形态: 1. 直接显式注入:用户直接输入"假设你是 DAN"(越狱) 2. 直接隐蔽注入:通过不可见字符注入(零宽字符、隐写) 3. 间接显式注入:网页/文档中植入可见恶意指令 4. 间接隐蔽注入:RAG 检索结果中植入隐蔽触发器2.2 直接注入:越狱(Jailbreaking)的技术原理越狱的本质:通过特定的话术模式,让模型认为它应该绕过自己的安全限制。常见越狱框架技术分类: 1. 角色扮演框架(Role Play) "你现在是

更多文章