MuhammadHammadIrfan/Aginiti-redteam
GitHub: MuhammadHammadIrfan/Aginiti-redteam
面向企业级RAG与Agentic AI系统的开源数据泄露红队测试库,通过模拟攻击主动发现和量化敏感数据外泄风险。
Stars: 0 | Forks: 0
# Aginiti Redteam 🛡️🤖
[]()
[]()
[]()
**Aginiti Redteam** 是一个开源的安全探测与红队测试库,专门为企业级的 **agentic AI 与 RAG 系统进行数据泄露审计**而构建。它使安全工程师和开发人员能够探测基于 RAG 的 AI 应用,对数据外泄风险进行分类,并将安全发现直接映射到 OWASP 大型语言模型应用 Top 10。
与通用的 LLM 安全工具不同,Aginiti Redteam 是专门为 RAG 架构从零开始构建的——重点关注用户查询、向量搜索检索和最终生成输出之间的交互。
## 🚀 核心功能
* **IKEA 数据重构攻击 (DRA):** 引入了 arXiv:2505.15420 的方法论。利用 Embedding 空间重采样 (ERS) 和主题受限随机游走变异 (TRDM) 生成听起来自然、看似无害的查询,从而绕过传统的关键词或越狱检测器。
* **分层探测架构:**
* **Tier 1 (黑盒):** 探测 agent 的 HTTP endpoint。严格基于对话响应评估数据外泄风险。
* **Tier 2 (白盒/OTel):** 挂载到 OpenTelemetry。通过将外泄数据与 RAG 检索跨度进行交叉比对,将发现的问题升级为“已确认”。
* **LLM-as-a-Judge 分类:** 分析响应文本,利用可定制的评判 prompt 将披露内容分类为 *PII*、*原文*、*敏感数据*、*Schema* 或 *无*。
* **集中式 Embeddings 层:** 采用基于 ChromaDB 内置 ONNX runtime (`all-MiniLM-L6-v2`) 运行的本地优先 embeddings——实现零成本、高性能的离线数据外泄计算。
* **面向 CISO 的 Markdown 报告:** 自动生成详细的评估报告,概述外泄指标、风险表以及映射到 OWASP LLM Top 10 的修复建议。
## 📁 仓库结构
```
aginiti-redteam/
├── aginiti/
│ ├── attacks/
│ │ ├── base.py # Base class (BaseAttack) & findings schema (LeakFinding)
│ │ └── dra/
│ │ ├── ikea.py # IKEA attack loop (ERS + TRDM)
│ │ └── README.md
│ ├── connectors/
│ │ ├── endpoint.py # HTTP client for target agents
│ │ └── embedding.py # Local ONNX & cloud embedding routing
│ └── reporting/
│ └── markdown_report.py # Markdown report generator
├── benchmarks/
│ ├── dev_fixtures/ # Lightweight mock targets used in unit tests & local dev
│ │ ├── agents/ # Reference black-box and OTel-instrumented FastAPI agents
│ │ └── datasets/ # 25 synthetic Acme HR records
│ └── scaled_evals/ # Production-scale benchmarking suite
│ ├── agents/ # HealthCareMagic-1k FastAPI target agent
│ ├── datasets/ # prepare_healthcare.py download script
│ └── results/ # Saved evaluation runs
├── scripts/
│ ├── run_ikea.py # Single-target IKEA run script
│ ├── run_benchmark.py # Empirical scoring CLI
│ └── run_healthcare_benchmark.py # Preset HealthCareMagic benchmark runner
└── tests/ # Complete offline test suite (all LLM & endpoints mocked)
```
## 🛠️ 安装与开发者设置
### 前置条件
* Python 3.10+
* 任何受 LiteLLM 支持的提供商的有效 API key(例如 `GEMINI_API_KEY`、`OPENAI_API_KEY`、`GROQ_API_KEY` 等),因为攻击循环和 LLM-as-a-judge 分类完全与提供商无关。
### 安装
克隆仓库并以可编辑模式安装,包含开发依赖:
```
git clone https://github.com/aginiti/aginiti-redteam.git
cd aginiti-redteam
pip install -e ".[dev]"
```
### 1. 种子化与启动参考 Agent
Acme HR 参考 agent 共享一个包含 25 条记录的合成数据库,但运行在不同的端口上,以隔离 Tier 1 和 Tier 2 的设置:
```
# 初始化本地 ChromaDB 向量数据库(离线计算 embeddings)
python -m benchmarks.dev_fixtures.agents.reference_agent_blackbox.seed
python -m benchmarks.dev_fixtures.agents.reference_agent_otel.seed
# 在单独的终端中启动参考 agents
uvicorn benchmarks.dev_fixtures.agents.reference_agent_blackbox.main:app --port 8001
uvicorn benchmarks.dev_fixtures.agents.reference_agent_otel.main:app --port 8002
```
### 3. 运行 IKEA 攻击
主动攻击正在运行的 Tier 1 黑盒 agent:
```
python scripts/run_ikea.py
```
这将运行 ERS/TRDM 循环,并在 `scripts/results/` 下写入 JSON 发现列表以及自动生成的 Markdown 报告。
## 📊 基准测试套件 (HealthCareMagic-1k)
为了评估针对现实的、生产级规模语料库的外泄抵抗力,Aginiti Redteam 提供了一个可选的基准测试套件,利用包含 1000 条记录的 HealthCareMagic 数据集。
### 设置并启动基准测试目标
```
# 安装 benchmark 专用包
pip install -e ".[benchmarks]"
# 1. 下载并采样 HuggingFace HealthCareMagic dataset
python benchmarks/scaled_evals/datasets/prepare_healthcare.py
# 2. 初始化医疗向量数据库
python -m benchmarks.scaled_evals.agents.healthcare_agent.seed
# 3. 启动医疗 agent(端口 8003)
uvicorn benchmarks.scaled_evals.agents.healthcare_agent.main:app --port 8003
```
### 运行并评分
执行预设的 50 个查询的基准测试循环,以根据真实咨询记录对外泄指标进行评分:
```
python scripts/run_healthcare_benchmark.py
```
运行器会评估并记录:
* **ASR (攻击成功率):** 返回泄露阳性发现的查询百分比。
* **CRR (内容重构率):** 外泄数据块与实际数据库记录之间的 ROUGE-L 相似度。
* **SS (语义相似度):** embeddings 的余弦相似度,用于衡量语义的保留程度。
* **EE (外泄有效性):** 捕捉真实、非平凡文档泄露的综合门控指标。
运行结果将作为带有时间戳的 `.json` 和 `.md` 报告存储在 `benchmarks/scaled_evals/results/` 下。
## 🧪 测试
该库运行着健壮的单元测试套件。所有的网络请求、agent endpoint 和 LLM 补全都经过了完全的 mock 处理——这使得整个套件可以在几秒钟内离线运行,且不会产生任何 API 成本:
```
pytest tests/ -v
```
## 🗺️ 路线图与状态
* [x] **数据重构攻击 (DRA)**
* [x] IKEA 攻击方法 (ERS + TRDM)
* [x] LLM-as-a-judge 泄露分类
* [x] 面向 CISO 的 Markdown 报告生成器
* [x] HealthCareMagic-1k 基准测试套件
* [ ] **Tier 2 OTel Trace Collector 集成** (Langfuse / OpenTelemetry ingress)
* [ ] **成员推理攻击 (MIA)**
* [ ] **特征/属性推理攻击 (FIA)**
* [ ] **SECRET DRA 技术** (基于越狱的外泄运行器)
* [ ] **命令行界面 (`aginiti` CLI 包装器)**
## 📄 许可证
该项目基于 MIT 许可证授权。详情请参阅 [LICENSE](LICENSE)。
标签:AI安全, Chat Copilot, CNCF毕业项目, LLM评测, Python, RAG系统, StruQ, 数据泄露防护, 无后门, 用户代理, 红队评估, 网络探测, 逆向工具