三类风险:滥用、失控、外部攻击
Anthropic 的安全分类框架:用户滥用 / 模型 Misbehavior / Prompt Injection
本页解决的问题
先给结论「三类风险:滥用、失控、外部攻击」要解决的关键问题是什么?
Anthropic 的安全分类框架:用户滥用 / 模型 Misbehavior / Prompt Injection
让这个结论先证明自己值得留下。 把这一页当成决策工具,而不是需要背下来的定义。把概念连到一个真实任务、一个可观察结果,以及一个能改变你判断的失败上。
写下一个问题:试完这个方法后,你能用什么证据回答它?
结论听起来很完整,却没有检查最关键的假设。
每种 AI 产品面对的威胁模型不同,但所有风险都可以归入三个类别。理解这三类风险是设计安全架构的第一步。
- 利用 Agent 生成钓鱼邮件
- 诱导 Agent 执行恶意代码
- 利用 Agent 获取未授权的数据
- 通过越狱攻击绕过安全限制
- 过度行动:用户只让查看文件,模型却自作主张修改了
- 幻觉驱动操作:基于虚构信息执行了真实操作
- 权限越界:模型尝试访问不属于当前任务的资源
- 停不下来:Agent 进入无限循环
- Prompt Injection:网页/文档中嵌入攻击指令
- 供应链攻击:恶意 MCP 服务器返回篡改数据
- 数据投毒:训练数据中植入后门
- 间接注入:通过 Agent 读取的邮件/文件注入指令
MODEL LAYER 模型层防线
- RLHF/Constitutional AI 训练安全偏好
- 模型学会拒绝危险请求
- 模型在不确定时主动询问用户
- 遵循最小权限原则
ENVIRONMENT LAYER 环境层防线
- 沙箱隔离:代码执行在受限环境中
- 权限控制:按任务粒度授权
- 审批机制:高危操作需人工确认
- 网络隔离:限制 Agent 的网络访问范围
Model Context Protocol 带来的新攻击面
分类器 + 沙箱:高自主与低风险的组合
判断操作是否安全
即使误判也不会造成破坏
「安全分类框架」里的风险边界在哪里
「每种 AI 产品面对的威胁模型不同,但所有风险都可以归入三个类别。理解这三类风险是设计安全架构的第一步」把安全问题从一句“请模型不要犯错”拉回到权限、数据和环境。真正需要保护的是:模型即使判断失误,系统也不能让错误变成不可逆的结果。
把模型建议和实际权限分开
在「每种 AI 产品面对的威胁模型不同,但所有风险都可以归入三个类别。理解这三类风险是设计安全架构的第一步」涉及的流程中,要分别检查用户能要求什么、模型能建议什么、工具实际允许什么,以及谁有权批准写入或发送。网页、文档和工具返回值都可能携带不可信指令,不能因为它们看起来像说明就自动提升权限。
- 过度行动:用户只让查看文件,模型却自作主张修改了
- Prompt Injection:网页/文档中嵌入攻击指令
- 供应链攻击:恶意 MCP 服务器返回篡改数据
安全设计必须包含失败和恢复
结合「每种 AI 产品面对的威胁模型不同,但所有风险都可以归入三个类别。理解这三类风险是设计安全架构的第一步」做一次反向演练:加入错误输入、缺失凭证或迟迟不到的审批,确认系统会拒绝、暂停并留下可追踪信息,而不是继续执行到底。
从「安全分类框架」走到「MODEL LAYER 模型层防线」
「安全分类框架」先把问题落在「每种 AI 产品面对的威胁模型不同,但所有风险都可以归入三个类别。理解这三类风险是设计安全架构的第一步」上;到了「MODEL LAYER 模型层防线」,讨论继续推进到「通过训练让模型从内心倾向于安全行为,就像培养一个有良好价值观的员工。 RLHF/Constitutional AI 训练安全偏好 模型学会拒绝危险请求 模型在不确定时主动询问用户 遵循最小权限原则」。两段连起来,重点就不只是记住一个结论,而是看清它成立所依赖的条件。
把这条判断带到下一个场景
做安全判断时,把“模型想做什么”和“系统允许做什么”分开,逐个检查数据边界、工具权限、人工确认和失败后的恢复路径。
- 「安全分类框架」:每种 AI 产品面对的威胁模型不同,但所有风险都可以归入三个类别。理解这三类风险是设计安全架构的第一步
- 「MODEL LAYER 模型层防线」:通过训练让模型从内心倾向于安全行为,就像培养一个有良好价值观的员工。 RLHF/Constitutional AI 训练安全偏好 模型学会拒绝危险请求 模型在不确定时主动询问用户 遵循最小权限原则
- 「最后的要点」:RLHF/Constitutional AI 训练安全偏好
最后的「最后的要点」把讨论落到「RLHF/Constitutional AI 训练安全偏好」。回看这条线索时,最值得保留的是:当输入、规模或风险改变,哪些判断需要重新做一遍。
我把这篇文章里的一个判断改写成了今天可以验证的小实验。比记住结论更有用的是,知道下一步要观察什么。
读完以后我先回头找它成立的条件,而不是直接把方法搬进项目。这个顺序让后面的取舍清楚很多。
如果把这个判断放到真实工作里,最先需要补的约束是什么?我想知道从阅读到第一次实践之间,哪一步最值得先做。
还没有这篇文章的讨论。