gengirish/adversary-planner

GitHub: gengirish/adversary-planner

将garak扫描结果转化为自适应红队行动的贝叶斯攻击规划引擎,智能推荐下一步最有价值的LLM安全测试技术。

Stars: 0 | Forks: 0

# Adversary Planner **LLM 安全的贝叶斯攻击规划引擎** —— 将 garak 扫描结果转化为自适应红队行动。 garak 告诉你*发生了什么*。Adversary Planner 告诉你*下一步该做什么*。 ## 功能 - **贝叶斯引擎 (Bayesian Engine)** — 针对 13 个家族的 49 种攻击技术维护 Beta 分布后验。使用 Thompson Sampling 推荐价值最高的下一项待测技术。 - **garak 集成** — 解析 `.report.jsonl` 文件,将探测类名映射到 MITRE ATLAS 对齐的技术,并以 30% 的同级溢出更新后验。 - **Z-Score 校准** — 以 HarmBench/JailbreakBench 基准为参照,评估你模型的攻击成功率,为原始数据提供上下文。 - **合规映射** — 追踪针对 OWASP LLM Top 10、NIST AI RMF 和 EU AI Act 框架的覆盖情况。 - **自适应行动** — 随着不确定性降低,自动从广泛探索过渡到针对性利用。无需手动切换阶段。 ## 安装 ``` cd adversary-planner pip install -e . ``` ## 快速开始 ### 1. 定义目标 ``` # target.yaml name: Customer Support Bot target_type: chatbot access_level: black_box goals: [jailbreak, extraction] constraints: max_queries: 500 stealth_priority: moderate defenses: has_moderation: true has_input_filtering: true capabilities: has_tools: false has_rag: false ``` ### 2. 创建行动 ``` aplanner campaign new target.yaml --name "q1-chatbot-assessment" ``` ### 3. 获取建议 ``` aplanner campaign next ``` 规划器使用 Thompson Sampling 推荐技术。在行动初期,它倾向于高不确定性技术以最大化探索。 ### 4. 使用建议的探测运行 garak ``` garak --model_type openai --model_name gpt-4 --probes probes.dan.Dan_6_0 ``` ### 5. 导入结果 ``` aplanner import garak path/to/report.jsonl ``` ### 6. 获取更新后的建议 ``` aplanner campaign next ``` 后验已发生变化。规划器现在根据成功、失败及未测试的内容推荐不同的技术。 ### 7. 生成报告 ``` aplanner report --output report.md ``` ## CLI 参考 | 命令 | 描述 | |---------|-------------| | `aplanner campaign new --name "..."` | 创建新行动 | | `aplanner campaign list` | 列出所有行动 | | `aplanner campaign next ` | 获取下一项技术建议 | | `aplanner campaign status ` | 显示行动状态和历史 | | `aplanner import garak ` | 导入 garak 扫描结果 | | `aplanner report [--output file.md]` | 生成行动报告 | | `aplanner techniques [--family ]` | 列出技术目录 | | `aplanner families` | 列出技术家族 | ## 工作原理 ### 贝叶斯后验 每种技术都有一个 `Beta(α, β)` 分布。在没有任何数据之前: - **60%** 来自已发布的基线 ASR(HarmBench, JailbreakBench) - **40%** 来自针对目标配置的启发式兼容性评分 当扫描结果到达时: - 攻击成功 → `α += 1.0` - 攻击失败 → `β += 1.0` - **30% 溢出** 给同家族的兄弟技术 ### Thompson Sampling 推荐下一项技术时: 1. 从每种技术的 Beta 后验中采样一次 2. 按采样值排序(最高 = 最有希望) 3. 多样化:每个家族最多一项技术 ### Z-Score 校准 ``` Z = (observed_ASR - baseline_mean) / baseline_std ``` | Z-Score | 解释 | |---------|----------------| | ≥ 2.0 | 显著比基线更易受攻击(严重) | | 1.0 – 2.0 | 比基线更易受攻击(高) | | -1.0 – 1.0 | 在正常范围内(中) | | ≤ -2.0 | 显著更具抵抗力(防御强健) | ## 技术目录 49 种技术横跨 13 个家族,与 MITRE ATLAS 对齐: | 家族 | 数量 | 示例技术 | |--------|-------|--------------------| | jailbreak | 5 | DAN, Persona, Multi-turn, Hypothetical, Roleplay | | prompt_injection | 5 | Direct, Indirect, Hierarchy Bypass, Delimiter, Context | | encoding | 5 | Base64, ROT13, Unicode, Leetspeak, Multi-layer | | data_extraction | 4 | Training Data, System Prompt, PII, Membership Inference | | toxicity | 5 | Hate Speech, Violence, Sexual, Self-harm, Harassment | | social_engineering | 4 | Authority, Urgency, Emotional, Grandma Exploit | | adversarial_suffix | 3 | GCG Suffix, AutoDAN, Token Manipulation | | automated_red_team | 3 | TAP, PAIR, Crescendo | | rag_poisoning | 3 | KB Poisoning, Context Stuffing, Retrieval Manipulation | | agent_abuse | 3 | Tool Misuse, Delegation, Privilege Escalation | | hallucination | 3 | Package, Citation, Factual | | information_disclosure | 3 | API Key Leakage, Config Disclosure, Model Architecture | | evasion | 3 | Language Switching, Payload Splitting, Obfuscation Chaining | ## 未来:TrustGate 集成 Adversary Planner 设计为一个独立工具,将作为自适应规划引擎集成到 [TrustGate](../TrustGate/) 中。在 TrustGate 中,它将作为智能层,决定下一步运行哪个扫描器、探测和技术 —— 将 TrustGate 从扫描编排器转变为战略红队平台。 ## 许可证 Apache 2.0
标签:AI鲁棒性, Beta分布, garak, HarmBench, MITRE ATLAS, NIST AI RMF, OWASP LLM Top 10, Python, Thompson Sampling, Z-Score校准, 反取证, 合规性映射, 大语言模型安全, 安全评估, 攻击路径规划, 文档结构分析, 无后门, 机密管理, 模型防御, 欧盟人工智能法案, 白盒/黑盒测试, 自动化渗透测试, 自适应攻击, 贝叶斯规划, 逆向工具