Lethani

security MCP Server

Agentic bug bounty and pentest orchestrator. Claude Code plugin. Phase-aligned playbooks (recon -> scan -> manual -> chain -> report), parallel sub-agent dispatch, Kali via kali-ssh MCP.

Verified
securitysecurity
3 views2 stars1 forksMIT

Why This Matters

Discovered via github-topic:mcp and last synced 2mo ago.

Verified
Source
github-topic:mcp
Stars
2
Last synced
2mo ago
Install
Check source

Install

Install instructions not detected yet

Check the source repository for the latest setup steps.

View source instructions
12
Tools
0
Resources
0
Prompts
Standard I/O
Transport

Available Tools (12)

Skill

Trigger phrases

recon-dns

DNS enum + subdomain takeover + cloud asset discovery

learning-mode

"learn mode", "update playbooks", "what's new", "scrape sources"

_

>---[ 6C 65 74 68 61 6E 69 ]-----------> every move, deliberate ``` [![License: MIT](https://img.shields.io/badge/license-MIT-1a1a1a?style=flat-square&labelColor=1a1a1a&color=8a6f3a)](LICENSE) [![Built with Claude Code](https://img.shields.io/badge/built%20with-Claude%20Code-1a1a1a?style=flat-square&labelColor=1a1a1a&color=d8b66b)](https://claude.com/claude-code) [![Status](https://img.shields.io/badge/status-alpha-1a1a1a?style=flat-square&labelColor=1a1a1a&color=c8302f)](#) [![Kali required](https://img.shields.io/badge/kali-required-1a1a1a?style=flat-square&labelColor=1a1a1a&color=557799&logo=kalilinux&logoColor=fff)](https://www.kali.org) [![Demo](https://img.shields.io/badge/demo-gif-1a1a1a?style=flat-square&labelColor=1a1a1a&color=c8302f)](examples/demo.gif) <br> <img src="examples/demo.gif" alt="lethani demo" width="820"> <!-- Optionally also upload to asciinema.org and add: [![asciicast](https://asciinema.org/a/REC_ID.svg)](https://asciinema.org/a/REC_ID) --> <!-- After you push to GitHub, replace USER below with your handle and uncomment: [![Last Commit](https://img.shields.io/github/last-commit/onurogut/lethani?style=flat-square&labelColor=1a1a1a&color=8a6f3a)](https://github.com/onurogut/lethani/commits/main) --> </div> > *"The Lethani is a path one walks. It is the right action moving from the > right heart, the right mind."* — Vashet, *The Wise Man's Fear* ### Why the name? In Patrick Rothfuss's *Kingkiller Chronicle*, the Adem mercenaries follow the **Lethani** — not a moral code, exactly, but a felt sense of *the right action* in any given moment. They are paid killers, yet every motion is deliberate; nothing is wasted; nothing is reckless. That is the discipline this tool tries to inherit. Offensive security work, done well, is the same: authorized, deliberate, evidenced, and never gratuitous. lethani is named for that posture, and tries to enforce it in its defaults — confirm scope by writing it down, fan work out only where it helps, surface critical findings the moment they exist, and stop at the first irreversible operator-side action. --- An **agentic bug bounty and penetration testing orchestrator** packaged as a Claude Code plugin. lethani turns ad-hoc engagement work into a phase-aligned, playbook-driven workflow that fans parallelizable steps out to sub-agents, keeps the context window under 40K tokens, and treats authorization as implicit — it is a tool, not a junior consultant. --- ## What lethani does - **Phase-aligned playbooks** — 51 markdown playbooks covering recon, automated scanning, manual vuln testing, vulnerability chaining, and reporting. Each is a deterministic procedure with steps, output format, and pass/fail criteria. - **Agentic by default** — Phase 1 (14 independent sources) fans out to 6 parallel sub-agents; Phase 2 to 3; Phase 3 buckets endpoints across N. Phases 4 and 5 are single-threaded synthesis. - **Kali-as-execution-plane** — every active command runs on Kali Linux via the `kali-ssh` MCP server. The host edits files and brokers decisions; it does not run scans directly. - **Authorization is implicit** — when you invoke lethani, you have already decided the target is authorized. lethani does not re-ask before each kali-ssh call or before Phase 1. Confirmation is reserved for irreversible operations on your own machine (`rm -rf`, force-push, deleting engagement dirs). - **Context budget enforced** — < 40K tokens per session. Detailed reference lives in `00_infra/` and loads only on demand. - **Learning Mode** — pulls fresh techniques from curated public sources (PortSwigger, watchTowr, Assetnote, HackTricks, PayloadsAllTheThings, HackerOne hacktivity, nuclei-templates, CISA KEV, …), filters by a hard quality bar, and proposes playbook patches that require your approval before any file is written. - **Anonymous reporting** — reports use `Tester : [redacted]` by default. --- ## Install ### Option A — as a Claude Code plugin (recommended) Inside Claude Code, type these two commands one at a time. **The line must start with `/` (no leading space)** — Claude Code only treats the message as a slash command when `/` is the first character. If you paste with a leading space the prompt becomes a regular chat message and the agent replies "I can't run built-in commands." ``` /plugin marketplace add onurogut/lethani ``` ``` /plugin install lethani@lethani ``` The first command registers this repo as a Claude Code plugin marketplace (`.claude-plugin/marketplace.json` is the catalog). The second installs the `lethani` plugin from that marketplace, exposing the slash commands (`/new-target`, `/recon`, `/scan`, …), the 6 recon/OSINT sub-agents, and the 3 skills in any Claude Code session. > If `/plugin install` fails with `Permission denied (publickey)`, Claude > Code is trying to clone via SSH. The repo is public, so HTTPS is fine: > > ```bash > git config --global url."https://github.com/".insteadOf "[email protected]:" > ``` > > Then retry `/plugin install lethani@lethani`. ### Option B — as a workspace ```bash git clone https://github.com/onurogut/lethani.git ~/lethani cd ~/lethani/plugin claude ``` Use this when you want the engagement directory, behavior rules (`plugin/00_infra/behavior_rules.md`), and the CLAUDE.md router all loaded in the session context, not just the plugin commands. Engagements live one level up at `~/lethani/engagements/`. Both modes coexist — installing the plugin and `cd ~/lethani/plugin` in the same session gives you the slash commands plus the workspace-level routing. --- ## First-run setup (Kali + MCP) ```bash # host-side: SSH key, ~/.ssh/config block, MCP sample config ./plugin/00_infra/scripts/setup-host.sh # kali-side: install the tool inventory the playbooks expect scp plugin/00_infra/scripts/setup-kali.sh talon-kali:/tmp/ ssh talon-kali "bash /tmp/setup-kali.sh" ``` Full details and troubleshooting: [SETUP.md](SETUP.md). --- ## First engagement In Claude Code: ``` /new-target acme.com /recon acme ``` lethani will: 1. Scaffold `engagements/acme/` with a `scope.md` template (Phase 0). 2. Fan out Phase 1 to 6 parallel sub-agents (DNS, HTTP, params/CICD, network OSINT, people OSINT, source OSINT). 3. Drop findings into `engagements/acme/recon/` and a summary in `recon/_summary.md`. It will **not** ask "is this in scope?" before running. You created the engagement; that is the authorization record (`behavior_rules.md` §1). Continue through phases: ``` /scan acme # Phase 2 — cve-match + nuclei + ffuf /manual-test acme # Phase 3 — bucketed manual testing /chain acme # Phase 4 — vulnerability chaining (single-threaded) /report acme # Phase 5 — duplicate check + severity + report ``` --- ## Plugin commands

osint-source

GitHub dorking for secrets/configs

Agent

Job

agentic-dispatch

"parallel", "fan out", "sub-agents", "agentic", "run phase N"

recon-http

tech fingerprint + vhost + JS extraction + wayback

engagement-init

"new target", "test <domain>", "start engagement"

recon-params

parameter discovery + CI/CD supply chain

osint-network

ASN + CIDR + Shodan/Censys

osint-people

email harvesting + leaked credentials