sleeepeer/PIArena
GitHub: sleeepeer/PIArena
一个专注于 Prompt 注入攻防评估的综合基准测试平台,提供多种攻击策略与防御机制的即插即用实现及系统化评估流水线。
Stars: 3 | Forks: 0
Prompt 注入评估平台
**PIArena** 是一个**易于使用的工具箱**,同时也是用于研究 Prompt 注入攻击与防御的**综合基准测试**。它提供:
* **即插即用的攻击与防御** – 轻松将最先进的防御机制集成到您的工作流中,以保护您的 LLM 系统免受 Prompt 注入攻击。您也可以利用现有的攻击策略进行更深入的研究。
* **系统化评估基准** – 端到端的评估流水线使您能够轻松地在各种数据集上评估攻击或防御效果。
* **添加自定义内容** – 您也可以轻松地将自己的攻击或防御方法集成到我们的基准测试中,以系统地评估其性能。
## 目录
* [📝 快速开始](#-quick-start)
* [⚙️ 安装说明](#-installation)
* [📌 现成工具](#-ready-to-use-tools)
* [📈 运行评估](#-run-evaluation)
* [🔍 基于搜索的攻击](#-search-based-attacks)
* [🤖 Agent 基准测试](#-agent-benchmarks)
* [🙋🏻♀️ 添加自定义攻击/防御](#-add-your-own-attacks--defenses)
### 🔍 基于搜索的攻击
PIArena 支持基于搜索的攻击(PAIR、TAP、策略搜索),这些攻击通过攻击者 LLM 迭代地优化 Prompt 注入。使用 `main_search.py` 进行这些攻击:
```
# --attack 可以是 tap, pair, strategy_search
python main_search.py --dataset squad_v2 --attack strategy_search --defense pisanitizer \
--backend_llm Qwen/Qwen3-4B-Instruct-2507 --attacker_llm Qwen/Qwen3-4B-Instruct-2507
# 并行运行多个搜索实验(编辑 scripts/run_search.py 进行配置)
python scripts/run_search.py
```
详情请参阅 [基于搜索的攻击](https://piarena.vercel.app/#/docs/strategy-search)。
### 🤖 Agent 基准测试
PIArena 还支持 Agent 基准测试:[InjecAgent](https://github.com/uiuc-kang-lab/InjecAgent) 和 [AgentDojo](https://github.com/ethz-spylab/agentdojo)。
#### 配置 Agent 基准测试
```
# AgentDojo
cd agents/agentdojo && pip install -e . && cd ../..
```
#### InjecAgent 评估
```
python main_injecagent.py --model meta-llama/Llama-3.1-8B-Instruct --defense none
```
#### AgentDojo 评估
```
# 使用 OpenAI API
export OPENAI_API_KEY="Your API Key Here"
python main_agentdojo.py --model gpt-5-mini --attack none
# 使用 HuggingFace 模型(自动启动 vLLM 服务器)
python main_agentdojo.py --model meta-llama/Llama-3.1-8B-Instruct --attack tool_knowledge --defense datafilter
```
## 🙋🏻♀️ 添加自定义攻击/防御
完整详情请参阅 [文档](https://piarena.vercel.app/#/docs/your-own)。