Skip to content

EasyHunt_AI-V1

Latest

Choose a tag to compare

@iamsecure1920 iamsecure1920 released this 17 Aug 21:07
· 26 commits to main since this release
EasyHunt AI v2.0.0 — first stable tag

An agentic VAPT orchestrator where the control plane, not the model, is the
security boundary. Every capability is an MCP tool passing through a fixed
server-side sequence — scope, sanitize, budget, rate-limit, approval, sandbox,
parse, audit — with no code path that skips a step.

Verified at this commit:
  1,985 tests passing, 1 skipped
  ruff clean across easyhunt/, tests/, scripts/
  80 MCP tools registered
  easyhunt doctor: 79 working (executed, not merely found on PATH) /
    82 catalogued, 3 not installed (osmedeus, strix, subdomainsleuth —
    all optional, none blocks a phase). 79 + 3 = 82; the accounting
    reconciles.

What changed since the work began:
  - pattern_scan: gf's pattern library as pinned data, 11 vetted packs
  - technique_lookup: PayloadsAllTheThings indexed from a pinned commit
  - exploit_chain + web_injection_probe: the validators fan out over
    discovered injection points, each still independently approval-gated
  - coverage.py: every bug class graded auto / detect-only / manual, so a
    gap is named rather than silently absent
  - chromium in the image, closing the DOM-XSS false negative
  - account_register and read-only form submission for authenticated testing
  - budget ceilings default OFF; the counters remain for reporting
  - the tool matrix is generated from recipes.py and tested against it
  - docs consolidated to five files with distinct jobs

Worth knowing before integrating:
  - scope.yaml is not shipped and will not be generated. It is an
    authorization record, transcribed by hand from the target program's
    published policy, and every target-taking tool refuses without it.
  - Budget ceilings are off by default; set budget.enforce: true to restore
    them. The counters still run, so reports still show cost and requests.
  - doctor's tool probes are time-bounded and run concurrently. On a loaded
    machine a slow tool can be reported "unverified (no response)" rather
    than working; that is a real state, printed explicitly, not a lost tool.
  - 60 of the catalogued tools declare no identity_marker, so execution
    proves a binary of that name responds — not that it is the right
    program. doctor says so on every run.