推理安全与滥用防护
推理服务是模型与世界的接口——每个 API 端点都是攻击面:prompt 注入、越狱、滥用(批量爬取/转售)、数据外泄。本章讲清楚推理侧的安全实践:请求级防护、滥用控制、与内容安全。
| 威胁 | 形式 | 防护层 |
|---|---|---|
| Prompt 注入 | 系统提示被用户输入覆盖/操纵 | 输入过滤 + 架构隔离 |
| 越狱 | 绕过安全对齐(角色扮演、编码绕过等) | 对齐 + 输出过滤 |
| 滥用 | 批量爬取、转售、DoS | 限额 + 速率控制 |
| 数据外泄 | 系统提示/上下文的窃取 | 架构 + 输出过滤 |
| 内容风险 | 有害内容生成 | 过滤 + 审计 |
Prompt 注入:架构问题
Section titled “Prompt 注入:架构问题”注入的本质:模型无法区分"指令"与"数据"——用户输入里夹带指令("忽略之前的指令…")会被执行。这是架构问题,过滤只能缓解:
| 手段 | 效果 |
|---|---|
| 输入过滤(检测注入模式) | 缓解(绕过容易) |
| 架构隔离(工具调用的权限模型) | 根本手段:模型对工具的调用按最小权限,注入的危害被权限边界框住 |
| 输出过滤(工具调用前审查) | 关键动作前的二次确认 |
| 上下文隔离 | RAG 检索的内容标注"数据非指令" |
Agent 时代的注入危害升级:模型能调工具(执行代码、发消息、花钱)时,注入 = 任意操作——工具的权限模型(最小权限、关键动作确认)是 Agent 安全的核心,不是"过滤注入词"。
越狱与内容安全
Section titled “越狱与内容安全”越狱是安全对齐的对抗(角色扮演、编码、多轮诱导)——没有一劳永逸的解:
| 层 | 手段 |
|---|---|
| 模型层 | 安全对齐(SFT/RLHF 的安全部分) |
| 输入层 | 越狱模式检测 |
| 输出层 | 输出过滤(最后一道防线,覆盖模型层的缺口) |
| 审计层 | 全量日志 + 抽样评估(持续发现新绕过) |
输出过滤是最后一道防线:对齐会被绕过(持续的对抗),输出过滤覆盖缺口——"模型说不会输出"不等于"不会输出"。
API 的滥用(批量爬取、转售、DoS):
| 手段 | 做法 |
|---|---|
| 限额与速率 | 按用户的 RPM/TPM 限额(见SLO 与容量) |
| 异常检测 | 用量模式异常(爬取的特征:均匀速率、无对话性) |
| 分级访问 | 免费层限额低(转售的成本高),付费层 KYC |
| 出口控制 | 敏感模型不提供高吞吐低门槛的 API |
系统提示的保护
Section titled “系统提示的保护”系统提示是产品资产(风格、能力、商业机密)——"让模型复述系统提示"是经典攻击:
| 手段 | 效果 |
|---|---|
| 输出过滤(拒绝复述) | 缓解(绕过容易) |
| 架构手段 | 系统提示与对话隔离(模型对系统提示的"记忆"边界) |
| 接受现实 | 完全防不住——系统提示是"商业敏感"不是"机密",不要在系统提示里放真正的机密(API key 等) |
清醒的认识:系统提示可以被套出来——设计上不要依赖系统提示的保密性(它是产品的"配方"不是"保险箱")。
请求级隐私(回顾与串联)
Section titled “请求级隐私(回顾与串联)”用户请求的隐私(见数据治理):
- 请求日志保留期 + 用途声明
- 用户数据默认不进训练
- 多租户隔离(见多租户隔离)
- Agent 工具的最小权限模型(注入的根本防御,不是过滤词)
- 输出过滤是最后一道防线(对齐会被绕过)
- 限额 + 异常检测(滥用控制)
- 系统提示不设为机密(设计上不依赖其保密性)
- 全量日志 + 抽样评估(持续发现新绕过)
- 请求隐私:保留期 + 默认不进训练
- 推理四攻击面:prompt 注入(架构问题)、越狱(持续对抗)、滥用(限额控制)、外泄(设计不依赖保密性)。
- Prompt 注入是架构问题:工具的最小权限模型是根本防御,过滤注入词只能缓解。
- Agent 时代注入危害升级:模型能调工具 = 注入等于任意操作,权限边界框住危害。
- 输出过滤是最后一道防线:模型层对齐会被绕过,"说不会"不等于"不会"。
- 系统提示可以被套出来:它是"商业敏感"不是"机密",不要在里面放真机密。
- 滥用控制三板斧:限额、异常检测、分级访问。