AI Agent + MCP 安全清单:权限、审计与最小暴露

Agent 连接外部工具后,能力会明显增强,但风险也会同步放大。尤其在 MCP 场景里,模型不再只是“回答问题”,而是可以“执行动作”。如果没有安全边界,问题往往不是错误回答,而是错误执行。

1. 把“能做什么”拆成可审计权限

为每个工具定义细粒度权限,不要只有“可调用/不可调用”两档。典型做法是按资源和动作拆分,例如:只读 issue、只写草稿、禁止删除。权限应由服务端判定,不依赖提示词约束。

2. 默认隔离工具上下文

不同工具之间不要默认共享所有上下文。对敏感数据(API Key、工单内容、客户信息)做按需注入,避免模型在不相关任务中引用到不该出现的数据。

3. 强制记录“谁在何时执行了什么”

审计日志要覆盖四层:用户请求、模型决策、工具调用参数、工具返回结果。日志 ID 应贯穿整个链路,方便定位一次异常执行是“提示词问题”“模型推断问题”还是“工具鉴权问题”。

4. 对高风险动作增加确认与回滚

删除、发布、转账、改权限等动作应强制二次确认。确认信息要由系统生成,不要让模型自行总结。能做幂等就做幂等,能回滚就提供回滚,先保证“可控失败”。

5. 提示词注入防护要前置

把外部输入当作不可信数据处理,先做分级与清洗,再进入模型上下文。建议把“系统指令”“工具 schema”“用户输入”分层渲染,避免外部文本篡改系统规则。

上线前最小清单

  • 每个工具都有最小权限模型与过期策略
  • 高风险动作有二次确认与速率限制
  • 全链路审计日志可检索、可追溯
  • 密钥与 Token 不进入模型长期上下文
  • 异常调用有熔断与降级策略

如果团队资源有限,先做到“权限最小化 + 审计可追踪 + 高风险确认”,这三项通常能解决 80% 的实战风险。