mantis-pipeline

Solid

The master Mantis playbook -- how to run an authorized vulnerability-discovery engagement end to end, which subagent owns each stage, which MCP tool feeds it, and how findings move through the tool-owned lifecycle

Data & Documents 498 stars 73 forks Updated today Apache-2.0

Install

View on GitHub

Quality Score: 81/100

Stars 20%
90
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

Mantis runs a staged detect-then-validate pipeline. The core bet: detection is commodity, **validation precision is the product** -- "what survives attacker-simulation is real." Detect is generous (high recall, no self-censoring); Validate is ruthless (kill false positives with cited roadblocks). Establish scope and authorization FIRST. Work only on targets the user owns or is explicitly authorized to test. If authorization for active/exploit testing is unclear, restrict the run to read-only static analysis until scope is established. Never do destructive, persistence, exfiltration, DoS, or stealth actions. Pipeline, stage -> subagent (`spawn_agent` agent_type) -> tools: 1. Recon -> `recon` -> program-analysis (`source_sink_scan`, `ast_grep_scan`), read code. Output: ranked attack-surface map. 2. Context/Enrich -> `context-enrich` -> program-analysis, code retrieval. Output: per-sink context + reachability pre-classification. 3. Detect -> `detector` -> `semgrep_scan`, `codeql_analyze`, `osv_scan`, `trufflehog_scan`, `bandit_scan`, `trivy_scan` + LLM reasoning for classes scanners miss (IDOR, authz, logic, SSRF, deserialization, SSTI). Registers `candidate`s via `finding_create`. Do NOT self-censor here. 4. Reachability -> `reachability` -> `smt_check_reachability` (z3), taint tracing. `unsat` -> reject with the unsat as roadblock. 5. Validate -> `validator` -> attacker-simulation. Confirms (`finding_update` to `confirmed`, needs reachability evidence) or rejects (needs a s...

Details

Author
deonmenezes
Repository
deonmenezes/mantishack
Created
5 months ago
Last Updated
today
Language
Rust
License
Apache-2.0

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category