Skip to main content
██╗  ██╗██╗   ██╗██████╗ ██████╗  █████╗ ███████╗██╗ ██████╗ ██╗  ██╗████████╗
██║  ██║╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗██╔════╝██║██╔════╝ ██║  ██║╚══██╔══╝
███████║ ╚████╔╝ ██║  ██║██████╔╝███████║███████╗██║██║  ███╗███████║   ██║
██╔══██║  ╚██╔╝  ██║  ██║██╔══██╗██╔══██║╚════██║██║██║   ██║██╔══██║   ██║
██║  ██║   ██║   ██████╔╝██║  ██║██║  ██║███████║██║╚██████╔╝██║  ██║   ██║
╚═╝  ╚═╝   ╚═╝   ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═╝ ╚═════╝ ╚═╝  ╚═╝   ╚═╝

AI-assisted offensive-security orchestration — every action proposed, gated, and provably audited.

Local LLM (Ollama) + Kali Linux tooling + a fail-closed safety core. Built for authorized labs, CTFs, and engagements with written permission.

Release PyPI Docs CI Coverage Python Tests License

Documentation · Quick start · Security model · Changelog · Releasing

⚠️ Authorized use only. HydraSight is built for systems you own or test under explicit written permission. Unauthorized security testing is illegal and unethical. The maintainers accept no responsibility for misuse. The tool's safety architecture enforces authorization at runtime — but the attestation is an integrity gate, not a legality gate: you are responsible for what you attest.


What this is

HydraSight is a local, stateful operator console that sits between a privately-running LLM (via Ollama) and real security tools on a Kali Linux host (via the kali-linux-mcp REST bridge). It translates operator intent into proposed tool invocations, runs every proposal through a hard security gauntlet, executes only what passes, and writes an immutable record of the whole session.

It is not a chatbot, not a cloud service, and not an autonomous agent. The model plans; the gates decide; you confirm.

Where it differs from the rest of the field

Chat-wrapper "AI pentesters" Autonomous pentest agents HydraSight
Human-in-the-loop by construction sometimes optional every non-read action
Model can execute arbitrary commands ✔ risk ✔ risk ✘ typed allowlisted commands only
Mandatory scope authorization before any packet ✔ (authorize, deny-by-default)
Tamper-evident, redacted audit trail partial ✔ SHA-256 hash-chained JSONL
Runs fully offline / air-gapped ✔ (local LLM, local bridge)
Open source, MIT, self-hostable mixed

How it works

flowchart LR
    OP["Operator input"] --> RT{"CommandRouter"}
    RT -- "bare chat" --> CHAT["ChatAIClient — no tool access, dispatch forbidden"]
    RT -- "builtin / /run / NL intent" --> PLAN["IntentClassifier → ActionPlanner → PendingAction"]
    PLAN --> POL["ExecutionPolicy — confirm / auto / never"]
    POL --> DISP{"Dispatcher: the single enforcement chokepoint"}
    DISP -- "attested scope ∩ ROE ∧ sanitized" --> KALI["Kali bridge → nmap, enum4linux, gobuster, hydra, msfconsole, john …"]
    DISP -- "any gate fails" --> BLOCK["Blocked + logged"]
    KALI --> FIND["Parsers → findings state → JSON / PDF report"]
    DISP -. "every allow/block decision" .-> AUD[("hydrasight_audit.jsonl — hash-chained, secret-redacted")]

Three properties are architectural, not aspirational:

  1. Deny by default. No command reaches a target until an operator attests authorization for an explicit IP/CIDR scope — interactively (authorize 10.10.10.0/24 → type I AUTHORIZE) or via a pre-signed file for CI/CTF runs. No attestation, no execution — in every code path, including the engine's.
  2. One chokepoint. ROE rules and the attested scope are enforced in a single place (Dispatcher.dispatch); neither can widen the other, and the AI has no route around it — routing decisions are pure regex, never LLM output.
  3. Provable afterwards. Every proposal, approval, block, and outcome is appended to a SHA-256 hash-chained JSONL log with automatic credential redaction. Log integrity is verifiable at any time (AuditLogger.verify()), including detection of deleted lines.

Quick start

Requirements

Component Version Notes
Python 3.10 – 3.12 Any OS that can reach Ollama and the bridge (execution happens on Kali); console verified on Linux and Windows
Ollama latest Any chat model; default: qcwind/qwen3-8b-instruct-Q4-K-M:latest
Kali Linux + kali-linux-mcp rolling On Kali: sudo apt install mcp-kali-server, then start the bridge with kali-server-mcp (serves the API on :5000)

Install & configure

pip install hydrasight

cp hydrasight.json.example hydrasight.json   # point kali_api_url at your bridge
ollama pull qcwind/qwen3-8b-instruct-Q4-K-M:latest   # or set "model" in hydrasight.json

Run your first engagement

