tfu04/webpi-bench-anonymous
GitHub: tfu04/webpi-bench-anonymous
面向浏览器场景的 Prompt 注入基准测试框架,用于系统化评估 Web 环境中 AI Agent 对注入攻击的防御能力与鲁棒性。
Stars: 0 | Forks: 0
# Prompt 注入基准测试
用于基于浏览器的 prompt 注入基准测试和评估测试工具的匿名代码发布。
## 目录
- `app/`:FastAPI 基准测试服务器、会话 API、遥测 API 和结果路由。
- `sites/`:合成 Web 环境和模板。
- `injections/`:注入清单和 schema 验证。
- `agents/`:agent 运行器、感知模式、评分、防御和模型适配器。
- `scripts/`:初步执行、指标计算、产物重评分和清单工具。
- `tests/`:集成行为、防御和评分器指标的回归测试。
`data/artifacts/` 下的大型实验输出特意未提交到此代码仓库。在配置了 provider API 密钥后,可以使用运行器脚本重新生成它们;与论文相关的特定结果存档应与代码发布分开分发。
## 设置
使用 Python 3.11+。
```
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
```
仅当您计划运行由模型驱动的初步测试时,才需将 `.env.example` 复制到 `.env` 并填写 provider API 密钥。服务器和核心测试不需要提交任何密钥。
在首次使用前,初始化本地 SQLite 数据库:
```
python -m app.db.init_db --reset
```
## 运行基准测试服务器
```
python -m uvicorn app.main:app --host 127.0.0.1 --port 8000
```
然后打开:
```
http://127.0.0.1:8000/admin/dashboard
```
## 运行测试
在一个终端中,启动服务器:
```
python -m uvicorn app.main:app --host 127.0.0.1 --port 8000
```
在另一个终端中,运行:
```
python -m pytest tests/test_phase2_integration.py tests/test_defenses.py tests/test_scorer_metrics.py
```
此发布版本的预期结果:`11 passed`。
## 从初步测试产物计算指标
```
python -m scripts.compute_metrics data/artifacts/ --out data/artifacts/ --n-resamples 1000 --seed 42
```
对于多个产物,在 `--out` 之前传入多个输入目录。
## 重现初步测试运行
在 `.env` 中配置 API 密钥,然后使用带环境变量的 `scripts.run_pilot`,例如:
```
$env:BENCH_BACKEND_URL='http://127.0.0.1:8000'
$env:PILOT_SITES='ecommerce_001,banking_001,jobs_001,mail_002,social_001'
$env:PILOT_AGENTS='openai_gpt4o_mini,anthropic_haiku,google_gemini_flash,meta_llama_70b'
$env:PILOT_N='3'
$env:PILOT_TASKS_PER_SITE='1'
$env:PILOT_CONDITIONS='off,benign_filler,adversarial'
$env:PILOT_PERCEPTION='dom'
python -m scripts.run_pilot
```
## 匿名化说明
此版本不包含论文草稿、审稿人笔记、原始试验输出、本地凭据或作者联系信息。公开匿名发布的提交历史应将此目录作为带有匿名作者元数据的新仓库来创建。
标签:AI安全, Apex, API服务器, AV绕过, Chat Copilot, CISA项目, DLL 劫持, FastAPI, LLM安全评估, Python, SQLite, Uvicorn, Web代理评估, 大语言模型, 安全规则引擎, 密码管理, 对抗性攻击, 无后门, 机器学习, 网络安全, 评测基准, 逆向工具, 隐私保护