跳转到内容

推理安全与滥用防护

推理服务是模型与世界的接口——每个 API 端点都是攻击面:prompt 注入、越狱、滥用(批量爬取/转售)、数据外泄。本章讲清楚推理侧的安全实践:请求级防护、滥用控制、与内容安全。

威胁形式防护层
Prompt 注入系统提示被用户输入覆盖/操纵输入过滤 + 架构隔离
越狱绕过安全对齐(角色扮演、编码绕过等)对齐 + 输出过滤
滥用批量爬取、转售、DoS限额 + 速率控制
数据外泄系统提示/上下文的窃取架构 + 输出过滤
内容风险有害内容生成过滤 + 审计

注入的本质:模型无法区分"指令"与"数据"——用户输入里夹带指令("忽略之前的指令…")会被执行。这是架构问题,过滤只能缓解:

手段效果
输入过滤(检测注入模式)缓解(绕过容易)
架构隔离(工具调用的权限模型)根本手段:模型对工具的调用按最小权限,注入的危害被权限边界框住
输出过滤(工具调用前审查)关键动作前的二次确认
上下文隔离RAG 检索的内容标注"数据非指令"

Agent 时代的注入危害升级:模型能调工具(执行代码、发消息、花钱)时,注入 = 任意操作——工具的权限模型(最小权限、关键动作确认)是 Agent 安全的核心,不是"过滤注入词"。

越狱是安全对齐的对抗(角色扮演、编码、多轮诱导)——没有一劳永逸的解:

层手段
模型层安全对齐(SFT/RLHF 的安全部分)
输入层越狱模式检测
输出层输出过滤(最后一道防线,覆盖模型层的缺口)
审计层全量日志 + 抽样评估(持续发现新绕过)

输出过滤是最后一道防线:对齐会被绕过(持续的对抗),输出过滤覆盖缺口——"模型说不会输出"不等于"不会输出"。

API 的滥用(批量爬取、转售、DoS):

手段做法
限额与速率按用户的 RPM/TPM 限额(见SLO 与容量)
异常检测用量模式异常(爬取的特征:均匀速率、无对话性)
分级访问免费层限额低(转售的成本高),付费层 KYC
出口控制敏感模型不提供高吞吐低门槛的 API

系统提示是产品资产(风格、能力、商业机密)——"让模型复述系统提示"是经典攻击:

手段效果
输出过滤(拒绝复述)缓解(绕过容易)
架构手段系统提示与对话隔离(模型对系统提示的"记忆"边界)
接受现实完全防不住——系统提示是"商业敏感"不是"机密",不要在系统提示里放真正的机密(API key 等)

清醒的认识:系统提示可以被套出来——设计上不要依赖系统提示的保密性(它是产品的"配方"不是"保险箱")。

用户请求的隐私(见数据治理):

  • 请求日志保留期 + 用途声明
  • 用户数据默认不进训练
  • 多租户隔离(见多租户隔离)
  1. Agent 工具的最小权限模型(注入的根本防御,不是过滤词)
  2. 输出过滤是最后一道防线(对齐会被绕过)
  3. 限额 + 异常检测(滥用控制)
  4. 系统提示不设为机密(设计上不依赖其保密性)
  5. 全量日志 + 抽样评估(持续发现新绕过)
  6. 请求隐私:保留期 + 默认不进训练
  • 推理四攻击面:prompt 注入(架构问题)、越狱(持续对抗)、滥用(限额控制)、外泄(设计不依赖保密性)。
  • Prompt 注入是架构问题:工具的最小权限模型是根本防御,过滤注入词只能缓解。
  • Agent 时代注入危害升级:模型能调工具 = 注入等于任意操作,权限边界框住危害。
  • 输出过滤是最后一道防线:模型层对齐会被绕过,"说不会"不等于"不会"。
  • 系统提示可以被套出来:它是"商业敏感"不是"机密",不要在里面放真机密。
  • 滥用控制三板斧:限额、异常检测、分级访问。