治理与安全:AI-Native 团队的护栏系统
AI-Native 团队越强,越需要治理。架构师的目标不是让 Agent “什么都能做”,而是让它在正确边界内稳定做事。
1. 四层护栏
| 层级 | 作用 | 例子 |
|---|---|---|
| 身份层 | 确认谁在执行 | agent_id、user_id、session_id |
| 权限层 | 决定能不能做 | read / write / deploy / pay |
| 流程层 | 决定什么时候做 | review_required、approval_gate |
| 审计层 | 事后能追踪 | trace_id、tool_call_id、diff |
2. 最小权限模型
每个 Agent 默认只读,写入和外部副作用需要显式授权。
permission_mode:
default: read_only
write_workspace: ask_before_write
external_api: scoped_token
deploy_production: human_approval_required
payment_or_purchase: forbidden_by_default
这套模型可以直接映射到 MCP server、OpenAI Agents SDK tools、内部 API Gateway 或工作流系统。
3. 人审闸门
必须进人审的动作:
| 动作 | 原因 |
|---|---|
| 发布生产环境 | 影响真实用户 |
| 修改权限、密钥、域名、DNS | 影响安全边界 |
| 删除数据、迁移数据库 | 不可逆风险 |
| 调用付费接口、大额推理 | 成本风险 |
| 发送邮件、发帖、提交表单 | 对外传播风险 |
4. Prompt Injection 防御
真实系统里,网页、PDF、邮件、数据库记录、用户上传文件都可能包含恶意指令。架构师要把“内容”和“指令”分开。
核心策略:
- 外部内容只能作为数据,不能覆盖系统规则。
- Tool 输出只能进入受限上下文,不能自动触发高风险动作。
- 检索内容要保留来源、时间、可信度。
- 对敏感动作做二次确认和参数白名单。
- 对 Agent 输出做结构化校验,失败就拒绝执行。
5. MCP 安全边界
MCP 让 Agent 标准化接入 tools、resources、prompts 和 sampling。架构师要特别关注:
| 能力 | 风险 | 设计方式 |
|---|---|---|
| tools | 真实执行副作用 | 最小权限、参数校验、人审 |
| resources | 泄露敏感数据 | 分级读取、脱敏、审计 |
| prompts | 注入错误任务意图 | 来源标记、版本管理 |
| sampling | 模型间接调用模型 | 限流、计费、日志 |
6. 安全验收清单
- Agent 是否能说明每一次工具调用的理由?
- 高风险工具是否必须人工批准?
- 外部内容是否被标记为不可信?
- 是否记录 tool input / output 摘要?
- 是否能按 trace_id 复盘事故?
- 是否覆盖 OWASP LLM Top 10 中的 Prompt Injection、Sensitive Information Disclosure、Excessive Agency 等风险?