All notable changes to ShadowHunter are documented here.
The format is based on Keep a Changelog.
- Health endpoint:
/api/healthnow reports Neo4j and Redis connectivity and hunters availability. - Alerts API: pagination via
limitandoffset; response shape{ items, total, limit, offset }. - Rate limiting: optional per-IP limit on
POST /api/hunt(envHUNT_RATE_LIMIT_PER_MIN, default 10). - Audit log: optional
AUDIT_LOG_ENABLEDandAUDIT_LOG_PATHfor logging hunt (and future) requests. - JWT: API refuses to start in production if
JWT_SECRET_KEYis left at default. - NL-to-Cypher API:
POST /api/nl-to-cypherfor natural language → Cypher execution (read-only). - Dashboard: “Ask the graph” page for NL-to-Cypher; Quick Hunt “Download report (.md)” button.
- First-run script:
scripts/first_run.shcopies.env.example→.envand prints next steps. - Runbook: new “Recommended order of operations” (install → env → Neo4j schema → hunters → search → API).
0.1.0 - 2025-02
- Multi-agent hunters — 19 hunters (PasteHunter, CryptoHunter, SupplyChainHunter, AIThreatHunter, etc.), orchestrator, escape hatches, synthesis report;
shadowhunter hunterswith--enhanced,--output,--model,--hunters(subset). - Dark web search —
shadowhunter search -q "query"with LLM refine → Tor search engines → filter → scrape → summary; multi-model (OpenAI, Anthropic, Google, xAI/Grok, Ollama);--no-llm,--engines,--engines-file. - Quick Hunt UI — Dashboard page
/hunt: paste content → run hunters → view synthesis report;POST /api/hunt. - Root
.env.example— Single example env at repo root (Neo4j, Redis, API keys, LLM, Tor, etc.). - NL-to-Cypher — Natural language to read-only Cypher (rule-based + optional LLM); validation and execution.
- Version — Single source in
shadowhunter._version;shadowhunter --versionand API use it. - Pagination — Alerts API supports
limitandoffset; dashboard alerts page usesitemsfrom response.
- API health check now reflects real Neo4j/Redis/hunters status instead of static modules.
- Dashboard alerts client updated for new paginated alerts response shape.
- JWT secret must be set in production (API startup check).
- Optional rate limiting and audit logging for
/api/hunt.