$git clone https://github.com/deonmenezes/mantishackstalk - wait - strike - hold Ethically hack and discover vulnerabilities in any software with the power of AI.
| 1 | <div align="center"> |
| 2 | |
| 3 | <img src="docs/assets/mascot/hero.png" alt="Mantishack - offensive-security mascot" width="640" /> |
| 4 | |
| 5 | # Mantishack |
| 6 | |
| 7 | `stalk - wait - strike - hold` |
| 8 | **Ethically hack and discover vulnerabilities in any software with the power of AI.** |
| 9 | |
| 10 | [mantishack.com](https://mantishack.com) |
| 11 | |
| 12 | </div> |
| 13 | |
| 14 | --- |
| 15 | |
| 16 | ## What is Mantishack? |
| 17 | |
| 18 | Mantishack is Mantis AI: an autonomous vulnerability-discovery agent built on top of [OpenAI's Codex CLI](https://github.com/openai/codex) (Rust, Apache-2.0), rebranded and wired end-to-end as an offensive-AppSec harness. It runs a staged detect-then-validate pipeline over a codebase - recon, detect, reachability, attacker-simulation validation, chaining, gated exploitation, fixing, and reporting - with every finding owned by a tool, not tracked in prose. |
| 19 | |
| 20 | The core bet is the same one this project has always made: **detection is commodity, validation precision is the product.** What survives attacker-simulation is real; everything else gets rejected with a cited roadblock. |
| 21 | |
| 22 | It is not polished software. It is a working harness with real gaps (see "Project history" and `MANTIS.md` for what's wired vs. what still needs external binaries or a running target), usable in the field, rough in the corners. |
| 23 | |
| 24 | --- |
| 25 | |
| 26 | ## Quick start |
| 27 | |
| 28 | ### Build from source |
| 29 | |
| 30 | ```bash |
| 31 | # Clone the repo |
| 32 | git clone https://github.com/deonmenezes/mantishack.git |
| 33 | cd mantishack |
| 34 | |
| 35 | # Build the CLI (Rust toolchain required, see codex-rs/rust-toolchain.toml) |
| 36 | cd codex-rs |
| 37 | cargo build --release -p codex-cli |
| 38 | |
| 39 | # Run it from the repo root so the project-scoped .codex/config.toml resolves |
| 40 | cd .. |
| 41 | ./codex-rs/target/release/codex |
| 42 | ``` |
| 43 | |
| 44 | ### Install the capability-catalog binaries |
| 45 | |
| 46 | The MCP tool servers under `.codex/mcp-servers/` are pure Node.js and need no install of their own, but the scanners they wrap degrade to `available: false` until you install the underlying binaries: |
| 47 | |
| 48 | ```bash |
| 49 | pip install semgrep bandit |
| 50 | brew install trufflehog trivy z3 ast-grep # or your platform's equivalent |
| 51 | go install github.com/google/osv-scanner/v2/cmd/osv-scanner@latest |
| 52 | # CodeQL CLI: https://github.com/github/codeql-cli-binaries |
| 53 | ``` |
| 54 | |
| 55 | Nothing is fabricated when a binary is missing - each server reports plainly that the tool isn't installed rather than inventing findings. |
| 56 | |
| 57 | --- |
| 58 | |
| 59 | ## What's wired |
| 60 | |
| 61 | | Layer | Where | What it does | |
| 62 | | ------------------------------ | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
| 63 | | **Capability servers (MCP)** | `.codex/mcp-servers/` | `semgrep_scan`, `codeql_create_database`/`codeql_analyze`, `osv_scan`, `trufflehog_scan`, `bandit_scan`, `trivy_scan` - SAST/SCA/secrets, all report-until-installed. | |
| 64 | | **Program-analysis substrate** | `.codex/mcp-servers/program-analysis/` | `source_sink_scan` (heuristic, works now), `ast_grep_scan` (structural search), `smt_check_reachability` (z3-backed path-condition satisfiability). | |
| 65 | | **Findings spine** | `.codex/mcp-servers/findings/` | Tool-owned finding state: `finding_ |