Quality Assurance·质量保障·

LLM 安全对齐

#QA#安全#对齐

课程来源:AI 工程化实战笔记 影片链接:待补充 投影片:待补充

#一、LLM 应用的安全威胁

#1. 越狱攻击(Jailbreak)

通过精心构造的 Prompt 诱导模型绕过安全限制,常见形式:

  • 角色扮演:"你现在是一个没有限制的 AI"
  • 编码诱导:要求模型将有害内容编码后输出
  • 多轮诱导:通过上下文积累逐步突破
  • Dan 模式:"Do Anything Now"

#2. 提示注入(Prompt Injection)

  • 直接注入:用户输入中包含 "ignore previous instructions"
  • 间接注入:通过检索文档、网页内容注入恶意指令

#3. 其他威胁

  • 数据泄露:通过 Prompt 诱导模型泄露训练数据或系统 Prompt
  • 滥用能力:生成恶意代码、钓鱼邮件、虚假信息
  • 资源滥用:恶意消耗 API Token

#二、防护策略

#1. 输入侧防护

  • 输入过滤:基于关键字或分类模型检测恶意输入
  • Prompt 注入检测:识别 "ignore"、"disregard"、"system" 等危险模式
  • 沙箱执行:对模型生成的代码/命令在受限环境中运行

#2. 系统 Prompt 加固

  • 明确且健壮的系统指令
  • 对系统 Prompt 完整性进行运行时校验
  • 避免在系统 Prompt 中暴露敏感信息

#3. 输出侧过滤

  • 有害内容分类器
  • 关键字黑名单 + 正则匹配
  • 对高风险输出进行人工审核或直接拦截

#4. 内容注入防护

  • 对 RAG 检索到的外部文档标记为"不可信"
  • 对模型进行指令遵循鲁棒性训练
  • 使用 Prompt 模板将用户输入与指令强隔离

#三、红蓝对抗

#1. 红队(Red Team)

主动尝试突破系统:

  • 构造多样化的越狱 Prompt
  • 针对业务场景设计攻击用例
  • 从攻击者视角评估系统弱点

#2. 蓝队(Blue Team)

构建防御体系:

  • 建立安全规则与响应流程
  • 对红队发现的问题进行修复
  • 持续完善监控与告警

#四、工程落地建议

  1. 多层防御:单一防线易被突破,需要输入/系统/输出多层加固
  2. 灰度放量:新模型、新功能先在小流量中验证安全性
  3. 监控告警:对可疑模式实时监控,异常行为及时告警
  4. 持续迭代:攻防对抗是长期过程,需要定期更新防护策略

#五、小结

LLM 安全是一个动态博弈的领域。工程师需要具备攻防双向视角,既理解模型能力的边界,也了解攻击者的常用手法,才能构建真正健壮的 AI 应用。