Agent 应用从 demo 走向生产的路上功能问题好解安全问题容易被跳过。结合 OWASP 最新的 Agent 威胁分类和我们自己的上线检查单五道安全门一一道来。第一道提示注入的隔离用户输入直接拼进 system prompt 是最常见的坑。攻击者一句「忽略之前的指令」就能让 Agent 变剧本杀。防线指令与数据分层——用户输入永远走独立的消息角色system 区只放你写死的指令对用户输入做意图白名单校验这个 Agent 允许做什么超出即拒。第二道工具调用的最小权限Agent 能调的每个工具都是一个攻击面。防线按会话授权不按 Agent 授权——一次会话里 Agent 只拿得到本次任务需要的工具子集高危工具删数据、对外发送、支付必须二次确认且确认由人触发而非模型判断。第三道输出内容的围栏Agent 的输出会流回用户界面、写进数据库、触发下游动作。防线输出过同一套过滤——你的 Web 应用对用户输入做什么 XSS/敏感词过滤对 Agent 输出就做什么它本质是个「会自动生成内容的用户」。别因为内容是自己生成的就跳过校验。第四道记忆污染有长期记忆的 Agent记忆本身就是攻击目标——污染一条记忆「用户喜欢 XX」后续所有会话都被带偏。防线记忆分级来源标记——核心偏好类记忆只能从「确认过的行为」提取临时上下文定期清理记忆写入记审计日志。第五道成本与行为的熔断安全不只防黑客也防失控——Agent 循环调用工具卡死、token 消耗暴走、异常重试风暴。防线三重熔断——单会话调用次数上限、单日 token 预算上限、异常行为模式告警如同一工具连续失败 N 次。熔断是运维安全也是钱包安全。结语五道门的共同思路不信任任何单一环节——输入不可信、输出不可信、模型判断不可信、记忆不可信、行为不可控每一环都设独立防线。Agent 的安全不是加一个过滤器是换一种架构思维。
