RAG 安全:检索增强系统的攻防

RAG 把外部知识接进大模型,能力变强,攻击面也随之扩大:文档本身可能成为攻击载体。本文从防御视角梳理 RAG 的独特风险与加固措施,不含任何可滥用的攻击载荷。

风险一:检索投毒

  • 攻击者把恶意或误导内容混入知识库,模型检索后「引用错料」。
  • 后果:输出被污染、信誉受损,甚至诱导错误决策。
  • 加固:来源白名单、内容审核、检索结果溯源与告警。

风险二:间接注入

  • 恶意文本藏在被检索的文档里,模型把文档内容当成指令执行(详见本站「提示注入」)。
  • 加固:明确「文档是数据不是指令」,对越权操作拒绝;工具权限最小化。

风险三:越权与隐私

  • 用户提问可能「套出」知识库中不该公开的内容,或借检索探测库的边界。
  • 加固:按用户权限过滤检索范围,敏感文档单独隔离,审计查询日志。

风险四:数据依赖幻觉

  • 检索召回质量差或片段被截断,模型会「顺着编」。
  • 加固:设置「无依据不答」的兜底规则,标注置信度,引用可溯源。

落地检查清单

  • 入库前过滤与去重,敏感数据分级。
  • 检索层做权限隔离,不把全库暴露给所有用户。
  • 输出层加护栏:检测诱导、拦截越权、保留溯源链接。
  • 定期红队:用注入与投毒样本回归测试。

小结

RAG 的安全核心是「管住文档入口、守住检索边界、验住输出出口」。相比纯聊天,RAG 多了一层文档攻击面,需要从入库到输出全链路加固。

参考与延伸阅读

  • OWASP Top 10 for LLM Applications(已核验,含 LLM01 提示注入)
  • 本站「提示注入攻击」「AI 红队测试」与「RAG 实战」教程
本文累计阅读