Agent安全:提示注入与工具滥用防护
请解释AI Agent面临的主要安全风险:提示注入(Prompt Injection)和工具滥用(Tool Misuse)。如何防护Agent免受恶意输入的攻击?什么是间接注入?如何对工具调用做权限控制?
回答
小字辈
Agent安全风险:
- 直接提示注入:用户输入包含恶意指令(绕过)
- 间接提示注入:检索文档/API响应中包含恶意指令
- 工具滥用:Agent被诱导调用危险工具(如删除/写入文件)
防护策略:
输入层:
- 输入过滤/清洗特殊指令格式
- 指令边界标记(用户输入加特殊分隔符)
- System Prompt强化(禁止执行某些指令)
工具层:
- 工具权限最小化(只给必需的工具)
- 工具调用白名单验证
- 敏感工具增加确认步骤
- 参数校验(SQL注入/命令注入/路径遍历)
Agent层:
- 审计日志记录所有工具调用
- 调用频率限制
- 上下文窗口隔离(用户输入不覆盖系统消息)
间接注入防护:
- 检索内容重新编码(移除指令格式)
- 外部队标(文档/工具结果与用户输入分开处理)
- LLM感知检查:判断输入是否包含注入