HunterX v7 — README, GitHub Pages & SEO Audit
Date: 2026-08-11
Version: 7.0.0
Scope: README, GitHub Pages (Jekyll under docs/), SEO metadata,
structured data, tool ecosystem documentation, PoC/proof positioning, LLM
discoverability, name disambiguation.
1. Before / After Assessment
Before
- README positioned HunterX as an “AI-Powered Security Orchestration & Intelligence Platform” — a scanner-oriented message. It claimed “100+ registered tools” (the v7 manifest verifies 92), had no From Detection-to-Proof section, no tool ecosystem table with integration status, no Target Intelligence / Cloud & SaaS / PoC sections, and linked to a PyPI package name that belongs to an unrelated project.
- GitHub Pages layout (
docs/_layouts/default.html) was broken: the last release commit truncated it — the<footer>and scripts were emitted inside<head>, and<body>, `<h1 id="hunterx-quality-gates-reference">HunterX Quality Gates Reference</h1>
Status: Ratified (Sprint 006.9) Version: 1.0.0 Owner: HunterX Engineering Council
1. Purpose / Scope
This document is the reference for every quality gate in the HunterX platform.
It defines what each gate checks, how it is configured, and how to interpret
its result. The gates are orchestrated by eng.gates.GateRunner and declared in
eng/config/gates.yaml. The CI wiring is described in
v7-cicd-architecture.md; the security gate is
expanded in v7-security-pipeline.md.
A gate is a function (runner, repo_root, spec) -> GateResult registered in
eng.gates.checks.default_checks(). Every gate in gates.yaml defaults to
mandatory: true; a mandatory FAIL or ERROR raises
eng.gates.GateBlockedError and blocks the merge.
2. Gate Configuration
Configuration lives in eng/config/gates.yaml:
gates:
- name: coverage
mandatory: true
threshold: 80.0
- name: performance
mandatory: true
threshold: 20.0
mandatory controls blocking; threshold is a per-gate numeric setting (a
coverage percentage, a performance drift percentage, a slow-test cutoff).
Optional gates (packaging, git-diff) never block.
Run the gates:
python -m eng gates # full suite
python -m eng gates --gate ruff mypy
python -m eng gates --json # artifacts/gates-report.json
3. Status Model
| Status | Meaning | Blocks? |
|---|---|---|
PASS |
Subject validated | no |
FAIL |
Problem found | yes, if mandatory |
ERROR |
Gate could not execute | yes, if mandatory |
SKIPPED |
Not applicable / tool absent (graceful degradation) | no |
4. Gate Catalog
4.1 ruff
Lints the v7 source tree, the engineering platform, tests, Alembic migrations
and the legacy-excluded configuration. _SRC = ("src", "eng") and the tests/
tree are the linted targets; the retired v6 flat hunterx/ package is
deliberately excluded (documented technical debt). Command:
ruff check src tests eng alembic
ruff format --check src tests eng alembic
A violation or an unformatted file fails the gate.
4.2 mypy
Runs mypy in strict mode over the type-checked surface:
mypy eng src/hunterx/shared
The engineering platform and the shared kernel (including the dependency
injection container in src/hunterx/shared/di.py) are kept strict-clean. The
remaining v7 source is type-checked incrementally as Capability Waves land; the
retired v6 flat package is excluded. When the full v7 tree reaches strict-clean,
the target SHOULD be widened to mypy --no-warn-unused-ignores src eng.
4.3 pytest
Runs the full test suite:
pytest -q --no-cov -m "not tools" tests/
The tools marker excludes tests that require live external security tools by
default; they are executed by the dedicated security-tests.yml workflow.
4.4 coverage
Runs pytest under coverage and enforces a configurable threshold (default
80.0):
pytest -q --cov hunterx --cov-report xml:artifacts/coverage.xml
The Cobertura report is uploaded by CI. Coverage below the threshold fails the
gate. Coverage configuration lives in [tool.coverage.*] in pyproject.toml.
4.5 architecture
Enforces the v7 Clean Architecture dependency rule: Delivery → Application → Domain, with Infrastructure implementing domain ports injected at composition time. Violations of layer boundaries fail the gate.
4.6 deadcode
Runs vulture over the source with config/vulture_allowlist.py supplying
whitelists for entry points (main, register, create_adapter,
build_container, render_template, __version__). Entry points and library
names are whitelisted, true dead code is not.
4.7 dependencies
Validates that requirements.lock is consistent with the dependencies declared
in pyproject.toml (eng.supplychain.parse_requirements). Drift between the
declared and locked sets fails the gate. The audit of known vulnerabilities
is handled by the security pipeline’s pip-audit and safety scans.
4.8 docs
Runs eng.docs.validate_docs: required root files, required sections, the
DevSecOps engineering documents and their mandated anchors, internal markdown
link resolution, balanced fenced blocks and trailing-whitespace hygiene.
Produces artifacts/docs-report.json.
4.9 security
Runs the full security pipeline (see
v7-security-pipeline.md): bandit, semgrep, gitleaks,
pip-audit, safety, and trivy filesystem/image scans. Aggregates into
artifacts/security-report.json. Missing scanners are skipped, not failed.
4.10 performance
Runs the benchmark suite (tests/performance) with pytest-benchmark,
normalizes results to artifacts/benchmarks/latest.json and compares against
baseline.json. Drift beyond threshold (default 20.0 percent) fails the
gate. The --durations summary catches slow tests (default cutoff 10s).
On the first run a baseline is recorded and the gate passes.
python -m eng gates --gate performance
4.11 compliance
Verifies LICENSE, NOTICE, THIRD_PARTY_NOTICES and the license allow-list
(eng.supplychain.check_licenses, _ALLOWED_LICENSES). Disallowed licenses,
missing attribution or missing license files fail the gate.
4.12 hygiene
Verifies repository hygiene: SECURITY.md, CONTRIBUTING.md,
CODE_OF_CONDUCT.md, .github/CODEOWNERS, .github/dependabot.yml, the issue
templates and the pull-request template.
4.13 packaging (optional)
Builds the wheel and sdist (python -m build) and validates them
(eng.packaging.validate_packaging). Optional by default; enable it when a
release build is part of the workflow.
4.14 git-diff (optional)
Fails when the working tree has uncommitted changes (git status --porcelain).
Used as a reproducibility gate on release runs; optional so developers can run
the suite mid-work.
5. Adding or Tuning a Gate
- Declare the gate in
eng/config/gates.yaml(name, mandatory, threshold). - Implement the checker in
eng.gates.checkswith the uniform signature. - Register it in
default_checks(). - Add a test under
tests/engineering/test_checks.py. - Document the gate in §4 of this document.
Thresholds are tunable without code changes — they live in YAML. The blocking
semantics are driven entirely by mandatory.
`, navigation, styles and the docs header were missing. Pages rendered with no content.
docs/_includes/seo.htmlcontained invalid Liquid (a corrupted%}%}token, an unsupportedwherefilter on a split array, acumbstypo) and hard-coded SoftwareApplicationversion: 6.0.0and v6featureList.docs/_layouts/post.htmlandtutorial.htmlduplicated the full layout with v6 JSON-LD and a buggy IntersectionObserver (targetinstead ofentry.target).- Homepage (
docs/index.md) was built around v6 numbers (41 skills, 18 goals, 10 agents) and had no Detection-to-Proof, workflow, tool ecosystem, PoC/proof, Target Intelligence, Cloud/SaaS, Knowledge Graph or reporting sections. It linked topypi.org/project/hunterx(wrong project). - robots.txt pointed the Sitemap at
https://nullc0d30.github.io/sitemap.xml(missing the/HunterXproject-site baseurl). - No llms.txt / llms-full.txt, no tool ecosystem page, no PoC/validation page, no v7 release page, and the SEO landing pages (ai-penetration-testing, bug-bounty, red-team, comparisons, reasoning-engine, benchmarks, glossary, tutorials) did not exist.
- Several v7 docs lacked front matter and were copied verbatim by Jekyll
as raw
.mdinstead of rendered pages (breaking/v7-*permalink links). - FAQ described v6-era behavior (4-stage pipeline, 41 skills,
hunterx scan,hunterx api --port) inconsistent with v7. - Several docs claimed “100+ integrated tools” (verified count is 92).
After
- README re-positioned as AI-Assisted Vulnerability Discovery, Validation & Proof Engine with the hero message “Find it. Verify it. Prove it. Report it.”, a From Detection-to-Proof section, the full v7 workflow, a complete tool ecosystem section (92 tools with official links and integration status), PoC & Proof Engine, Target Intelligence, Cloud & SaaS Intelligence, Knowledge Graph & Correlation, Reporting, Target Users, v7 Highlights, name disambiguation, and corrected PyPI references.
- GitHub Pages layout fixed and modernized: valid HTML structure, restored CSS, navigation, docs sidebar, breadcrumbs, `<h1 id="hunterx-quality-gates-reference">HunterX Quality Gates Reference</h1>
Status: Ratified (Sprint 006.9) Version: 1.0.0 Owner: HunterX Engineering Council
1. Purpose / Scope
This document is the reference for every quality gate in the HunterX platform.
It defines what each gate checks, how it is configured, and how to interpret
its result. The gates are orchestrated by eng.gates.GateRunner and declared in
eng/config/gates.yaml. The CI wiring is described in
v7-cicd-architecture.md; the security gate is
expanded in v7-security-pipeline.md.
A gate is a function (runner, repo_root, spec) -> GateResult registered in
eng.gates.checks.default_checks(). Every gate in gates.yaml defaults to
mandatory: true; a mandatory FAIL or ERROR raises
eng.gates.GateBlockedError and blocks the merge.
2. Gate Configuration
Configuration lives in eng/config/gates.yaml:
gates:
- name: coverage
mandatory: true
threshold: 80.0
- name: performance
mandatory: true
threshold: 20.0
mandatory controls blocking; threshold is a per-gate numeric setting (a
coverage percentage, a performance drift percentage, a slow-test cutoff).
Optional gates (packaging, git-diff) never block.
Run the gates:
python -m eng gates # full suite
python -m eng gates --gate ruff mypy
python -m eng gates --json # artifacts/gates-report.json
3. Status Model
| Status | Meaning | Blocks? |
|---|---|---|
PASS |
Subject validated | no |
FAIL |
Problem found | yes, if mandatory |
ERROR |
Gate could not execute | yes, if mandatory |
SKIPPED |
Not applicable / tool absent (graceful degradation) | no |
4. Gate Catalog
4.1 ruff
Lints the v7 source tree, the engineering platform, tests, Alembic migrations
and the legacy-excluded configuration. _SRC = ("src", "eng") and the tests/
tree are the linted targets; the retired v6 flat hunterx/ package is
deliberately excluded (documented technical debt). Command:
ruff check src tests eng alembic
ruff format --check src tests eng alembic
A violation or an unformatted file fails the gate.
4.2 mypy
Runs mypy in strict mode over the type-checked surface:
mypy eng src/hunterx/shared
The engineering platform and the shared kernel (including the dependency
injection container in src/hunterx/shared/di.py) are kept strict-clean. The
remaining v7 source is type-checked incrementally as Capability Waves land; the
retired v6 flat package is excluded. When the full v7 tree reaches strict-clean,
the target SHOULD be widened to mypy --no-warn-unused-ignores src eng.
4.3 pytest
Runs the full test suite:
pytest -q --no-cov -m "not tools" tests/
The tools marker excludes tests that require live external security tools by
default; they are executed by the dedicated security-tests.yml workflow.
4.4 coverage
Runs pytest under coverage and enforces a configurable threshold (default
80.0):
pytest -q --cov hunterx --cov-report xml:artifacts/coverage.xml
The Cobertura report is uploaded by CI. Coverage below the threshold fails the
gate. Coverage configuration lives in [tool.coverage.*] in pyproject.toml.
4.5 architecture
Enforces the v7 Clean Architecture dependency rule: Delivery → Application → Domain, with Infrastructure implementing domain ports injected at composition time. Violations of layer boundaries fail the gate.
4.6 deadcode
Runs vulture over the source with config/vulture_allowlist.py supplying
whitelists for entry points (main, register, create_adapter,
build_container, render_template, __version__). Entry points and library
names are whitelisted, true dead code is not.
4.7 dependencies
Validates that requirements.lock is consistent with the dependencies declared
in pyproject.toml (eng.supplychain.parse_requirements). Drift between the
declared and locked sets fails the gate. The audit of known vulnerabilities
is handled by the security pipeline’s pip-audit and safety scans.
4.8 docs
Runs eng.docs.validate_docs: required root files, required sections, the
DevSecOps engineering documents and their mandated anchors, internal markdown
link resolution, balanced fenced blocks and trailing-whitespace hygiene.
Produces artifacts/docs-report.json.
4.9 security
Runs the full security pipeline (see
v7-security-pipeline.md): bandit, semgrep, gitleaks,
pip-audit, safety, and trivy filesystem/image scans. Aggregates into
artifacts/security-report.json. Missing scanners are skipped, not failed.
4.10 performance
Runs the benchmark suite (tests/performance) with pytest-benchmark,
normalizes results to artifacts/benchmarks/latest.json and compares against
baseline.json. Drift beyond threshold (default 20.0 percent) fails the
gate. The --durations summary catches slow tests (default cutoff 10s).
On the first run a baseline is recorded and the gate passes.
python -m eng gates --gate performance
4.11 compliance
Verifies LICENSE, NOTICE, THIRD_PARTY_NOTICES and the license allow-list
(eng.supplychain.check_licenses, _ALLOWED_LICENSES). Disallowed licenses,
missing attribution or missing license files fail the gate.
4.12 hygiene
Verifies repository hygiene: SECURITY.md, CONTRIBUTING.md,
CODE_OF_CONDUCT.md, .github/CODEOWNERS, .github/dependabot.yml, the issue
templates and the pull-request template.
4.13 packaging (optional)
Builds the wheel and sdist (python -m build) and validates them
(eng.packaging.validate_packaging). Optional by default; enable it when a
release build is part of the workflow.
4.14 git-diff (optional)
Fails when the working tree has uncommitted changes (git status --porcelain).
Used as a reproducibility gate on release runs; optional so developers can run
the suite mid-work.
5. Adding or Tuning a Gate
- Declare the gate in
eng/config/gates.yaml(name, mandatory, threshold). - Implement the checker in
eng.gates.checkswith the uniform signature. - Register it in
default_checks(). - Add a test under
tests/engineering/test_checks.py. - Document the gate in §4 of this document.
Thresholds are tunable without code changes — they live in YAML. The blocking
semantics are driven entirely by mandatory.
, and footer; SEO
and structured data centralized in seo.html`.
- Structured data fixed: valid Liquid, SoftwareApplication v7.0.0, v7 feature list, correct absolute URLs, working BreadcrumbList, WebPage, TechArticle/Article/LearningResource conditionals.
- Homepage rewritten as a v7 product landing page covering Hero, Why, Detection-to-Proof, How it works, Security Coverage, Tool Ecosystem, PoC & Validation, Target Intelligence, Cloud & SaaS Intelligence, Knowledge Graph, Reporting, Use Cases, Integrations, Architecture, Installation, Community, Responsible Use and identity/author.
- New pages: tool-ecosystem (92 tools with per-tool roles/status), poc-validation, v7-release (What’s New in v7), llms.txt, llms-full.txt, ai-penetration-testing, bug-bounty, red-team, ci-cd-security-scanning, comparisons (index, vs-nuclei, vs-zap, vs-burp, vs-openvas), reasoning-engine, benchmarks, glossary, tutorials.
- robots.txt corrected to the
/HunterXproject-site path. - 17 v7 docs received front matter + permalinks so they render as pages.
- FAQ rewritten to match v7 (missions, proof engine, 92 tools, v7 CLI).
- Docs gate 7/7 PASS; Jekyll build succeeds; 0 broken internal links.
2. README Changes
| Area | Change |
|---|---|
| Title / hero | “AI-Assisted Vulnerability Discovery, Validation & Proof Engine” + “Find it. Verify it. Prove it. Report it.” |
| What is HunterX | Canonical v7 definition and Validated Finding model |
| Why HunterX | Detection vs Proof framing |
| From Detection to Proof | Finding lifecycle, candidate→validated pipeline |
| How HunterX Works | DISCOVER→…→REPORT workflow |
| v7 Highlights | Composition root, toolchain, missions, TIDB, cloud, PoC, reporting, hardening, installer, CI/CD, docs, production readiness; test metric 3479/8/2/0 |
| Security Coverage | Supported classes incl. UNKNOWN_BEHAVIOR |
| Tool Ecosystem | 92 tools, categories, official links, status labels |
| PoC & Proof Engine | Proof contracts, replay, reproducibility, impact/confidence, novel behavior, safe RCE proof |
| Target Intelligence | assets/targets/observations/findings/evidence/history/topology/cloud/correlation/mission state/tool results |
| Cloud & SaaS Intelligence | provider list + passive-by-design statement |
| Knowledge Graph & Correlation | cross-tool correlation |
| Reporting | Markdown/HTML/JSON/SARIF/PDF/package |
| Example Workflow + Usage | v7 CLI (hunterx hunt, hunterx finding, hunterx report) |
| Installation | installer + source (PyPI reference removed/corrected) |
| CLI / REST API / Docker / Architecture / Integrations | v7-accurate |
| Testing & Quality | commands |
| Target Users | bug bounty, pentest, red team, research, appsec, devsecops |
| Documentation / Contributing / Responsible Use / License / Author | preserved and updated |
| Star / Follow / Contribute CTA | present |
| Name disambiguation | PyPI note added |
| Badges | removed invalid PyPI badge; corrected Python badge |
Claim corrections: “100+ registered tools” → 92 (verified from
capabilities/full-toolchain-intelligence.json and the v7 toolchain
certification). Removed pip install hunterx as the canonical path because the
hunterx PyPI name belongs to an unrelated project.
3. GitHub Pages Changes
Homepage (docs/index.md)
- v7 hero with “Find it. Verify it. Prove it. Report it.” and “Less noise. More verified findings.”
- Why HunterX comparison table (scanner vs HunterX v7)
- From Detection to Proof
- How HunterX Works (full workflow)
- Security Coverage cards
- Tool Ecosystem cards + link
- PoC & Validation
- Target Intelligence
- Cloud & SaaS Intelligence
- Knowledge Graph & Attack Paths
- Reporting
- Who Uses HunterX (target users)
- Architecture
- Integrations
- Installation CTA
- Community
- Responsible Use
- About / Identity (author + name disambiguation)
Layouts / Includes
_layouts/default.html— rebuilt from the previous working version: valid<head>/<body>, CSS, top nav, docs header, sidebar, breadcrumbs, `<h1 id="hunterx-quality-gates-reference">HunterX Quality Gates Reference</h1>
Status: Ratified (Sprint 006.9) Version: 1.0.0 Owner: HunterX Engineering Council
1. Purpose / Scope
This document is the reference for every quality gate in the HunterX platform.
It defines what each gate checks, how it is configured, and how to interpret
its result. The gates are orchestrated by eng.gates.GateRunner and declared in
eng/config/gates.yaml. The CI wiring is described in
v7-cicd-architecture.md; the security gate is
expanded in v7-security-pipeline.md.
A gate is a function (runner, repo_root, spec) -> GateResult registered in
eng.gates.checks.default_checks(). Every gate in gates.yaml defaults to
mandatory: true; a mandatory FAIL or ERROR raises
eng.gates.GateBlockedError and blocks the merge.
2. Gate Configuration
Configuration lives in eng/config/gates.yaml:
gates:
- name: coverage
mandatory: true
threshold: 80.0
- name: performance
mandatory: true
threshold: 20.0
mandatory controls blocking; threshold is a per-gate numeric setting (a
coverage percentage, a performance drift percentage, a slow-test cutoff).
Optional gates (packaging, git-diff) never block.
Run the gates:
python -m eng gates # full suite
python -m eng gates --gate ruff mypy
python -m eng gates --json # artifacts/gates-report.json
3. Status Model
| Status | Meaning | Blocks? |
|---|---|---|
PASS |
Subject validated | no |
FAIL |
Problem found | yes, if mandatory |
ERROR |
Gate could not execute | yes, if mandatory |
SKIPPED |
Not applicable / tool absent (graceful degradation) | no |
4. Gate Catalog
4.1 ruff
Lints the v7 source tree, the engineering platform, tests, Alembic migrations
and the legacy-excluded configuration. _SRC = ("src", "eng") and the tests/
tree are the linted targets; the retired v6 flat hunterx/ package is
deliberately excluded (documented technical debt). Command:
ruff check src tests eng alembic
ruff format --check src tests eng alembic
A violation or an unformatted file fails the gate.
4.2 mypy
Runs mypy in strict mode over the type-checked surface:
mypy eng src/hunterx/shared
The engineering platform and the shared kernel (including the dependency
injection container in src/hunterx/shared/di.py) are kept strict-clean. The
remaining v7 source is type-checked incrementally as Capability Waves land; the
retired v6 flat package is excluded. When the full v7 tree reaches strict-clean,
the target SHOULD be widened to mypy --no-warn-unused-ignores src eng.
4.3 pytest
Runs the full test suite:
pytest -q --no-cov -m "not tools" tests/
The tools marker excludes tests that require live external security tools by
default; they are executed by the dedicated security-tests.yml workflow.
4.4 coverage
Runs pytest under coverage and enforces a configurable threshold (default
80.0):
pytest -q --cov hunterx --cov-report xml:artifacts/coverage.xml
The Cobertura report is uploaded by CI. Coverage below the threshold fails the
gate. Coverage configuration lives in [tool.coverage.*] in pyproject.toml.
4.5 architecture
Enforces the v7 Clean Architecture dependency rule: Delivery → Application → Domain, with Infrastructure implementing domain ports injected at composition time. Violations of layer boundaries fail the gate.
4.6 deadcode
Runs vulture over the source with config/vulture_allowlist.py supplying
whitelists for entry points (main, register, create_adapter,
build_container, render_template, __version__). Entry points and library
names are whitelisted, true dead code is not.
4.7 dependencies
Validates that requirements.lock is consistent with the dependencies declared
in pyproject.toml (eng.supplychain.parse_requirements). Drift between the
declared and locked sets fails the gate. The audit of known vulnerabilities
is handled by the security pipeline’s pip-audit and safety scans.
4.8 docs
Runs eng.docs.validate_docs: required root files, required sections, the
DevSecOps engineering documents and their mandated anchors, internal markdown
link resolution, balanced fenced blocks and trailing-whitespace hygiene.
Produces artifacts/docs-report.json.
4.9 security
Runs the full security pipeline (see
v7-security-pipeline.md): bandit, semgrep, gitleaks,
pip-audit, safety, and trivy filesystem/image scans. Aggregates into
artifacts/security-report.json. Missing scanners are skipped, not failed.
4.10 performance
Runs the benchmark suite (tests/performance) with pytest-benchmark,
normalizes results to artifacts/benchmarks/latest.json and compares against
baseline.json. Drift beyond threshold (default 20.0 percent) fails the
gate. The --durations summary catches slow tests (default cutoff 10s).
On the first run a baseline is recorded and the gate passes.
python -m eng gates --gate performance
4.11 compliance
Verifies LICENSE, NOTICE, THIRD_PARTY_NOTICES and the license allow-list
(eng.supplychain.check_licenses, _ALLOWED_LICENSES). Disallowed licenses,
missing attribution or missing license files fail the gate.
4.12 hygiene
Verifies repository hygiene: SECURITY.md, CONTRIBUTING.md,
CODE_OF_CONDUCT.md, .github/CODEOWNERS, .github/dependabot.yml, the issue
templates and the pull-request template.
4.13 packaging (optional)
Builds the wheel and sdist (python -m build) and validates them
(eng.packaging.validate_packaging). Optional by default; enable it when a
release build is part of the workflow.
4.14 git-diff (optional)
Fails when the working tree has uncommitted changes (git status --porcelain).
Used as a reproducibility gate on release runs; optional so developers can run
the suite mid-work.
5. Adding or Tuning a Gate
- Declare the gate in
eng/config/gates.yaml(name, mandatory, threshold). - Implement the checker in
eng.gates.checkswith the uniform signature. - Register it in
default_checks(). - Add a test under
tests/engineering/test_checks.py. - Document the gate in §4 of this document.
Thresholds are tunable without code changes — they live in YAML. The blocking
semantics are driven entirely by mandatory.
`, footer, scripts. Fixed breadcrumb path generation.
_layouts/post.html,tutorial.html— now inherit fromdefault(no duplicated 711-line layouts), correct v7 JSON-LD viaseo.html._includes/nav.html— v7 navigation including Tool Ecosystem, PoC & Validation, AI Penetration Testing, Bug Bounty, Red Team, Comparisons, Reasoning Engine, Benchmarks, Glossary, Tutorials._includes/seo.html— fixed Liquid, v7 SoftwareApplication, valid BreadcrumbList.
Config
_config.yml— v7 title/tagline/description/keywords,repository: nullc0d30/HunterX, identity in description, social links to the repository.
4. SEO Changes
- README SEO: natural keyword coverage for “AI vulnerability scanner”, “AI penetration testing”, “AI-assisted vulnerability discovery”, “vulnerability validation”, “PoC generation”, “bug bounty automation”, “penetration testing tools”, “red team framework”, “offensive security platform”, “open source vulnerability scanner”, “web application security”, “API security”, “cloud security”, “security reconnaissance”, “security automation”, “security testing” — without keyword stuffing.
- GitHub Pages: per-page
title,description,keywordsfront matter on every new page; meta keywords in the default layout; v7 terminology throughout. - Tool ecosystem page naturally targets: open source penetration testing tools, bug bounty tools, bug hunting tools, recon tools, web security tools, API security tools, vulnerability scanners, red team tools, security testing tools, OSINT reconnaissance tools, fuzzing tools, security research tools.
- Landing pages created for ai-penetration-testing, bug-bounty, red-team, ci-cd-security-scanning, comparisons (×5), reasoning-engine, benchmarks, glossary, tutorials — each with unique titles/descriptions and factual content (no thin pages).
5. Technical SEO Changes
| Item | Before | After |
|---|---|---|
| Title tags | v6 positioning | v7 positioning, per-page |
| Meta descriptions | v6 | v7, per-page |
| Canonical URLs | page.url | absolute_url |
unchanged pattern, now resolves to /HunterX/... (verified) |
| Open Graph | present | updated v7 description/image alt |
| Twitter/X cards | present | updated v7 wording |
| robots.txt | wrong sitemap URL | https://nullc0d30.github.io/HunterX/sitemap.xml |
| sitemap.xml | generated | 94 URLs, all under /HunterX/ (verified) |
| Structured data | invalid Liquid + v6 | valid JSON-LD, 576 blocks across 94 pages (verified) |
| Favicon / theme | present | preserved |
| Alt text | present | preserved/updated |
| Heading hierarchy | broken layout | valid H1→H2 structure |
| Internal links | broken layout, dead nav links | 0 broken internal links (verified) |
| 404 handling | present | preserved |
| Mobile responsiveness | restored CSS | responsive breakpoints preserved |
| Asset paths / baseurl | /HunterX |
consistent (verified in built HTML) |
6. Tool Ecosystem Coverage
The new docs/tool-ecosystem.md documents all 92 registered tools from the
v7 toolchain manifest, grouped by category, with:
- official project link where a working official link exists,
- primary role (first capabilities),
- capabilities fed to HunterX,
- accurate integration status label:
- Integrated · fully supported (18 tools: amass, assetfinder, bbot, dnspython, dnsx, ffuf, findomain, gitleaks, httpx, katana, masscan, naabu, nmap, nuclei, proof-replay, subfinder, theharvester, whatweb)
- Integrated · partial support (53 tools)
- Integrated · execution only (metasploit)
- Planned / Resource (20 tools: knowledge-only entries)
A short README table covers the same canonical list with status. Attribution to third-party projects is explicit. Broken external links (ghauri, sstimap, urlfinder, unicornscan) were corrected or de-linked.
7. PoC / Proof Positioning
- New PoC & Validation page (
docs/poc-validation.md) explains: proof contracts, minimal safe proofs, replay & reproducibility, evidence-driven impact and confidence, false positives vs inconclusive, novel/unknown behavior, report-ready findings, and the safety boundary. - The README and homepage both carry the canonical finding model (Vulnerability + Evidence + Reproducibility + Impact + PoC = Validated Finding) and the finding lifecycle.
- RCE is positioned around minimal-impact proof, evidence of execution and reproducibility — not destructive commands.
- No claim is made that every vulnerability is automatically exploitable, and no invented percentages are used.
8. Structured-Data Changes
docs/_includes/seo.html now emits valid schema.org JSON-LD:
- Organization (name, url, logo, sameAs, founder)
- WebSite (with SearchAction)
- SoftwareApplication (version 7.0.0, SecurityApplication / VulnerabilityManagement, v7 featureList, offer price 0 — no fake ratings)
- Person (Ahmed Awad / NullC0d3)
- WebPage (per page)
- BreadcrumbList (correctly generated, verified)
- Article (blog posts), TechArticle (documentation), LearningResource (tutorials)
No fake reviews, ratings or aggregate scores were added.
9. LLM Discoverability
docs/llms.txt— concise machine-readable description: identity, author, repository, version, license, core model, capabilities, tool ecosystem, PoC/evidence model, responsible use, canonical URLs.docs/llms-full.txt— full sitemap of the documentation/product site.- Both avoid the PyPI
hunterxname collision and establish the GitHub repository as canonical.
10. Name-Disambiguation Improvements
- Verified that the PyPI
hunterxpackage (v0.1.2) is an unrelated project (an async crawler framework). It is not disparaged. - Removed the PyPI version/pyversions badges (they resolved to the wrong package) from README and homepage.
- Replaced
pip install hunterxcanonical instructions with installer/source installs, with a clear name note in README, Installation and Quickstart. - llms.txt / llms-full.txt and _config.yml description now state identity:
HunterX, by Ahmed Awad (AKA NullC0d3), repository
nullc0d30/HunterX. - Added
.github/GITHUB_SEO.mdwith recommended repository description and 20 verified topics.
11. Broken-Link Results
- Docs gate (
python -m eng gates --gate docs): 7/7 PASS. - Markdown internal links (255 links across
docs/+ root docs): 0 broken. - Built site internal links (6,123
href/srcon 94 pages): 0 broken. - External links: 101/103 resolved; the two remaining are
crt.sh(502 to datacenter bot requests — a live, valid service) andsigstore.dev(timed out in this environment — a real official site referenced in a pre-existing engineering doc). - Repo blob links (
.../blob/main/...): the live GitHubmainbranch still serves the v6 tree (v7 commits exist locally but are not pushed). These links resolve once the v7 tree is pushed; they point to files that exist in the v7 tree (capabilities/full-toolchain-intelligence.json,THIRD_PARTY_NOTICES).
12. Build Results
- Jekyll build (jekyll/jekyll:4 container): succeeds.
- HTML validity: every page has
<body>,</body>,<footer>— no structural errors (94 pages checked). - JSON-LD validity: all 576 embedded JSON-LD blocks parse as valid JSON.
- Sitemap: 94 URLs, all under
https://nullc0d30.github.io/HunterX/. - robots.txt: Sitemap points to the correct project-site URL.
- llms.txt / llms-full.txt: built into the site root.
- Favicon / assets: all referenced assets exist in
docs/assets/. - Mobile layout: responsive breakpoints preserved in the restored CSS.
13. Remaining SEO Gaps
- Live deployment is stale. The GitHub Pages site and GitHub
mainbranch currently serve the pre-v7 tree. After pushing the v7 tree, the site will rebuild and all new pages,llms.txt, sitemap and structured data become live. - Search-engine verification tokens are empty in
_config.yml(webmaster_verifications). Set Google/Bing/Yandex verification values to enable console monitoring. - Google Analytics is not configured (
site.google_analyticsempty). - PyPI publishing for the correct project is not yet established; until then, PyPI-related metadata/badges are intentionally omitted. Consider a PyPI name that identifies the project unambiguously, or publishing under the canonical repository only.
- GitHub topics are a recommendation (
.github/GITHUB_SEO.md); they must be applied in the repository About panel. - Benchmarks page intentionally avoids unverifiable claims and notes the performance-gate self-fail (P2) from the v7 certification, which is an internal quality-gate tuning item.
- Some dated v6-era blog posts remain (they use old CLI examples). They are historical content; future blog posts should use v7 syntax.
14. Files Changed
Modified
README.mddocs/_config.ymldocs/_layouts/default.htmldocs/_layouts/post.htmldocs/_layouts/tutorial.htmldocs/_includes/seo.htmldocs/_includes/nav.htmldocs/index.mddocs/robots.txtdocs/faq.mddocs/changelog.mddocs/documentation.mddocs/features/index.mddocs/installation/index.mddocs/quickstart.mddocs/tutorials.md(new page)docs/GOVERNANCE.mddocs/SUPPORT.mddocs/bible/README.mddocs/assets/css/style.scssdocs/_posts/2026-07-22-hunterx-goes-open-source.md- 17 v7 docs that received front matter + permalinks:
v7-adaptive-mission-planning.md,v7-api-intelligence-implementation-plan.md,v7-api-intelligence-tidb-gap-analysis.md,v7-autonomous-mission-orchestration.md,v7-full-spectrum-validation-matrix.md,v7-offensive-tool-orchestration.md,v7-professional-finding-intelligence-reporting.md,v7-sprint-033-engineering-report.md,v7-sprint-034-final-engineering-certification.md,v7-sprint-034.1-repository-integrity.md,v7-sprint-034.2-architecture-certification.md,v7-sprint-034.3-tidb-certification.md,v7-sprint-034.4-security-certification.md,v7-sprint-034.5-toolchain-certification.md,v7-tool-mastery.md,v7-vulnerability-intelligence-tidb-gap-analysis.md,v7-vulnerability-validation-proof-orchestration.md
Added
docs/tool-ecosystem.mddocs/poc-validation.mddocs/v7-release.mddocs/llms.txtdocs/llms-full.txtdocs/ai-penetration-testing.mddocs/bug-bounty.mddocs/red-team.mddocs/ci-cd-security-scanning.mddocs/comparisons/index.mddocs/comparisons/vs-nuclei.mddocs/comparisons/vs-zap.mddocs/comparisons/vs-burp.mddocs/comparisons/vs-openvas.mddocs/reasoning-engine.mddocs/benchmarks.mddocs/glossary.md.github/GITHUB_SEO.md
Not modified
- Application source code (
src/), configuration/capability manifests, workflow files, and the v7 architecture were intentionally not modified.
15. Final Status
- Positioning: HunterX is now consistently presented as the AI-Assisted Vulnerability Discovery, Validation & Proof Engine — “Find it. Verify it. Prove it. Report it.” / “Less noise. More verified findings.”
- Tool integrations documented: 92 tools, accurately labeled (18 fully supported, 53 partial, 1 execution-only, 20 planned/resource).
- PoC/proof positioning: first-class across README, homepage, dedicated page and structured data.
- GitHub Pages: builds cleanly; 0 broken internal links; valid HTML and structured data.
- Build status: PASS (Jekyll).
- Broken links: 0 internal (docs gate 7/7); external only 2 environmental timeouts on valid sites.
- Remaining issues: deployment/push of the v7 tree to
main(prerequisite for live pages), search-console verification tokens, analytics, PyPI name strategy, and application of GitHub topics.