hydrasight                    # or: python -m hydrasight
hydrasight › authorize 10.129.74.0/24          ── type "I AUTHORIZE" at the prompt
hydrasight › enumerate smb shares on 10.129.74.47

  Proposing   enum4linux -a 10.129.74.47 2>&1 | head -n 150
  Confirm? [y/N]  y
  ✔ Found 3 shares: IPC$, ADMIN$, Data

Chat is always safe: any question (what is smb signing?) never dispatches — a fake-execution guard rejects LLM role-play like “I will begin scanning.” Full walkthrough: Getting started.

The safety & accountability model

Five independent layers — any one of them can stop a command; the LLM can be wrong four times in a row and still hit a wall:

Layer Mechanism Failure mode it prevents
Mode separation Regex CommandRouter; chat client structurally cannot dispatch model decides to “just run this”
Authorization attestation scope-bound, expiring, deny-by-default out-of-scope targets, forgotten sessions
Rules of Engagement per-engagement JSON: allowed targets, blocked ports/modules, kill_switch scope errors, runaways
Command sanitizer fail-closed allowlist of binaries + shell-metacharacter rejection; typed CommandSpec → string, never interpolation injection through tool arguments
Audit ledger append-only hash chain + redaction, records both allowed and blocked deniability, silent failures

Execution modes: confirm (default — every action prompted) · auto (self-executes only at model confidence ≥ 80%) · never (explain-and-suggest only — the demo/supervisor mode).

The toolbelt covers recon → exploitation → post-access → credential work (nmap, enum4linux, smbclient, gobuster, nikto, whatweb, hydra, msfconsole RC, john, and the metasploit post-access handlers for SSH/FTP/web admin), each defined as a typed action in the registry. Complete list and how to add tools: Tools · Extending.

Documentation

Getting started setup, first engagement, Docker/compose
Configuration every key, env overrides, precedence
Security model the five layers in depth
Authorization & audit attestation lifecycle, chain verification
Rules of Engagement writing an ROE file, kill switch
Architecture & Development codebase tour, contributor guide

Quality bar

CI enforces, on every push and pull request:

Gate Floor
Tests 797, offline, mocked — no network, no flake
Branch coverage ≥ 75% (--cov-fail-under), reported with missing-line detail
Typing mypy: untyped defs forbidden, strict-equality, no-implicit-optional
Lint & format ruff + ruff format --check, pylint ≥ 9.0 (currently 9.18)
Docs mkdocs build --strict
Releases twine check, then PyPI publish via OIDC trusted publishing — no API tokens, ever — gated by a GitHub environment; provenance on v* tags only

Local equivalent: make install && make lint typecheck test — see Makefile.

Versioning & releases

Semantic Versioning; the release flow and its guarantees are documented in RELEASING.md. Every published artifact is reproducible from the tagged commit, and CHANGELOG.md follows Keep a Changelog.

Security & responsible disclosure

Found a vulnerability in HydraSight itself (bypass of the sanitizer, scope or audit layer)? Please report privately per SECURITY.md — the safety architecture is the product, so these reports are treated with the highest priority. Contributions are welcome: CONTRIBUTING.md.

Acknowledgments

Built on Ollama, Rich, ReportLab, and the kali-linux-mcp bridge — and shaped by the HTB/CTF community's workflow.

License

MIT © 2026 Shyamprasanth04.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hydrasight-4.1.1.tar.gz (180.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hydrasight-4.1.1-py3-none-any.whl (150.9 kB view details)

Uploaded Python 3

File details

Details for the file hydrasight-4.1.1.tar.gz.

File metadata

  • Download URL: hydrasight-4.1.1.tar.gz
  • Upload date:
  • Size: 180.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hydrasight-4.1.1.tar.gz
Algorithm Hash digest
SHA256 43ec60e15e7c403dea7aeed22a2ed3a8b7ef6713ade4fd9d2595d64b2e6766df
MD5 d7383deeb4d50d36684e0d2545b514ff
BLAKE2b-256 8f10b460f101b36a369cdcbcfcba91335242e5b6cf3ad574a4591a914ace8b7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for hydrasight-4.1.1.tar.gz:

Publisher: release.yml on Shyamprasanth04/hydrasight

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hydrasight-4.1.1-py3-none-any.whl.

File metadata

  • Download URL: hydrasight-4.1.1-py3-none-any.whl
  • Upload date:
  • Size: 150.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hydrasight-4.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f08ff108627b410dbb9282241b3acf64c3e762ea4cdadd2c037764f87d56d909
MD5 081eb35a2d02fc01f8e106d6dc88fcb3
BLAKE2b-256 f1d99b78ea217bed314130a12e9a500f1e54bde2989854390d66b39545d9a497

See more details on using hashes here.

Provenance

The following attestation bundles were made for hydrasight-4.1.1-py3-none-any.whl:

Publisher: release.yml on Shyamprasanth04/hydrasight

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

4.1.1 This release

2 files

4.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page