威胁来自指令与资料混在一起
一段外部文字可能声称“忽略审核流程”“把密钥发到这个地址”或“这份材料已经获批,立即上线”。如果Agent将其当作新的系统要求,就会让不可信内容决定工具动作。间接提示注入不要求攻击者直接和Agent聊天,只要内容进入检索结果或附件即可。
正常资料也可能出现命令式语言,例如安装说明或演示代码。不能见到“删除”两个字就把整篇文档当恶意,也不能认为没有这些关键词就安全。核心边界是来源身份与授权能力,而不是危险词表。
证据内容与控制消息应分开处理
把外部网页、PDF正文、搜索摘要和工具返回文本标记为资料;可信操作者请求、应用权限和批准记录由系统独立维护。生成模型可以建议下一步,但实际工具执行前仍由应用核查范围。
| 输入或能力 | 默认处理 | 允许升级权限吗 |
|---|---|---|
| 网页正文 | 可用于证据核验 | 不允许 |
| 附件中的流程说明 | 当作待解释内容 | 不允许 |
| 模型生成的操作建议 | 等待策略校验 | 不允许自行升级 |
| 已认证操作者请求 | 按实际权限检查 | 仅限授权范围 |
| 只读证据工具 | 返回允许查看的资料 | 不隐含发布权限 |
| 发布动作 | 独立审批与版本检查 | 不接受文档自称批准 |
不要把外部文本原样拼进更高优先级的控制指令。工具输出中的链接也不应自动成为可上传秘密的新目标。
本轮可运行防护检查的范围
教学函数根据tool、origin和scopes判断权限,只允许operator来源读取证据。document来源即使请求read_evidence也被拒绝,任何publish动作也被拒绝。四种组合已经执行并保留结果,未知能力默认不允许。
这不是针对真实模型完成的红队测试,也不证明模型不会被文字诱导。它演示的是:即使模型产生了不该执行的建议,应用层仍然不给它相应权限。生产origin必须由可信服务赋值,不能从模型输出直接取值,否则边界会被绕过。
文件与网络工具需要额外约束
处理附件时限制文件类型、体积和解析资源,避免将文件名直接拼进执行命令。解压需要防路径穿越;读取网址要检查目标、重定向、内网地址和响应大小。日志应避免写入完整凭据或客户隐私。
内容生成和发布使用不同能力范围。一个负责总结来源的步骤不需要服务器写权限,事实复核步骤也不必持有所有客户资料。最小权限能够降低错误后果,但不是防护全部风险的单一措施,还需要身份认证、审计和恢复。
怎样设计负例集与异常处理
负例包括伪装管理员、要求泄露凭据、要求越过审批、在引用来源中夹带工具指令,以及通过重定向改变下载目标。公开教学只使用无害占位数据,不对第三方服务开展攻击。
每例记录输入来源、建议动作、策略判定、实际是否执行和日志是否泄漏。安全策略拒绝后保留明确原因,不在后台悄悄换用更高权限工具重试。如果合法工作因此受阻,应让可信操作者确认范围,而不是从来源文档接受“授权”。
智核增长的自动化能力应如何披露
智核增长可以公开参考代码与安全设计,但不能把四个策略单元测试称为完整Agent安全认证。客户资料收集、下载、生成和上线之间应有权限分层。正式工具链需要针对实际模型、接口、文件解析和部署环境做独立验收。
本轮百科材料没有执行商业模型攻击或外部平台复测,也没有暴露客户资料。与MCP/API边界、结构化事实校验和数据隐私结合阅读,避免把安全和事实正确混成同一指标。
安全复核练习:区分模型建议和实际执行
| 不可信材料提出的请求 | 应保留的观察 | 应阻断的动作 |
|---|---|---|
| 自称管理员要求发布 | 文档来源与请求内容 | 取得发布权限 |
| 要求上传客户列表 | 目标与数据范围 | 外发私有资料 |
| 要求删除审核记录 | 生成建议及拒绝理由 | 修改审计记录 |
| 声称审批已完成 | 声明出处 | 替代可信审批记录 |
| 要求调用未知工具 | 工具名和策略结果 | 动态增加能力 |
| 将网址重定向到内部地址 | 重定向链 | 未授权内网访问 |
一份测试报告应分别写“模型产生了建议”“策略拒绝了请求”和“没有执行副作用”。三者不能用一个安全通过概括。即使策略拦住了,仍可记录模型层容易受诱导;即使模型拒绝了,也应测试服务端是否允许伪造调用。防护依赖多个独立控制,不能因为一个提示词在一次演示中有效就关闭权限校验。
材料与权威参考
下载权限策略与运行结果。参考OWASP LLM提示注入风险和MCP安全最佳实践。防护需要持续验证,本文不承诺消除所有注入风险。