Interview: 防御Prompt Injection和Jailbreak的系统方案


题目解析

Prompt Injection是指通过精心构造的输入覆盖系统指令,Jailbreak是指绕过模型安全对齐机制获取有害输出。两者都可能导致模型产生不当内容或泄露系统信息。本题考察候选人对LLM安全攻防体系的全面理解和系统性防御方案的设计能力。

解答思路

构建多层纵深防御体系:1)输入层:部署专门的分类器检测恶意prompt模式,对用户输入做模板化隔离,使用XML标记或特殊分隔符区分系统指令和用户输入;2)模型层:通过安全RLHF增强模型拒绝能力,在system prompt中加入防御指令;3)输出层:部署内容安全过滤器,对敏感话题进行二次审查和内容脱敏;4)监控层:实时记录和分析异常请求模式,建立攻击特征库并持续更新。

关键要点

没有任何单一防御手段是完美的,必须采用纵深防御策略。Prompt Injection的核心挑战在于模型无法可靠区分指令和数据。建议将用户输入视为不可信数据,类比SQL注入的参数化查询思路,在架构层面实现指令和数据的物理隔离而非仅依赖模型自身的判断。

加分回答

讨论Instruction Hierarchy的研究进展,即让模型学会区分不同优先级的指令来源。提到对抗训练和红队演练的常态化机制,以及构建攻防对抗的持续迭代闭环。还可以讨论开源安全工具如Guardrails的应用。

常见踩坑

仅依赖关键词黑名单过滤而忽略语义层面的攻击变种;安全措施过于严格导致正常使用体验严重下降(过度拒绝问题);未建立持续更新的攻击样本库导致防御手段落后于不断进化的攻击技术。