7.0
深览指数
科技Bestblogs·Spring I/O··AI 生成

攻破 LLM 驱动的应用:从上下文投毒、工具越权到纵深防御

一场安全实战演讲展示了传统应用漏洞如何污染 LLM 上下文并触发危险的工具操作。作者通过一个刻意保留漏洞的租车应用,演示了路径遍历投毒 RAG、SQL 注入伪造记忆、多步提示绕过规则等攻击链。演讲核心贡献在于将 LLM 安全从提示词层面推进到系统架构层面,提出了最小权限、授权校验、输入输出护栏、可观测性与人工控制等具体防护实践。适合正在构建或维护 LLM 应用的开发者与安全工程师阅读。原文 ↗

核心观点
  • 整个 LLM 上下文都是攻击面:系统指令、检索文档、聊天历史、用户提示和工具定义都会影响模型行为,仅保护用户可见的提示词会导致多个可被利用的信任边界无防护。
  • 工具安全必须由应用代码强制保障,而非依赖模型自身判断。通过范围狭窄的函数、绑定用户身份的授权校验、参数验证与明确确认机制,将安全决策置于自然语言推理之外。
  1. 01演讲者利用路径遍历漏洞修改 RAG 检索的政策文档,使 LLM 给出“允许租用豪华跑车”的错误建议,展示了传统漏洞如何污染上下文。
  2. 02通过 SQL 注入在聊天历史中插入伪造数据,模型后续对话中会引用这些“记忆”,使攻击者能间接操控模型行为。
  3. 03攻击者使用多步提示,逐步引导模型突破“不透露财务信息”的规则,最终使其输出虚构的用户信用卡明细。
  4. 04演示中,一个权限过大的“执行任意 SQL”工具,被模型用于执行破坏性操作(如删除用户数据),而小型模型因指令遵循能力较弱,更易被诱导执行危险操作。
  5. 05纵深防御架构包括:保障传统代码安全、将上下文源视为不可信输入、部署输入输出护栏、在模型外执行授权、暴露狭窄工具、高风险操作需确认、维持确定性状态转换、记录副作用、敏感任务路由至私有模型。
  6. 06护栏可以结合低成本的确定性规则(如正则匹配)与专用模型分类器,但会失效,不能替代访问控制与安全编码。
反方 / 局限
  • 作者未详细讨论多步提示攻击的防御成本:复杂推理场景中,严格规则与最小权限可能严重降低用户体验与任务完成率。
  • 文中建议将敏感工作负载路由到私有模型,但未展开讨论私有模型在安全性、性能与成本之间的权衡,也未提及如何评估模型供应商的隐私保障。
3 分钟 · 4 卡片 · 8 资料
读原文 →

前置背景

平行视角

未来推演

延伸追问