Skip to content

feat(jsluice): add URL verification via httpx#113

Merged
samugit83 merged 1 commit into
samugit83:masterfrom
gbxbgbl:jsluice-verify-urls
May 23, 2026
Merged

feat(jsluice): add URL verification via httpx#113
samugit83 merged 1 commit into
samugit83:masterfrom
gbxbgbl:jsluice-verify-urls

Conversation

@gbxbgbl
Copy link
Copy Markdown

@gbxbgbl gbxbgbl commented May 13, 2026

Summary

  • jsluice was publishing a large number of dead/irrelevant endpoints (e.g. domain.com/rxjs/static-5.10) to the graph, polluting downstream LLM context
  • Add a two-stage filter: a deny-list of known noise patterns (static assets, bundled libraries, framework internals) to reduce probe volume, then httpx verification to validate the rest — similar to the existing GAU flow
  • Fail-closed design: if httpx fails or times out, unverified URLs are dropped rather than published

Type of Change

  • New feature
  • Test

Component(s)

  • recon-orchestrator (Python)

How to Test

  1. Run pytest recon/tests/test_hakrawler_jsluice.py — all tests pass (including 3 new ones)
  2. Run a scan with JSLUICE_VERIFY_URLS=True (default) — only verified URLs appear in the graph
  3. Run with JSLUICE_VERIFY_URLS=False — all jsluice URLs pass through unfiltered (legacy behavior)

Checklist

  • [x ] I have tested this change locally with docker compose
  • I have not included real-world target data
  • My commits follow Conventional Commits
  • I have read and agree to the DISCLAIMER.md

Related Issues

…d endpoints

jsluice extracts many URLs from JavaScript sources, including bundled libraries,
static assets, and sourcemaps that are not useful for recon. This adds an httpx-based
verification step that probes candidate URLs and only publishes live endpoints to
the knowledge graph. Includes configurable noise-filter patterns, fail-closed
behavior on probe errors, and full test coverage.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@samugit83 samugit83 merged commit a3d3db3 into samugit83:master May 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants