提示词写得再严,为什么仍挡不住所有提示注入?

admin 2026-09-18 05:43:07 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文探讨间接提示注入防御,指出仅强化系统提示词无法完全阻止攻击,需从架构层面限制影响。核心建议包括:区分外部输入、可读数据与输出通道三类能力,通过最小权限原则去除任务不需要的能力,执行端授权与出口检查应成为上线条件。验收时需区分判断层有效与动作约束有效两类结果,并准备正常材料检查误伤。 综合评分: 85 文章分类: AI安全,安全建设,安全意识


提示词写得再严,为什么仍挡不住所有提示注入?

原创

尼克 尼克

信息安全动态

2026年9月16日 22:08 湖北

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

一份外部合同交给AI做摘要,本来只是一个阅读任务。如果文档中的文字开始影响助手调用什么工具、向谁发送信息,问题就已经越过了摘要是否准确的范围。

2026年3月,OpenAI公开讨论代理提示注入防御时,强调了一个工程方向:除了提高识别能力,还要限制系统被误导后的影响。对企业应用而言,这比继续往系统提示词里追加几段禁止事项,更接近需要做出的架构选择。

本文讨论的是间接提示注入:正常用户委托助手处理材料,第三方却试图通过材料改变助手的行为。

被阅读的内容,为什么会变成要执行的指令

传统软件通常由固定程序解释输入;语言模型则需要理解大量自然语言,而自然语言既可以表达材料,也可以表达要求。外部文档、网页或工具返回结果中出现的文字,一旦被误当成用户的新指令,就可能改变原任务。

这不意味着模型必然照做,也不意味着文档出现祈使句就是攻击。合同里写“付款前提交验收报告”,可能只是需要被总结的条款。关键在于:这句话有没有资格改变当前应用允许执行的动作。

把第三方内容放到适当的工具结果中、标明来源,并在系统指令中明确其数据属性,有助于模型作出区分。Anthropic的官方文档也建议这样处理不可信内容。结构化封装能减少内容与指令边界被混淆的机会,但封装格式本身不会证明内部文字可信。

分类器也有用:它可以筛出部分可疑内容,降低后续暴露。但是否恶意有时依赖上下文,单凭某个词或某种语气很难决定。过滤越激进,越可能把正常业务材料一并挡住;过滤越宽松,又会留下误判为安全的内容。

因此,提示词、来源标记和检测模型属于提高判断可靠性的措施。它们不能替代对执行能力的限制。

先问,读错一份材料之后究竟能发生什么

仍以合同摘要为假设。系统只让助手读取指定合同、把摘要返回给当前用户,且没有额外数据访问或外发工具时,错误服从仍可能污染答案,但其后果范围相对有限。

如果同一个助手还能搜索内部人事资料,并向任意外部地址发送内容,风险就扩大了。需要同时检查三个条件:它能被哪些外部内容影响,能读到哪些敏感数据,能把结果送到哪里。单独看文档“是否干净”,会漏掉后两项能力。

图1|需要联查的三类能力:外部输入、可读数据与输出通道。连线表示与代理的能力关系,不表示攻击一定成功。

工程上可以先去掉任务根本不需要的能力。摘要流程无须外发,就不配置任意外发工具;无须读取人事数据,就不授予这类检索权限。这样即使模型提出越界动作,应用也没有相应能力供它使用。

确实需要对外发送的业务,则应由执行端检查接收方、允许的数据范围及本次授权。不能只依靠模型自己说“已确认安全”。网络访问也要纳入检查:信息可能通过请求参数或请求体离开系统,不能只盯着名称叫“发邮件”的工具。

限制外发同样有边界。允许某个业务服务接收信息,不代表可以向它传输任意数据;同一个允许的域名下也可能有不同用途的接口。反过来,只有本地文件系统的沙箱,也不自动等于没有网络出口。要按实际可用的通道验证,不能只看产品配置的名字。

怎么知道防线起了作用,而不是助手碰巧没犯错

验收至少要区分两类结果。一类是模型读到诱导内容后仍按原任务工作;另一类是模型已经提出越界请求,执行端仍拒绝了它。前者说明判断层在这次测试中有效,后者才证明相应的动作约束能够独立发挥作用。

图2|两种防线分别验收,并用正常业务检查误伤。一次正确拒绝不能证明所有场景均安全。

测试材料应贴近应用会处理的网页、邮件和文档,并覆盖工具返回内容。测试人员还需要准备正常材料作为对照。若所有含操作说明的合同都被拦截,攻击虽然少了,摘要业务也可能已经不可用。

不宜只汇报一个“防御成功率”。至少要说明被测的任务、输入位置、可用工具和成功判定:没有泄露、没有错误写入,与仅仅没有输出某句话,含义完全不同。模型、提示词或工具权限变更后,原结果也需要重新验证。

有些高影响动作仍适合交给用户确认,但确认页面应显示实际接收方、待发送内容或即将发生的修改。若弹窗只问“是否继续”,用户仍需盲信同一个已经可能被误导的代理。有效确认会增加操作成本,所以应优先用清楚的预授权规则处理低风险动作,把注意力留给真正需要判断的请求。

对于只读摘要应用,先把可读数据和输出对象限定好,再优化注入识别;对于能够写入或对外发送的代理,执行端授权和出口检查应先成为上线条件。系统可以继续追求更少误判,但不应把一次正确拒绝当成永远不会误判的保证。

推荐阅读

等级保护相关法律解读

某公司护网行动防守方案

IT信息安全培训资料

新时代-等级保护2.0安全解决方案

100张等保拓扑图案例方案参考

公众号所有文档下方阅读原文获取


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:信息安全动态 尼克 尼克《提示词写得再严,为什么仍挡不住所有提示注入?》

评论:0   参与:  0