安全与容器化
三类风险:滥用、失控、外部攻击
安全不是加一层提示词就够的,需要从架构层面进行结构性设计。这里介绍一套系统化的安全分类框架。
安全分类框架
每种 AI 产品面对的威胁模型不同,但所有风险都可以归入三个类别。理解这三类风险是设计安全架构的第一步。
MISUSE
用户滥用
用户故意让 Agent 做不该做的事情。这是来自用户侧的主动威胁。
- 利用 Agent 生成钓鱼邮件
- 诱导 Agent 执行恶意代码
- 利用 Agent 获取未授权的数据
- 通过越狱攻击绕过安全限制
MISBEHAVIOR
模型失控
模型自发的错误行为:没人指使它,但它自己做了不该做的事。
- 过度行动:用户只让查看文件,模型却自作主张修改了
- 幻觉驱动操作:基于虚构信息执行了真实操作
- 权限越界:模型尝试访问不属于当前任务的资源
- 停不下来:Agent 进入无限循环
EXTERNAL ATTACK
外部攻击
第三方通过注入恶意内容来操控 Agent 的行为。攻击来自数据源,用户本身可能毫不知情。
- Prompt Injection:网页/文档中嵌入攻击指令
- 供应链攻击:恶意 MCP 服务器返回篡改数据
- 数据投毒:训练数据中植入后门
- 间接注入:通过 Agent 读取的邮件/文件注入指令
双层 Containment 策略
MODEL LAYER 模型层防线
通过训练让模型从内心倾向于安全行为,就像培养一个有良好价值观的员工。
- RLHF/Constitutional AI 训练安全偏好
- 模型学会拒绝危险请求
- 模型在不确定时主动询问用户
- 遵循最小权限原则
ENVIRONMENT LAYER 环境层防线
通过系统架构让危险操作无法执行,就像给仓库加锁,不依赖员工的自觉。
- 沙箱隔离:代码执行在受限环境中
- 权限控制:按任务粒度授权
- 审批机制:高危操作需人工确认
- 网络隔离:限制 Agent 的网络访问范围
MCP 的双重风险
Model Context Protocol 带来的新攻击面
SUPPLY CHAIN RISK
供应链风险
不可信的 MCP 服务器可能注入恶意内容。Agent 信任 MCP 返回的工具描述和数据,但这些数据可能已被篡改。一个恶意的 MCP 服务器可以通过修改工具描述来操控 Agent 的行为:Agent 以为自己在用「搜索文件」工具,实际上在执行删除操作。
PROMPT INJECTION
注入攻击
MCP 返回的内容可能包含攻击指令。即使 MCP 服务器本身没有恶意,它返回的数据(比如从网页抓取的内容)可能包含 Prompt Injection 攻击。Agent 处理这些数据时,可能被说服执行非预期的操作。
MCP 本质上扩大了 Agent 的攻击面。每多接入一个 MCP 服务器,就多了一个潜在的数据注入入口。产品设计者需要像审核第三方 SDK 一样审核每个 MCP 集成,信任但要验证。
Auto Mode 的实践数据
分类器 + 沙箱:高自主与低风险的组合
~83%
权限弹窗减少比例
2
核心组件
Auto Mode 通过两个核心组件实现了高自主 + 低风险的平衡:
分类器
判断操作是否安全
判断操作是否安全
+
沙箱
即使误判也不会造成破坏
即使误判也不会造成破坏
=
高自主 + 低风险
分类器负责快速判断每个操作的风险等级:安全操作直接执行,可疑操作才弹窗询问。沙箱作为第二道防线,确保即使分类器误判,代码执行也不会对系统造成真实损害。两者组合,让用户减少了约 83% 的确认弹窗,同时保持了安全性。
安全不是加一层提示词就够的,需要结构性设计。理解三类风险(滥用、失控、攻击),在模型层和环境层同时构建防线,才能让 Agent 在实际生产环境中安全运行。