RAG 安全:检索增强系统的攻防
RAG 把外部知识接进大模型,能力变强,攻击面也随之扩大:文档本身可能成为攻击载体。本文从防御视角梳理 RAG 的独特风险与加固措施,不含任何可滥用的攻击载荷。
风险一:检索投毒
- 攻击者把恶意或误导内容混入知识库,模型检索后「引用错料」。
- 后果:输出被污染、信誉受损,甚至诱导错误决策。
- 加固:来源白名单、内容审核、检索结果溯源与告警。
风险二:间接注入
- 恶意文本藏在被检索的文档里,模型把文档内容当成指令执行(详见本站「提示注入」)。
- 加固:明确「文档是数据不是指令」,对越权操作拒绝;工具权限最小化。
风险三:越权与隐私
- 用户提问可能「套出」知识库中不该公开的内容,或借检索探测库的边界。
- 加固:按用户权限过滤检索范围,敏感文档单独隔离,审计查询日志。
风险四:数据依赖幻觉
- 检索召回质量差或片段被截断,模型会「顺着编」。
- 加固:设置「无依据不答」的兜底规则,标注置信度,引用可溯源。
落地检查清单
- 入库前过滤与去重,敏感数据分级。
- 检索层做权限隔离,不把全库暴露给所有用户。
- 输出层加护栏:检测诱导、拦截越权、保留溯源链接。
- 定期红队:用注入与投毒样本回归测试。
小结
RAG 的安全核心是「管住文档入口、守住检索边界、验住输出出口」。相比纯聊天,RAG 多了一层文档攻击面,需要从入库到输出全链路加固。
参考与延伸阅读
- OWASP Top 10 for LLM Applications(已核验,含 LLM01 提示注入)
- 本站「提示注入攻击」「AI 红队测试」与「RAG 实战」教程
本文累计阅读 — 次