akitenkrad/prompt-injection-lab

GitHub: akitenkrad/prompt-injection-lab

一个用 Rust 编写的 LLM prompt injection 与越狱基准测试统一评估平台,通过标准化测量路径和统计方法使不同基准的数据真正可比。

Stars: 0 | Forks: 0

**English** | [日本語](README.ja.md) # prompt-injection-lab 一个 Rust 研究平台,通过**一套测量路径、一套统计方法和一套执行条件**,针对任何 LLM 运行现有的 prompt injection 和 jailbreak 基准测试 —— AdvBench、HarmBench、StrongREJECT、JBB —— 从而使数据真正具有可比性。运行单个基准测试的工具已经存在;该平台存在的意义在于强制每个基准测试都通过相同的工具、聚合方法和条件进行运行,而不是轻信每个基准测试自身的报告。 ## 它的功能 - **公开评估器可靠性** —— 根据标注的真实数据(ground truth)测量评估器本身的召回率 / FPR / 精确率 / F1,独立复现了 HarmBench 分类器 0.268 的假阳性率。 - **拒绝单一设置的 ASR** —— 报告每个案例在一组攻击变体上的联合覆盖率,而不是单一的最佳配置。 - **报告带置信区间的多次试验 ASR** —— 默认使用 Wilson score,在适当情况下使用 Clopper–Pearson 和 bootstrap BCa,并始终伴随无法判定案例的数量。 - **检测跨基准测试的非独立性** —— 通过内容指纹自动发现各基准测试中重复的问题,从而避免“三个基准测试结果一致”其实只是同一个问题被计算了三次的情况。 - **测量过度拒绝** —— 将拒绝率视为 benign prompt 上的配对信号,绝不将其作为独立的安全分数。 ## 快速开始 上游基准测试数据以锁定的 Git submodule 形式存放在 `third_party/` 目录中 —— 本仓库中不内置任何有害内容 —— 因此在克隆时需要附带 submodule。 ``` # 使用 submodules 克隆 git clone --recurse-submodules git@github.com:akitenkrad/prompt-injection-lab.git # 或者在常规克隆后获取 submodules git submodule update --init --recursive ``` 默认构建无需联网(HTTP backend 受 cargo feature 控制): ``` cargo build # default = network-free cargo test --workspace ``` ## 文档 - [docs/design.md](docs/design.md) —— 动机、证据、设计原则、负责任的使用以及阶段路线图。 - [docs/architecture.md](docs/architecture.md) —— crate 布局以及针对 environment-typed 基准测试的控制反转设计。 - [docs/usage.md](docs/usage.md) —— submodule、使用 cargo feature 进行构建和测试,以及 CLI(`reliability` / `run` / `report`)。 ## 许可证 MIT。`third_party/` 下的上游 submodule 保留其各自的 License(均为 MIT)。
标签:AI安全, Chat Copilot, DLL 劫持, Rust, 可视化界面, 大语言模型, 提示注入, 测试基准, 网络流量审计, 评估指标, 通知系统, 集群管理