35 Commits
Author SHA1 Message Date
NotoriousRebel 8ead90f7a9 fix: scope proxy mode to HTTP transport 2026-08-26 22:53:21 -04:00
NotoriousRebel fabaea3886 fix: classify proxied response stream failures 2026-08-26 16:33:58 -04:00
NotoriousRebel 227d189d7e fix: reuse proxied routeviews session 2026-08-26 16:31:46 -04:00
NotoriousRebel 74282f279b fix: preserve proxy transport failures across tasks 2026-08-26 16:27:29 -04:00
NotoriousRebel ad28a87111 fix: reject direct DNS in proxy mode 2026-08-26 16:17:51 -04:00
NotoriousRebel bf2d34ff09 fix: keep direct actions on configured proxy transport 2026-08-26 11:55:21 -04:00
NotoriousRebel 22dc7b4cfd refactor: remove confirmed dead code 2026-08-26 10:58:40 -04:00
NotoriousRebel 786c3b015a fix: reject missing proxy configuration at startup 2026-08-26 00:58:54 -04:00
NotoriousRebel 8889ddca9c fix: pin proxy identity per execution 2026-08-26 00:38:46 -04:00
NotoriousRebel f9c363a77c test: align proxy help contract 2026-08-25 23:13:15 -04:00
L1ghtn1ng f2efcb5b99 fix: canonicalize hostname scope and IP results in one helper
Put IDNA and label validation in normalize_scoped_hostname so the
runner, parser, and storage path share one authorized-target boundary.
Drop IPv6 zone identifiers at collection instead of failing finish(),
and remove leftover BuiltWith and Shodan aliases now that www. is part
of the explicit target.
2026-08-25 02:02:35 +01:00
L1ghtn1ng 86c2c5f979 fix: enforce discovery security boundaries
Keep proxy identities stable across provider conversations, preserve exact target scope, canonicalize evidence, secure first-run config creation, and retain legacy source-name compatibility.
2026-08-25 01:29:05 +01:00
NotoriousRebel 5c74e1a03d Allow uncapped discovery and report source yield 2026-08-23 17:24:08 -04:00
NotoriousRebel 2ac59f3a38 refactor: centralize source execution lifecycle 2026-08-16 00:32:22 -04:00
NotoriousRebel 6e0e761661 fix: close provider contract review gaps 2026-08-15 22:28:14 -04:00
NotoriousRebel c1101ca73a test: harden provider contracts and offline coverage 2026-08-15 21:26:35 -04:00
NotoriousRebel ea9dab4b87 feat: replace takeover fingerprints with typed evidence 2026-08-15 03:30:33 -04:00
MattandGitHub f44807a046 refactor: run discovery sources with TaskGroup (#2544)
* refactor: run discovery sources with TaskGroup

* fix: preserve source runner compatibility diagnostics

* feat: add configurable source workers
2026-08-15 01:48:33 -04:00
MattandGitHub 4fef2c5e3b refactor: bound screenshot lifecycle ownership (#2543)
* refactor: bound screenshot lifecycle ownership (#293)

* fix: retain HTTP error screenshots (#293)
2026-08-14 23:10:34 -04:00
MattandGitHub 38e32de023 fix: complete API endpoint scans by default (#2539)
* fix: complete API endpoint scans by default

* refactor: reuse shared cancellation cleanup
2026-08-14 23:03:28 -04:00
MattandGitHub 1a9b114a5d fix: complete DNS enumeration by default (#2542)
* fix: complete DNS enumeration by default

* test: avoid URL substring sanitizer alert
2026-08-14 22:54:25 -04:00
MattandGitHub b8a8f7c7ca fix: move Shodan discovery into adapter (#2535)
* fix: move Shodan discovery into adapter (#283)

* docs: clarify Shodan transport and persistence

* fix: query every Shodan-resolved IPv4

* fix: call Shodan Host API directly

* fix: serve HarvestView assets locally

* Revert "fix: serve HarvestView assets locally"

This reverts commit 413e8b25ab.

* docs: clarify Shodan proxy transport

* docs: clarify Shodan changelog entry

* feat: persist structured Shodan host evidence

* feat: expand Shodan discovery with TLS search
2026-08-14 21:11:12 -04:00
MattandGitHub 7c4420150d Add route-aware no-host result filtering (#2534) 2026-08-13 11:14:55 -04:00
MattandGitHub 624066a3e8 Add RouteViews enrichment and sourced ASN organization attribution (#2528)
* Add RouteViews network enrichment

* Add authenticated RouteViews API access

* Restrict RouteViews to explicit network pivots

* Restore discovered ASN RouteViews enrichment

* Retain sourced ASN organization attribution

* Avoid dangling and repeated ASN attributions

* Keep automatic RouteViews evidence target-relevant

* Complete target-relevant RouteViews enrichment

* Clarify automatic RouteViews IP pivots
2026-08-13 10:46:54 -04:00
MattandGitHub 1db27309dd Remove duplicate Chaos discovery source (#2533) 2026-08-12 18:47:34 -04:00
MattandGitHub dd93a0e63d fix: persist missing credential outcomes (#2523) 2026-08-12 09:40:37 -04:00
MattandGitHub fa8afa5e46 Add bounded virtual-host discovery (#2517)
* Add bounded virtual-host discovery

* Document virtual host probe boundary
2026-08-11 00:43:04 -04:00
MattandGitHub 1fd5749e52 Add an authenticated durable run API v1 (#2511)
* Model active evidence in result persistence

* Expose active action diagnostics

* Persist truthful DNS action evidence

* Persist direct action evidence

* feat: add authenticated durable run API v1

* Make API file interchange JSONL-only

* Harden API evidence boundaries

* Remove API rate limiter

* Unify API runs with result persistence

* Support target action runs

* Keep DNS resolver selection action-neutral

* Add action-neutral CLI resolver selection

* Preserve API evidence across JSONL round trips

* Complete HarvestView API run parity

* Harden HarvestView run API contracts

* Remove obsolete bundled network snapshots

Delete the unused bundled AWS IP-range and resolver snapshots while preserving operator-supplied resolver file input.

* refactor: canonicalize URL results

* docs: define a bounded test budget

* Standardize hostname and IP result names

* fix(api): avoid duplicate evidence conflicts
2026-08-10 00:08:04 -04:00
MattandGitHub e4d37b05a8 Persist per-source run provenance (#2516)
* Persist per-source run provenance

* Keep the first JSONL contract unversioned

* Explain source yield counts
2026-08-09 11:50:08 -04:00
MattandGitHub c4af833da0 Use SQLAlchemy for async result persistence (#2515)
* Use SQLAlchemy for async result persistence

* Explain persistence ORM records

* Clarify persisted run schema

* Clarify legacy schema migration

* Consolidate result persistence

* Preserve incomplete legacy observations
2026-08-09 00:50:39 -04:00
MattandGitHub 6b02dbddc9 Share safe enumeration execution across transports (#2507)
* feat: share safe enumeration execution across transports

* fix: clarify safe scan contracts

* fix: preserve public screenshot redirects

* fix: restore operator-controlled active requests

* fix: allow operator-selected API scan targets
2026-08-07 16:02:16 -04:00
MattandGitHub d42322031c Expose bounded recursive DNS discovery in the CLI (#2501)
* Integrate recursive DNS with CLI persistence

* Expose bounded PTR evidence in recursive DNS output

* Document the CLI hard query default

* Clarify recursive DNS query accounting

* Preserve dual-stack recursive DNS output

* Preserve recursive DNS CLI lifecycle contracts

* Deduplicate exact XML host address pairs
2026-08-06 22:40:30 -04:00
MattandGitHub a2c28bad36 Honor DNS resolution for RapidDNS hosts (#2496) 2026-08-06 19:03:59 -04:00
NotoriousRebel e3f3584707 fix: retain CNAME screenshot candidates 2026-08-05 16:25:32 -04:00
L1ghtn1ng 70470cd854 fix: bound and preserve discovery results 2026-07-30 22:39:34 +01:00