Prompt注入防护转义工具

对将嵌入LLM Prompt的不可信文本做转义包裹并提示常见注入关键词,降低prompt injection风险,非100%防护方案。

免费在线工具
Loading…

使用说明

  1. 把将要嵌入 LLM Prompt 里的不可信用户输入文本粘贴到输入框
  2. 选择包裹方式:XML 标签包裹(如 <user_input>...</user_input>)、Markdown 三重反引号代码块,或自定义分隔符
  3. 点击“处理”,工具会自动转义输入内容里可能用来伪造分隔符/标签的字符,并按所选方式包裹后展示可直接嵌入 Prompt 的文本
  4. 下方“风险关键词提示”区域会列出输入中命中的常见中英文注入/越狱触发词(如“忽略以上指令”“ignore previous instructions”“你现在是”“扮演”“system:”等),仅作风险提示,不是100%准确的判断
  5. 点击“加载示例输入”可查看一段包含常见注入尝试文本的示例,快速了解工具效果
  6. 处理结果可一键复制

功能介绍

  • 三种包裹模板可选:XML 标签包裹、Markdown 三重反引号代码块包裹、自定义分隔符包裹
  • XML 包裹前会对内容做 HTML 实体转义,防止用户输入里塞入伪造的 </user_input> 等标签来“逃逸”包裹
  • Markdown 包裹会检测内容中已有的连续反引号数量,自动加长围栏反引号长度,避免内容中的反引号提前把代码块闭合
  • 自定义分隔符包裹会把内容中出现的与分隔符完全相同的子串用零宽字符拆散,使其不能被简单字符串匹配当成真实分隔符
  • 内置一份中英文常见注入/越狱关键词列表(如“忽略以上/之前的所有指令”“ignore previous instructions”“你现在是”“扮演”“system:”“忘记你的设定”等),对输入做启发式扫描并高亮命中项

使用场景

RAG系统用户查询包裹
把检索增强生成场景里用户的原始查询文本转义包裹后再拼进系统Prompt,降低用户在查询里塞入伪造指令的风险。
客服/翻译类LLM应用防护
客服机器人、翻译工具等场景把用户粘贴的第三方文本(可能含恶意指令)包裹后再交给LLM处理。
开发调试阶段快速自查
开发Prompt模板时,用示例数据检查自己的包裹分隔符是否会被输入内容意外“撑破”,提前发现拼接漏洞。
安全意识培训演示
给团队演示常见的prompt injection触发词长什么样,以及转义包裹能防住哪些、防不住哪些攻击手法。

常见问题

用了这个工具就能100%防止prompt injection吗?
不能。这只是通过转义和包裹降低风险的辅助手段,不能替代模型侧的安全设计(如指令层级、输出校验)和业务侧的输入校验,无法防御所有形式的注入攻击,尤其是模型本身对包裹结构理解不一致导致的注入。
风险关键词检测漏报/误报怎么办?
关键词检测是基于常见中英文触发词的启发式字符串匹配,不是语义理解,既可能漏掉换种说法的注入尝试,也可能对正常文本误报(比如正常讨论“如何防止AI被扮演攻击”也会命中“扮演”),结果仅作参考,请结合人工判断。
三种包裹方式该怎么选?
XML标签包裹兼容性最好,适合大多数场景;Markdown代码块包裹适合本身就是Markdown格式Prompt的场景;自定义分隔符包裹适合你已经有一套自己的Prompt模板约定、想保持格式一致的场景。
转义会不会破坏用户输入的原始语义?
XML模式会把内容中的 &lt; &gt; &amp; 等字符转成HTML实体,模型通常能正确理解转义后的语义;如果你的下游流程需要还原原始字符,需要自行在拿到模型输出后做对应的反转义处理。
自定义分隔符包裹的“零宽字符拆散”是什么意思?
如果用户输入里恰好包含一段和你的分隔符完全相同的文本(比如故意输入“---END USER INPUT---”),工具会在这段文本的字符之间插入不可见的零宽空格,让它在字符串层面不再等于真正的分隔符,从而避免下游简单按分隔符切分文本时被这段伪造内容误导。