Tool Mastery — Universal Security Arsenal

Sprint 025 turns HunterX from “an orchestrator that can execute security tools” into a professional security operator that understands and correctly uses every integrated tool. The mastery layer composes the Tool Intelligence Platform (TIP) with:

Facade

from hunterx.tools.mastery.api import ToolMasteryAPI

mastery = ToolMasteryAPI()          # seeds the full Sprint 025 arsenal
mastery.get_profile("nuclei")       # -> ToolMasterProfile
mastery.select_best("xss-validation", mission_type="bug-bounty")
mastery.coverage()                  # -> ToolCoverageReport
mastery.arsenal().export("capabilities/universal-security-arsenal.json")

When wired through the platform, the facade is available as platform.mastery and resolvable from the container as ToolMasteryAPI / ToolMasteryPort:

from hunterx.domain.ports.tool_mastery import ToolMasteryPort
platform = build_platform()
platform.resolve(ToolMasteryPort).select("sqli-validation")

Canonical data

The Sprint 025 arsenal is declared as compact ToolSpec records grouped by domain (see src/hunterx/tools/mastery/):

Module Tools
arsenal_recon.py subfinder, amass, assetfinder, findomain, bbot, dnsx, naabu, nmap, masscan, …
arsenal_web.py httpx, katana, ffuf, feroxbuster, arjun, kiterunner, graphqlmap, jsluice, …
arsenal_analysis.py nuclei, dalfox, sqlmap, commix, sstimap, interactsh, gitleaks, semgrep, zap, …
arsenal_enterprise.py netexec, impacket, enum4linux-ng, snmpwalk, prowler, trivy, syft, osv-scanner, …
arsenal_exploit.py metasploit, searchsploit, exploitdb, cewl, hashcat, john

Each ToolSpec expands into a full ToolMasterProfile (identity + knowledge + support classification + evidence/proof semantics + chaining + safety). The single machine-readable view is the universal security arsenal manifest at capabilities/universal-security-arsenal.json.

Playbooks, relationships and datasets are declared in:

Principles

Regeneration

The manifest is regenerated from source data by running:

python -m pytest -q tests/engineering/test_regenerate_arsenal.py