AI Agent + MCP 安全清单:权限、审计与最小暴露
Agent 连接外部工具后,能力会明显增强,但风险也会同步放大。尤其在 MCP 场景里,模型不再只是“回答问题”,而是可以“执行动作”。如果没有安全边界,问题往往不是错误回答,而是错误执行。
1. 把“能做什么”拆成可审计权限
为每个工具定义细粒度权限,不要只有“可调用/不可调用”两档。典型做法是按资源和动作拆分,例如:只读 issue、只写草稿、禁止删除。权限应由服务端判定,不依赖提示词约束。
2. 默认隔离工具上下文
不同工具之间不要默认共享所有上下文。对敏感数据(API Key、工单内容、客户信息)做按需注入,避免模型在不相关任务中引用到不该出现的数据。
3. 强制记录“谁在何时执行了什么”
审计日志要覆盖四层:用户请求、模型决策、工具调用参数、工具返回结果。日志 ID 应贯穿整个链路,方便定位一次异常执行是“提示词问题”“模型推断问题”还是“工具鉴权问题”。
4. 对高风险动作增加确认与回滚
删除、发布、转账、改权限等动作应强制二次确认。确认信息要由系统生成,不要让模型自行总结。能做幂等就做幂等,能回滚就提供回滚,先保证“可控失败”。
5. 提示词注入防护要前置
把外部输入当作不可信数据处理,先做分级与清洗,再进入模型上下文。建议把“系统指令”“工具 schema”“用户输入”分层渲染,避免外部文本篡改系统规则。
上线前最小清单
- 每个工具都有最小权限模型与过期策略
- 高风险动作有二次确认与速率限制
- 全链路审计日志可检索、可追溯
- 密钥与 Token 不进入模型长期上下文
- 异常调用有熔断与降级策略
如果团队资源有限,先做到“权限最小化 + 审计可追踪 + 高风险确认”,这三项通常能解决 80% 的实战风险。