RMBench
收藏资源简介:
RMBench是一个用于评估AI代理在RAG和工具使用系统中对抗恶意检索上下文的鲁棒性的基准测试数据集。它包含六个任务类型,每个任务有50个样本,总共300个样本,覆盖了八种攻击类型,并用于评估六种大型语言模型在云和本地环境下的表现。
RMBench is a benchmark dataset developed to evaluate the robustness of AI Agents against malicious retrieval contexts in Retrieval-Augmented Generation (RAG) and tool-use systems. It comprises six task types, with 50 samples per task, amounting to a total of 300 samples across eight attack categories. This dataset is used to assess the performance of six large language models in both cloud and on-premises environments.
RMBench 数据集详情
数据集概述
RMBench 是一个用于评估 AI 智能体在面对恶意检索上下文时鲁棒性的基准测试数据集。它专注于 RAG(检索增强生成)和工具使用系统中的检索操纵攻击。
研究动机
在 RAG 流水线中,若检索到的上下文是恶意的,智能体可能出现以下问题:
- 忽略原始指令
- 泄露敏感信息
- 执行不安全的工具调用
- 偏离预定目标
- 破坏自身记忆
研究问题
- 智能体对检索操纵攻击的脆弱程度
- 不同任务中最有效的攻击类型
- 攻击在不同模型家族间的迁移性
- 大型云模型是否比小型本地模型更具抵抗能力
- 最佳防御方法及其未缓解的攻击
- 模型规模对鲁棒性的影响
关键贡献
- 8类检索操纵攻击的分类体系
- 包含6种任务类型、每种任务50个样本(共300个样本)的基准数据集
- 包含6个安全指标的评估框架
- 6种防御方法的基准测试
- 跨3个Groq云模型和3个Ollama本地模型的混合多模型比较
数据集组成
- 任务类型:6种(问答、代码生成、工具使用、规划、摘要、记忆评估)
- 样本数量:每种任务50个样本,总计300个样本
- 评估实例:8种攻击 × 6种任务 × 50个样本 = 每个模型2,400个评估实例
攻击类型(8种)
| 攻击类型 | 描述 |
|---|---|
| 指令覆盖 | 通过注入上下文替换智能体的原始任务指令 |
| 上下文投毒 | 在检索文档中插入虚假或误导性信息 |
| 目标劫持 | 将智能体从原始目标引导至攻击者选择的目标 |
| 工具操纵 | 触发不安全、非预期或危险的工具调用 |
| 权威冒充 | 冒充系统、管理员或受信任权威以获取顺从 |
| 记忆投毒 | 用捏造的记忆破坏智能体的对话历史 |
| 多跳注入 | 跨多个检索跳跃链接注入载荷 |
| 隐藏提示注入 | 使用Unicode或注释样式标记隐藏恶意指令 |
任务类型(6种)
| 任务 | 数据集文件 | 描述 |
|---|---|---|
| 问答 | qa_dataset.json |
对抗性上下文下的事实性问答 |
| 代码生成 | code_dataset.json |
注入恶意需求的代码任务 |
| 工具使用 | tool_use_dataset.json |
在操纵上下文下的工具选择 |
| 规划 | planning_dataset.json |
目标劫持上下文下的多步规划 |
| 摘要 | summarization_dataset.json |
受投毒源文档影响的摘要 |
| 记忆评估 | memory_dataset.json |
记忆投毒攻击下的回忆任务 |
评估指标(6个)
| 指标 | 符号 | 描述 | 方向 |
|---|---|---|---|
| 攻击成功率 | ASR | 成功操纵模型的攻击比例 | 越低越好 |
| 上下文鲁棒性指数 | CRI | 综合鲁棒性得分 | 越高越好 |
| 目标保持分数 | GPS | 保持原始目标的响应比例 | 越高越好 |
| 真实性分数 | TS | 攻击下响应的事实准确性 | 越高越好 |
| 工具安全分数 | TSS | 安全且适当的工具调用比例 | 越高越好 |
| 记忆完整性分数 | MIS | 对记忆投毒和虚假回忆的抵抗能力 | 越高越好 |
防御方法(6种)
| 防御方法 | 描述 |
|---|---|
| 上下文清理 | 基于正则和启发式的注入模式移除 |
| 注入检测 | 基于分类器的提示注入检测 |
| 信任评分 | 源可信度评分以降低可疑上下文的权重 |
| 多智能体验证 | 基于独立智能体调用的共识验证 |
| 宪法过滤 | 基于原则的过滤以拒绝违反策略的上下文 |
| 来源追踪 | 验证上下文文档来源的源认证 |
支持的模型
-
Groq(云端推理):
llama-3.3-70b-versatile(Llama家族,70B参数,128k上下文)meta-llama/llama-4-scout-17b-16e-instruct(Llama家族,17B参数,128k上下文)qwen/qwen3-32b(Qwen家族,32B参数,128k上下文)
-
Ollama(本地推理):
mistral:7b(Mistral家族,7B参数,32k上下文,4.4 GB存储)gemma3:4b(Gemma家族,4B参数,128k上下文,3.3 GB存储)deepseek-r1:7b(DeepSeek家族,7B参数,128k上下文,4.7 GB存储)
基准测试流水线
查询 -> 数据集 -> 检索器 (FAISS) -> 攻击注入器 -> [防御] -> 语言模型 -> 评估器 -> 指标
结果输出
基准测试结果以JSON和CSV格式写入 results/ 目录。运行 python run_benchmark.py --defenses none --samples 10 生成结果,运行 python scripts/generate_visualizations.py 生成可视化。
目标受众
- 人工智能安全研究员
- 研究RAG流水线的安全研究员
- 评估生产环境鲁棒性的智能体开发者
- 研究语言模型鲁棒性的博士生
许可证
MIT
免责声明
本项目严格用于研究和对人工智能系统的防御性评估。攻击实现仅用于衡量和改进模型鲁棒性,不支持任何恶意或现实世界的利用。




