Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
aligned-rag-eval — 用于 RAG 投毒防御的轻量级评估框架,可构建四条件干净/投毒记录,并报告被阻止的目标、净减少量、干净侧影响和审计数据包。 | Kitploit
工具/GitHubGitHub/chxhana/aligned-rag-eval
防御工具机器学习论文与研究AI 安全对抗性攻击
GitHubchxhana/aligned-rag-eval

aligned-rag-eval

用于 RAG 投毒防御的轻量级评估框架,可构建四条件干净/投毒记录,并报告被阻止的目标、净减少量、干净侧影响和审计数据包。

查看仓库
6126天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

AlignedRAG-Eval

AlignedRAG-Eval 是一个用于 RAG 投毒防御的轻量级评估框架。 它构建了我们论文中使用的四条件记录:干净输入和投毒输入,各自分别在有防御和无防御的情况下运行。 基于保存的答案文件,它报告被阻止的目标、被引入的目标、净目标减少量、干净侧副作用,以及用于语义审查的审计包。

本仓库不包含基准语料库、API 密钥或外部防御仓库。 请从原始维护者处下载外部资源,并遵循其许可证。

包含内容

  • aligned_rag/:评估、评分、审计、防御适配器和 JSONL 框架代码。
  • examples/jsonl/:一个无需 GPU 或外部数据即可运行的微型四条件示例。
  • paper_artifacts/audit/:用于论文验证检查的审计包和已完成的标签。
  • phase1_pilot.py、run_defenses.py、run_generalization.py:用于更大规模 PoisonedRAG、检测器和泛化实验的脚本。
  • requirements-phase1.txt、requirements-defense-suite.txt:主要实验路径的依赖要求。

安装

对于轻量级 JSONL 框架:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .

如需完整的实验脚本,还需安装额外的依赖项:

python -m pip install -r requirements-phase1.txt
python -m pip install -r requirements-defense-suite.txt
python -m spacy download en_core_web_sm
python - <<'PY'
import nltk
nltk.download('stopwords')
PY

如果你的 CUDA 版本需要运行模型生成或检测器评分,请单独安装 PyTorch 和 vLLM。 JSONL 测试框架本身不需要 GPU。

快速开始

此示例检查该工件能否输出四条件记录、转换表、P/J/N/H 诊断信息以及审计数据包。

aligned-rag-eval init-example examples/jsonl

aligned-rag-eval build-record \
  --clean-undefended examples/jsonl/clean_undefended.jsonl \
  --poisoned-undefended examples/jsonl/poisoned_undefended.jsonl \
  --clean-defended examples/jsonl/clean_defended.jsonl \
  --poisoned-defended examples/jsonl/poisoned_defended.jsonl \
  --method example_defense \
  --setting-id example \
  --out examples/outputs/record_example.json

aligned-rag-eval report \
  --records examples/outputs/record_example.json \
  --out examples/outputs

aligned-rag-eval audit-export \
  --records examples/outputs/record_example.json \
  --out examples/outputs/audit_packet_example.json

报告目录包含:

  • summary.json:汇总的四条件诊断结果。
  • p_j_n_h.csv:被阻止的目标(P)、被引入的目标(J)、净减少量(N=P-J)、干净目标变化(H),以及因子对比(Gamma=N+H)。
  • transitions.csv:查询级别在无防御与有防御答案之间的转换。

输入格式

每个输入文件均为 JSONL 格式,每行一个查询对象。 四个文件必须包含相同的 query_id 值。

必需字段:

{"query_id": "q1", "question": "...", "answer": "..."}

推荐字段:

{
  "query_id": "q1",
  "group_id": "g1",
  "question": "Who plays the main character in Hacksaw Ridge?",
  "target": "Tom Hanks",
  "references": ["Andrew Garfield"],
  "reference_source": "benchmark",
  "answer": "Tom Hanks."
}

自动报告使用目标字符串包含关系进行可复现的诊断。 使用导出的审计包供 LLM 或人工标注目标认可、引用正确性和弃答情况。

完整实验的外部资源

完整实验使用外部数据集、攻击、检索器和防御代码。 将它们放在 data/ 和 baselines/ 下,或将自定义路径传递给脚本。

mkdir -p data baselines

推荐的外部资源:

  • PoisonedRAG 攻击产物与代码:baselines/PoisonedRAG
  • RobustRAG 防御代码:baselines/RobustRAG
  • TrustRAG 防御代码:baselines/TrustRAG
  • 通过 BEIR 或原始基准发布版本获取的 HotpotQA 和 Natural Questions
  • 用于 DPR 风格 NQ 设置的 DPR Wikipedia 段落
  • 用于复现的 Contriever、BGE、Llama、Mistral 及其他受害模型的 Hugging Face 模型检查点

这些脚本包含用于导入 BEIR 语料库和构建本地 SQLite 语料库的命令,例如:

python -m aligned_rag.cli download-beir --dataset hotpotqa --out-dir data/downloads
python -m aligned_rag.cli import-corpus \
  --input data/downloads/hotpotqa/corpus.jsonl \
  --format beir-jsonl \
  --out-dir data/hotpotqa_sqlite

我们感谢 PoisonedRAG、RobustRAG、TrustRAG、HotpotQA、Natural Questions、BEIR、DPR、Contriever、BGE、Hugging Face 模型以及 vLLM 的作者发布相关资源,使本次评估得以实现。 请引用他们的原始工作,并遵守每项资源的许可条款。

审计产物

paper_artifacts/audit/ 包含随论文发布的审计材料。 主要审计样本有意对存在争议的转换和判定不确定的案例进行过采样,因此它检验的是标签行为,而非估计总体层面的判定准确率。

下载工具