XBanTs/llm-redteam-harness

GitHub: XBanTs/llm-redteam-harness

一个自动化红队测试框架,用于系统性检测 LLM 系统对各类对抗性 prompt 的防御能力,并将发现的问题转化为可追踪的回归测试。

Stars: 0 | Forks: 0

# LLM 红队测试工具 一个自动化测试工具,用于针对对抗性 prompt 测试基于 LLM 的系统 — 越狱(jailbreak)、prompt 注入、间接 prompt 注入、基于角色扮演的绕过、 拒绝抑制、系统 prompt 提取、数据泄露、编码攻击, 以及工具滥用。 基于一个核心理念构建:每一个发现的绕过都应成为一个永久的、版本化的回归测试,就像应用程序代码中的 bug 变成单元测试一样。运行支持重新执行,结果仅追加且可审计,并且评估与执行解耦,因此您可以在不重新查询模型的情况下对历史运行重新评分。 完整的架构和设计原理说明位于 [`docs/DESIGN.md`](docs/DESIGN.md) 中。 ## 状态 早期可用框架。Prompt 加载、异步 runner、基于规则/关键字/模式的评估器,以及 Markdown 报告生成功能均已实现,并已由测试覆盖。 LLM-as-judge 评估、CSV/HTML/图表输出,以及 CI 对比门控已在 `docs/DESIGN.md` 中设计,但尚未接入 `cli.py` —— 请参阅下文的“路线图”。 ## 快速开始 ``` python3.11 -m venv .venv source .venv/bin/activate pip install -r requirements.txt cp .env.example .env # defaults to TARGET_PROVIDER=mock, no API key needed # 针对 mock model client 运行 jailbreaks 类别(无 network calls) python cli.py run --category jailbreaks --provider mock # 运行全部 python cli.py run --provider mock ``` 每次运行都会将数据写入 `runs//raw_responses.jsonl`(不可变)以及 `runs//report.md`(人类可读的摘要)。 要以真实模型为目标,请在 `.env` 中设置 `TARGET_PROVIDER=anthropic` 和 `ANTHROPIC_API_KEY`,然后使用 `--provider anthropic` 运行。 ## 运行测试 ``` pytest -v ``` ## 项目结构 ``` attacks/ Adversarial prompts, one YAML file per category harness/ Core library: loader, runner, model clients, evaluators, reporting tests/ Unit tests for the harness itself cli.py Entry point docs/DESIGN.md Full architecture and rationale writeup ``` ## 路线图 - [ ] 将 LLM-as-judge 评估器接入 `cli.py`(已在 `harness/evaluators/` 中实现,但尚未被 CLI 调用) - [ ] CSV / HTML 报告输出 + matplotlib 图表 - [ ] 用于在运行之间进行基线对比的 `cli.py compare` - [ ] 设置 GitHub Actions 工作流,以便在修改 `attacks/` 的 PR 上运行 - [ ] 用于升级式攻击的有状态多轮 runner ## 安全提示 此工具专为测试您获得明确授权的系统而构建。 未经授权探测第三方的生产模型,与测试您自己的部署是完全不同的活动,适用不同的规则。
标签:DLL 劫持, Python, 人工智能, 大语言模型, 安全测试, 安全规则引擎, 恶意代码分类, 攻击性安全, 无后门, 用户模式Hook绕过, 计算机取证, 逆向工具