
当模型只负责生成文字时,提示注入通常表现为答非所问或泄露部分上下文;当模型接入搜索、邮箱、数据库和发布系统后,同样的攻击会变成权限和流程问题。安全设计不能只问“模型会不会被说服”,还要问“即使被影响,系统最坏能做什么”。
1. 先说结论
注入内容可能来自用户输入,也可能藏在网页、PDF、邮件、代码注释和知识库文档里。把所有外部文本拼到一个提示词里,会让数据和指令的边界变得模糊。系统要明确区分“需要阅读的资料”和“允许改变行为的指令”,并在工具层再次判断。
2. 问题背景
权限最重要。模型不应该继承调用者没有的权限,也不应该因为某段文本声称自己是系统消息就获得更高权限。工具网关需要根据用户、任务、资源和动作重新计算权限,并限制敏感字段、批量规模和外部目的地。
3. 真正的技术取舍
红队测试要模拟真实链路,而不是只在聊天框输入一句攻击提示。测试应包括恶意网页、隐藏文本、跨文档指令、越权检索、诱导外发、重复执行和混合语言攻击。每个案例都要记录模型输出、工具调用和服务器最终是否拦截。
4. 落地方法
防护不是一个过滤器。输入分区、最小权限、工具 schema、输出验证、人工审批、审计和异常告警要共同工作。即使模型生成了危险计划,系统也应该在真正产生外部影响前停下来,让风险变成可观测事件。
5. 常见失败
常见失败是把提示词写得越来越长,却没有改变权限结构;或者只测试一次攻击成功率,不看防护是否能持续。还有团队把所有可疑内容直接丢弃,导致业务无法判断到底是恶意输入、误报还是文档本身存在问题。
6. FDE判断
FDE的判断是,Agent安全的关键不是让模型永远不犯错,而是把错误限制在可恢复、可审计、低影响的边界内。安全红队应当成为发布流程的一部分,而不是事故后的临时演示。
发布或采购前的检查清单
- 把外部资料与可执行指令分层。
- 工具权限按用户、资源和动作重新计算。
- 用完整链路测试,而不是只测聊天输入。
- 危险计划必须在外部副作用前被拦截。
下一步怎么做
从一个只读 Agent 开始,加入恶意文档和越权样本,记录每一次拦截结果。
本文依据公开资料整理,来源包括:OWASP LLM Top 10。文中“FDE判断”属于编辑分析,不等同于来源原话。
读完这篇,马上试一个能解决问题的工具。
根据文章主题自动匹配,工具内容和下载地址由后台独立管理。