praetor · git:20260921.7b047d0 · 2026-09-21 · sha256 8a8ccb30ad17d1af
praetor git:20260921.7b047d0A
Immutable. This exact content is served forever at /api/v1/blob/8a8ccb30ad17d1af.
---
description: Praetor — authorized pentest/red-team MCP harness. Tool discovery, skill loading, and the HARD safety rules that always apply.
globs:
alwaysApply: true
---
# Praetor — operating guide (Cursor)
Praetor is an authorized pentest / red-team harness driven by the **Praetor MCP
tools** (register the server per `README.md` → *Install into your agent*). Full
Claude-Code manual: `CLAUDE.md`. Agent roster: `AGENTS.md`.
## Find capabilities and playbooks
- **Tools:** `list_tier1_tools()` / `pick_tool(task)`. Web lane routes through Burp
(`127.0.0.1:8111`); network lane bypasses Burp.
- **Skills (how-to playbooks):** `list_skills()` then `get_skill("<name>")`
(verify-finding, chain-findings, lab-solve, …); or the `burp://skills/index` +
`burp://skills/<name>` resources; or read `.claude/skills/*.md`.
- **Rules:** `.claude/rules/hunting.md` + `.claude/rules/engineering.md` are
authoritative (also `burp://rules/*`).
## HARD rules — always in force (never override)
1. **Scope** — `check_scope(url)` before any new domain; never out-of-scope, never
follow an out-of-scope redirect.
2. **No destructive payloads** — no `DROP TABLE`/`DELETE FROM`/`rm -rf`/`shutdown`.
Prove impact benignly: `SELECT version()` (SQLi), a read marker (RCE), an IDOR
**read** not write. Blind tests use `SLEEP`/math/Collaborator.
3. **No account break-in** — default creds ok; credential-stuffing / ATO brute force
not. ID enumeration is in-scope IDOR testing.
4. **Never exfiltrate real user data; never modify another user's data.**
5. **Save-finding pipeline** — `verify` (replay ≥3× for blind/timing) →
`assess_finding` (7-gate) → `save_finding`, citing a real Burp index. No INFO
tier: a leaked path / stack trace / version is an INPUT, not a finding.
6. **A tool safety-refusal is a PIVOT** — prove the same impact benignly rather than
stopping.
7. **Reports carry findings + impact only** — no counts, paths, or Burp indices in
client output.
The Burp extension JAR is loaded in Burp separately; the MCP client only starts the
Python server. Cursor background agents can each take one Praetor role
(`.claude/agents/<role>.md`) driven by the same MCP tools.