pentest-harness README

The project's README from github.com/S1N6H/pentest-harness. As one markdown file: README.md.

Pentest Harness — Heaven for Hackers

Pentest Harness

Heaven for Hackers — the professional security testing workspace.

An open-source, dark-first AI agent harness for authorized penetration tests, bug bounty research, security labs, and CTF engagements. Built on a plugin architecture where every layer — model adapters, tools, sessions, settings, and credentials — is replaceable from configuration.

Works with any AI model API. Bring your own key from OpenAI, Anthropic, DeepSeek, Google, Mistral, Groq, OpenRouter, Azure OpenAI, or any OpenAI-compatible gateway — one click auto-discovers your models and you're running.


Screenshots

Workspace Provider cards
Pentest Harness workspace Pentest Harness provider cards

Features


Demo

Pentest Harness demo

Download the full video


Quick start

git clone https://github.com/S1N6H/pentest-harness.git
cd pentest-harness
pnpm install
pnpm build
pnpm dsh web

The Web UI opens at http://127.0.0.1:2323 in your browser.

If pnpm dsh is not on your PATH, use pnpm exec dsh web or node apps/cli/lib/index.js web.

Requirements

Run on another port

pnpm dsh web --port 3000

First run — connect any AI model

  1. Open Settings → Models.
  2. Click Add a custom provider (or Edit an existing one).
  3. Paste your API base URL — the provider ID and display name auto-fill.
  4. Enter your API key (stored in your local credential store, never in settings).
  5. Models auto-discover from the endpoint — click one to add it, or add by hand.
  6. Pick a model in the composer and start your engagement.

Defaults

Setting Value
Web UI http://127.0.0.1:2323
Settings file $DSH_HOME/settings.yaml (default ~/.dsh/settings.yaml)
Credentials $DSH_HOME/.credentials.yaml (owner-only permissions)

License

MIT


⚡ Sponsored by HackWithClaude


HackWithClaude — Elevate Your AI Game

Unlimited AI models · One platform · Zero limits

Access every major model — Claude, GPT, Gemini, and more — in one place. Built for builders who ship.

🚀 Visit HackWithClaude.com · 💡 Explore the models

pentest-harness (S1N6H/pentest-harness)

Searching Database…

What is this?A self-hosted AI agent harness for authorized penetration tests, bug bounty research, security labs, and CTF engagements, where you bring your own AI model API key.
Is this a CLI tool or a web app?It is a local web app: you launch it from the terminal with a CLI command, then do all the work in a browser-based Web UI.
How do I get it running?Install Node.js 20+ and pnpm, then run 'pnpm dsh web' (or 'pnpm exec dsh web' / 'node apps/cli/lib/index.js web') to open the Web UI in your browser.
Do I need my own AI API key to use it?Yes — you bring your own key from OpenAI, Anthropic, DeepSeek, Google, Mistral, Groq, OpenRouter, Azure OpenAI, or any OpenAI-compatible gateway, and one click auto-discovers the available models.
Any install pitfalls I should know about?If the 'dsh' command is not on your PATH after setup, you need to fall back to 'pnpm exec dsh web' or run the CLI entry file directly with Node.
Where do my API keys and session data end up?API keys sit in a local, owner-only credential store and are only referenced from settings — never written into settings files or logs — while sessions stay local as JSONL/SQLite files.
What is 'Pentest Mode'?It is a built-in operating standard baked into the harness that structures the agent's behavior specifically for authorized offensive-security engagements.
How easy is it to switch AI providers?Provider cards let you add a custom provider by just pasting its API base URL and key, auto-discover its models, and test or toggle connections without touching config files.
How are my sessions saved so I can resume later?Sessions are durably persisted as JSONL or SQLite files with full replay support, so you can pick up an engagement exactly where you left off.
Why does the project describe 'everything as a plugin'?It is built on the Cordis plugin framework, so model adapters, tools, sessions, settings, and credentials are all swappable from configuration instead of living in a closed core.
Creator
S1N6H
Size
27.3 MB
Stars
422
Updated
CommitSep 11
Age
1mo
Commits · 90 Days