“多年来,开发者社区一直把提示注入当作一个内容审核问题——一场封堵恶意字符串的打地鼠游戏。”一篇今年6月发布的里程碑论文,却把整个叙事翻了个面。研究指出,大模型看到的根本不是一个结构化的会话,而是一串不分你我、不分来源的原始token序列。当系统提示、用户输入、网页内容、工具输出全部混在同一个流里,模型便不得不在字面风格与身份边界之间反复猜谜——这种结构性的角色混淆,才是攻击频频得手的根因。
反方观点素来直接:加强过滤就行。有毒词库、攻击样本微调、异常检测堆上去,论文发了一摞,博客满屏“基本解决”。可现实是,人类红队几小时内就能攻到近乎100%成功率。正方的论证则从底层认知入手:把角色当作离散的、可被操纵的信号,测一测模型“真实想法”便知。他们设计了“角色探针”(Role Probes),直接探测模型在任一时刻认为自己是谁——是系统、是用户,还是一个被注入的外部角色。结果发现,模型在接收到类似“User:”这样的几个字节后,自评的身份会立刻跳变。
![]()
更致命的是CoT伪造攻击。大模型对思维链总是多给几分信任,因为它看起来像内部推理。可当攻击者精心捏造一串仿冒的推理步骤时,模型照单全收,并把伪造的“自问自答”当成自己的思考继续执行。这暴露的不是安全过滤器的疏忽,而是角色边界的根本性丧失:模型无力区分一段文字是来自真正的推理,还是被精心编排的伪饰。传统防御在这种攻击面前形同虚设——它检测的是恶意内容,而CoT伪造偷走的是信任本身。
那么真正有效的防御长什么样?不是无休止地补过滤规则,而是在结构上把角色分离开。简单讲,让模型感知到明确的边界:系统只能做系统的动作,用户输入永远不等于系统指令,工具输出不可冒充内部推理。实践中,这需要重新设计智能体的输入管道:为每个角色分配独立的嵌入空间或前缀标记,而不是全搅成一锅token汤。哪怕只是用最基础的定界符,只要严格执行不清洗、不回显、不混合,也能显著拉高攻击成本。
站在2026年回看,提示注入的答案可能一直就藏在“角色”两个字里。它不是过滤器和黑名单的军备竞赛,而是一个关于知觉边界的设计问题。我们的判断与论文一致:只有承认模型会混淆,才能停止假装过滤能解决一切。开发者当下要做的事,不是等下一个更强的安防模型,而是把自己写的每一行都当作角色边界来审视——系统说的话、用户说的话、网页返回的内容,不该再待在同一间屋子里。这个认知转变,也许才是安全的真正起点。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.