语言模型 API 漏洞:通过助手预填充绕过安全机制
简要总结: 研究人员发现了一种称为“傀儡扮演”的方法,允许使用 assistant prefill API 函数中的一行代码绕过 11 种主要大型语言模型(LLM)的安全机制。该攻击利用文本生成功能,强制模型输出被禁止的内容。
攻击机制与有效性
“傀儡扮演”方法利用了某些语言模型 API 中可用的助手响应预填充功能。攻击者插入虚假的回复开头,模仿同意执行请求,例如表明准备好提供指令的陈述。现代 LLM 经过训练以保持文本连贯性,会按照指定方向继续生成,忽略内置禁令。
该攻击不需要访问内部模型参数,并以黑盒模式运行。在 11 个流行系统上的测试显示了不同程度的脆弱性:
- Gemini 2.5 Flash:15.7% 的攻击成功率;
- GPT-4o-mini:0.5%。
成功的尝试导致了恶意代码的生成或系统提示词的泄露。当结合角色扮演场景或伪装为数据格式化任务时,有效性会增加。
漏洞因素与防护措施
关键因素在于 API 的实现方式。像 OpenAI 和 AWS Bedrock 这样的平台完全禁止对助手消息进行预填充,从而消除了攻击面。其他服务,包括 Google Vertex AI,允许此功能,依赖内部模型过滤器。
对于自托管解决方案(Ollama, vLLM),由于缺乏严格的消息序列验证,风险更高。建议包括:
- 在 API 级别检查消息角色。
- 阻止用户对助手的预填充。
- 将傀儡扮演测试集成到红队测试计划中。
行业背景与影响
语言模型已集成到企业应用、聊天机器人和自动化系统中,安全性至关重要。此类漏洞凸显了多层级保护的需求:从 API 限制到提示词监控。行业对测试标准的需求日益增长,包括对抗性攻击模拟。
后果包括潜在机密信息泄露和漏洞利用程序的创建。开发人员被迫在可用性(预填充简化了自定义)和安全性之间取得平衡,这刺激了安全推理服务器的创新。
总体背景:随着 LLM 市场的增长(预计到 2030 年价值数千亿美元),此类发现加速了保护机制的演变,类似于 SQL 注入后 Web 安全的演变。
关键要点
- 攻击简单性: 一行代码即可绕过 11 种模型的防护,无需优化。
- 防护差异: 完全禁止预填充是最可靠的方法。
- 建议: 实施 API 验证和红队测试。
- 影响: 威胁采用 LLM 的企业应用。
- 趋势: AI 开发中对抗性测试的增长。
— Editorial Team
暂无评论。