课程来源: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)
构建防御体系:
- 建立安全规则与响应流程
- 对红队发现的问题进行修复
- 持续完善监控与告警
#四、工程落地建议
- 多层防御:单一防线易被突破,需要输入/系统/输出多层加固
- 灰度放量:新模型、新功能先在小流量中验证安全性
- 监控告警:对可疑模式实时监控,异常行为及时告警
- 持续迭代:攻防对抗是长期过程,需要定期更新防护策略
#五、小结
LLM 安全是一个动态博弈的领域。工程师需要具备攻防双向视角,既理解模型能力的边界,也了解攻击者的常用手法,才能构建真正健壮的 AI 应用。