Danush-Aries/praetor

GitHub: Danush-Aries/praetor

PRAETOR 是一款策略治理的 LLM 驱动自主渗透测试编排器,在严格 scope 控制和完整审计追踪下自动化执行从侦察到报告的完整测试链路,并为每个攻击操作生成对应的蓝队检测规则。

Stars: 0 | Forks: 0

PRAETOR

策略治理的侦察、利用与测试编排器

一款由 LLM 驱动的自主渗透测试编排器,您可以安全地实际运行它 — 因为 scope、阶段限制、破坏性操作确认以及完整的审计追踪已内置于其核心, 并且每个攻击操作都附带了它会触发的蓝队检测

快速开始 · 为什么与众不同 · 工作原理 · 治理 · 安全与合规

## 项目简介 将 PRAETOR 指向一个 **scope 文件**,它就会自主驱动完整的测试任务: ``` recon ──▶ scan ──▶ exploit ──▶ loot ──▶ report │ │ │ │ │ └── every step is gated by scope + phase + destructive policy, logged to an append-only audit trail, and mirrored into the blue-team detection a defender would have seen. ``` 当安装了相关工具时,它会编排标准工具链(`nmap`、`nuclei`、`httpx`、`ffuf` 等),并在未安装时回退到**确定性模拟器**,从而确保整个链条——以及整个测试套件——能够在零外部依赖的情况下离线运行。 ## 为什么 PRAETOR 与众不同 当前的一批自主渗透测试框架针对原始能力进行优化。而 PRAETOR 则针对**受治理的、可审计的自主性**和**紫队价值**进行优化: | | 典型的自主渗透测试工具 | **PRAETOR** | |---|---|---| | Scope 执行 | 通常是建议性的 | **硬性门槛** — 拒绝超出 scope 的目标,而不是进行扫描 | | 授权 | 隐式 | **运行前需要显式的 `authorized: true` 证明** | | 破坏性操作 | 直接运行 | **策略 + 确认门槛**,默认关闭 | | 可审计性 | 也许有日志 | **每个操作、决策和结果的只追加 JSONL** | | 防御价值 | 无 | **蓝队镜像** — 每个操作都会输出其 MITRE ATT&CK ID + Sigma 规则 | | 在未安装工具的情况下运行 | 否 | **是** — 确定性模拟器模式 | | LLM 宕机 / 无密钥 | 崩溃 | **降级为确定性规划器** | **蓝队镜像**是最大亮点:PRAETOR 既是攻击者,*也是*检测工程的 teaching tool。在实验机箱上运行它,它会为您提供本可以捕获到该操作的 Sigma 规则和日志源。 ## 快速开始 ``` git clone https://github.com/Dhanush-Aries/praetor && cd praetor uv venv && uv pip install -e . # or: pip install -e . # 查看你拥有的工具 praetor tools # 验证 scope(dry,不进行扫描) praetor scope-check -s scope.example.yaml # 针对内置模拟 lab 完全离线运行(无工具,无网络) praetor run -s scope.example.yaml --offline --yes # 针对 nmap 的已授权测试主机进行真实侦察 praetor recon -s scope.example.yaml ``` 每次运行都会写入 `praetor-audit.jsonl`(审计追踪)和 `praetor-report/`(Markdown + JSON + **SARIF 2.1**)。 ## 工作原理 ``` ┌──────────────────────────────────────────────┐ scope.yaml ─────▶│ Orchestrator loop (recon→scan→exploit→loot) │ │ │ Planner ────────▶│ 1. build candidate actions (wrappers / sim) │ (LLM or │ 2. planner orders / selects │ deterministic) │ 3. ── Gate ──▶ scope? phase? destructive? │──▶ block / allow │ 4. ToolRunner (argv, no shell) or simulator │ │ 5. parse → findings → blue-team enrich │ │ 6. append to audit log │ └───────────────────────┬──────────────────────┘ ▼ report.md · report.json · report.sarif.json ``` - **Planner** — LLM(Anthropic/OpenAI,根据环境密钥自动检测)对候选操作进行排序并决定提权;在没有密钥的情况下,它会透明地回退到确定性规划器。 - **工具包装器** — 围绕真实 CLI 的统一 `build()/parse()` 接口;`nmap` 的输出会被解析为结构化的发现结果。 - **模拟器** — 确定性的漏洞实验环境(`*.lab` 主机),确保利用链可用于演示和 CI 的重现。 ## 治理 scope 文件即契约: ``` name: "local-lab-demo" mode: lab # lab = full chain permitted; authorized = conservative authorized: true # explicit attestation — REQUIRED to run max_phase: exploit # recon | scan | exploit | loot | report allow_destructive: false # writes/deletes/submits need this + confirmation allow_hosts: [scanme.nmap.org, localhost] allow_cidrs: [127.0.0.0/8, 10.0.2.0/24] deny_hosts: [] # always-block wins over allow targets: [scanme.nmap.org, http://localhost:8080] ``` **Gate** 会依次评估每个操作 — 授权 → 是否在 scope 内 → 阶段上限 → 破坏性策略 — 并在任何内容执行之前,将允许/拦截决定(附带人类可读的原因)记录到审计日志中。 ## 安全与合规 PRAETOR 是一款为授权的测试任务、CTF 和实验室环境构建的**注重防御的攻击性工具**。在大多数司法管辖区,扫描或利用您不拥有或未获得明确测试许可的系统是非法的。作者不认可任何未经授权的使用。Scope 门槛和审计追踪的存在正是为了保持使用的合法性和可问责性 — 请勿移除它们。 ## 许可证 MIT — 请参阅 [LICENSE](LICENSE)。
标签:CISA项目, DLL 劫持, 大语言模型, 密码管理, 插件系统, 攻击模拟, 紫队, 自动化编排, 运行时操纵, 逆向工具, 驱动签名利用