Skip to content

Back to the catalog

hackingtool
github.comrepo

hackingtool

hackingtool is a console launcher that bundles 215 curated security tools across 21 categories (recon, OSINT, wireless, phishing, forensics, post-exploitation) so users can install and run them without hunting down individual Git repos. Its newer AI layer maps plain-English goals to the right tool and exact command, plans multi-step objectives with confirmation gates, and drafts engagement reports, while emphasizing safe installs (pinned/SHA-256-verified downloads, no curl|bash, list-form subprocess calls, signed releases with SBOM) and refusing out-of-scope asks like DoS or mass-targeting. It also ships a non-interactive orchestrator (`--engagement`/`--pipeline`) that normalizes tool output into findings.json for red team, blue team, OSINT, bug bounty, and DFIR workflows.

TL;DR A 215-tool pentesting/OSINT/forensics launcher with an opt-in AI layer that turns plain-English goals into vetted tool commands and engagement reports.
Document

What it is

hackingtool (github.com/z4nzu/hackingtool) is a Python 3.10+ CLI that curates and launches security tools. The install path, platform limits, and the AI layer's operational boundaries are the details worth knowing before you commit.

Preconditions / Affected

Runs on Linux or macOS only (Kali, Parrot, Debian/Ubuntu, Arch). Windows is not supported — the app detects it and exits. The core app has no runtime dependencies beyond Python, but individual tools may pull their own language runtimes at install time.

What to do

Recommended install is pipx into an isolated venv, which puts hackingtool on your PATH:

git clone https://github.com/Z4nzu/hackingtool.git
cd hackingtool
pipx install .
hackingtool

Update with git pull && pipx install . --force; remove with pipx uninstall hackingtool. Alternatives: uv tool install ., uv sync && uv run hackingtool, or a plain venv + pip install . (PATH only while activated). A published Docker image also exists:

docker run -it --rm hardikzinzu/hackingtool:latest

Force the classic numbered menu on non-interactive terminals with hackingtool --classic.

How it works

Two distinct AI-adjacent commands, with different risk profiles:

  • /find searches your local catalog, then the GitHub search API, and ranks results explainably. It is suggest-only and makes zero model calls — it never clones, installs, or runs anything. Kept results save to ~/.hackingtool/found.yaml with no install/run command, so a discovered entry can never execute.
  • /goal drafts a plan of real commands, asks you to confirm authorization on the target, then steps through with [y] run · [s] skip · [e] edit. This is where execution actually happens.

Out-of-scope asks (jamming, DoS, mass-targeting, malware) are refused before any network call; defensive/DFIR phrasing is never refused.

flowchart TD
    A[user intent] --> B{command}
    B -->|/find| C[catalog + GitHub search]
    C --> D[suggest only — no execution, no model calls]
    B -->|/goal| E{in scope?}
    E -->|no: DoS/malware/mass-target| F[refused before network call]
    E -->|yes| G[confirm authorization]
    G --> H[step through: y/s/e]

Caveats

  • The in-app header shows 22 categories / 217 tools, but the real curated count is 21 categories / 215 tools — the header also counts the built-in Update/Uninstall menu.
  • 59 further entries are archived (unmaintained or dead upstream) and hidden unless you set show_archived true via /config.
  • /find works anonymously at 10 GitHub searches/minute; a no-scope token raises that to 30 via /config github.

Technologies named here

Techniques named here