Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Subhunt

БесплатноНе проверен

Aggregate & dedupe subdomain enumeration from multiple sources

GitHubEmbed

Описание

Aggregate & dedupe subdomain enumeration from multiple sources

README

SUBHUNT

SUBHUNT

Aggregate & dedupe subdomain enumeration from multiple sources

PyPI CI License: COCL 1.0 Suite

Part of the Cognis Neural Suite.

pip install cognis-subhunt
subhunt scan .            # → prioritized findings in seconds

🔎 Example output

Real, reproducible output from the tool — runs offline:

$ subhunt-emit --version
subhunt 0.1.0
$ subhunt-emit --help
usage: subhunt [-h] [--version] {merge} ...

Aggregate & dedupe subdomain enumeration output from multiple sources into one
clean set (defensive / authorized testing).

positional arguments:
  {merge}
    merge     Merge subdomain source files/dirs into one deduped set.

options:
  -h, --help  show this help message and exit
  --version   show program's version number and exit

Blocks above are real subhunt output — reproduce them from a clone.

Sample result format (illustrative values — run on your own data for real findings):

{
"findings": [
    {
        "id": "123456",
        "title": "Suspicious Network Traffic",
        "description": "Possible malicious activity detected on port 443",
        "created_at": "2023-02-15T14:30:00Z",
        "updated_at": "2023-02-15T14:30:01Z",
        "labels": ["network", "suspicious"],
        "observables": [
            {
                "type": "ip-dst",
                "value": "192.0.2.1"
            },
            {
                "type": "port",
                "value": 443
            }
        ]
    }
]
}

Usage — step by step

  1. Install the CLI (console script subhunt):
    pip install cognis-subhunt
    
  2. Merge enumeration outputmerge takes one or more source files/dirs (one host per line, # comments) and produces one deduped set:
    subhunt merge amass.txt subfinder.txt assetfinder.txt
    
  3. Scope and format — restrict to a registrable domain and emit JSON:
    subhunt merge ./results/ --scope example.com --format json > subs.json
    
  4. Read the output — each host lists its source count and which sources reported it; the JSON stats block reports unique, duplicates, invalid, and out_of_scope. Exit code is 1 when unique hosts were found, 0 when nothing usable parsed:
    subhunt merge *.txt --scope example.com --format json | jq '.stats'
    
  5. Automate in a recon pipeline — feed the deduped set straight into the next tool:
    subhunt merge sources/*.txt --scope example.com | awk '{print $1}' | httpx
    

Contents

Why subhunt?

one clean subdomain set

subhunt is single-purpose, scriptable, and self-hostable: point it at a target, get prioritized results in the format your workflow already speaks (table · JSON · SARIF), gate CI on it, and let agents drive it over MCP.

Features

  • ✅ Normalize Host
  • ✅ Is Valid Hostname
  • ✅ In Scope
  • ✅ Parse Source
  • ✅ Aggregate
  • ✅ Runs on Linux/macOS/Windows · Docker · devcontainer
  • ✅ Ports in Python, JavaScript, Go, and Rust (ports/)

Quick start

pip install cognis-subhunt
subhunt --version
subhunt scan .                       # scan current project
subhunt scan . --format json         # machine-readable
subhunt scan . --fail-on high        # CI gate (non-zero exit)

Example

$ subhunt scan .
  [HIGH    ] SUB-001  example finding             (./src/app.py)
  [MEDIUM  ] SUB-002  another signal              (./config.yaml)

  2 findings · risk score 5 · 38ms

Architecture

flowchart LR
  IN[target / export] --> P[subhunt<br/>collect + correlate]
  P --> OUT[ranked findings]

Use it from any AI stack

subhunt is interoperable with every popular way of using AI:

  • MCP serversubhunt mcp (Claude Desktop, Cursor, Cognis.Studio, uncensored-fleet)
  • OpenAI-compatible / JSON — pipe subhunt scan . --format json into any agent or LLM
  • LangChain · CrewAI · AutoGen · LlamaIndex — wrap the CLI/JSON as a tool in one line
  • CI / scripts — exit codes + SARIF for non-AI pipelines

How it compares

Cognis subhunt amass
Self-hostable, no account varies
Single command, zero config ⚠️
JSON + SARIF for CI varies
MCP-native (AI agents)
Polyglot ports (JS/Go/Rust)
Open license ✅ COCL varies

Built in the spirit of amass/subfinder, re-framed the Cognis way. Missing a credit? Open a PR.

Integrations

Pipes into your stack: SARIF for code-scanning, JSON for anything, an MCP server (subhunt mcp) for AI agents, and a webhook forwarder for SIEM/Slack/Jira. See docs/INTEGRATIONS.md.

Install — every way, every platform

pip install "git+https://github.com/cognis-digital/subhunt.git"    # pip (works today)
pipx install "git+https://github.com/cognis-digital/subhunt.git"   # isolated CLI
uv tool install "git+https://github.com/cognis-digital/subhunt.git" # uv
pip install cognis-subhunt                                          # PyPI (when published)
docker run --rm ghcr.io/cognis-digital/subhunt:latest --help        # Docker
brew install cognis-digital/tap/subhunt                             # Homebrew tap
curl -fsSL https://raw.githubusercontent.com/cognis-digital/subhunt/main/install.sh | sh
Linux macOS Windows Docker Cloud
scripts/setup-linux.sh scripts/setup-macos.sh scripts/setup-windows.ps1 docker run ghcr.io/cognis-digital/subhunt DEPLOY.md (AWS/Azure/GCP/k8s)

Related Cognis tools

  • portfan — Summarize and diff nmap XML into prioritized, attackable findings
  • dirsight — Analyze web content-discovery output (ffuf/gobuster) into ranked endpoints
  • jwtinspect — Decode JWTs and lint for alg=none, weak secrets, and missing claims
  • corsaudit — Detect permissive/misconfigured CORS from headers or a config
  • headerscan — Grade HTTP security headers (CSP/HSTS/XFO) A-F from a response dump
  • ssltriage — Grade TLS config (protocols/ciphers/expiry) from openssl/sslyze output

Explore the suite → 🗂️ all 170+ tools · ⭐ awesome-cognis · 🔗 cognis-sources · 🤖 uncensored-fleet · 🧠 engram

Contributing

PRs, new rules, and demo scenarios are welcome under the collaboration-pull model — see CONTRIBUTING.md and SECURITY.md.

⭐ If subhunt saved you time, star it — it genuinely helps others find it.

Interoperability

{} composes with the 300+ tool Cognis suite — JSON in/out and a shared OpenAI-compatible /v1 backbone. See INTEROP.md for the suite map, composition patterns, and reference stacks.

License

Source-available under the Cognis Open Collaboration License (COCL) v1.0 — free for personal, internal-evaluation, research, and educational use; commercial / production use requires a license ([email protected]). See LICENSE.


Cognis Digital · one of 170+ tools in the Cognis Neural Suite · Making Tomorrow Better Today

from github.com/cognis-digital/subhunt

Установить Subhunt в Claude Desktop, Claude Code, Cursor

Рекомендуется · одна команда, все IDE
unyly install subhunt

Ставит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.

Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh

Или настроить вручную

Выполни в терминале:

claude mcp add subhunt -- uvx --from git+https://github.com/cognis-digital/subhunt cognis-subhunt

Пошаговые гайды: как установить Subhunt

FAQ

Subhunt MCP бесплатный?

Да, Subhunt MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Subhunt?

Нет, Subhunt работает без API-ключей и переменных окружения.

Subhunt — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Subhunt в Claude Desktop, Claude Code или Cursor?

Открой Subhunt на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Subhunt with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development