Develop - #480
Merged
Merged
Conversation
* feat: gate dauth by registry oracles * fix: code quality * fix: new plugin stop method * chore: inc ver
* feat: add dauth job secret endpoints * fix: require job_secrets bundle shape * fix: simplification * fix: protect dAuth secret requests from replay * fix * feat: sync dAuth secrets through registry peers * fix: refresh dAuth registry authorization * refactor: simplify dAuth registry refresh * chore: inc ver
* feat(red_mesh): geographic vantage-point comparison + origin countries Stamp per-node origin country into the job archive and add a durable per-country/per-node comparison for comparison-mode jobs. - WorkerReportMeta.country; UiAggregate.country_breakdown + node_comparison - comparison_mode launch flag with tiered port assignment (mirror a bounded comparison tier + slice the bulk). Mirror keeps the operator's full-range choice; Slice tiers. Reuses COMMON_PORTS + new COMPARISON_MIRROR_PORT_CAP - graybox standard bundle mirrored in comparison mode - node_comparison captures reachability/timeouts/latency incl. fully-failed nodes; country resolved via netmon CT: tags - unit tests for tiered/full-mirror assignment and node_comparison * fix(red_mesh): Slice splits the chosen range, mirror only standard ports Comparison mode no longer mirrors small ranges. Slice mirrors just the standard COMMON_PORTS (the compared set) and splits the operator's chosen range across nodes for coverage; Mirror scans the whole range on every node. Removes the port cap constant. Tests updated: a 1-33 range now slices 33/33/32 across 3 nodes; Mirror = 52 on each. * fix(red_mesh): separate blocking signals from reachability What changed: - Keep node comparison status focused on whether a vantage point returned reachable results. - Preserve blocking and rate-limiting detections as advisory metrics instead of overriding reached status. Why: - A reachable node can still detect blocking behavior; folding both concepts into one status produced misleading comparison results. Validation: - docker exec rm3 python3 -m unittest test_finalization_aggregation test_launch_service: 22 tests passed - git diff --check: pass * feat(red_mesh): add thorough network timeout profile Persist and validate an opt-in network-only timeout profile while keeping Standard as the archive-compatible default. Route ordinary target waits through the capped resolver and retain timing probes, Dune pacing, and orchestration waits unchanged. * fix(red_mesh): preserve worker comparison evidence Capture per-worker finding counts and signatures before aggregate deduplication. Base traffic signals on qualified responsive-outcome windows, merge count evidence across threads, and recompute node/pass flags while retaining legacy fields. * fix(red_mesh): default probe timeout fixtures to standard * fix(red_mesh): preserve responsive evidence semantics * fix(red_mesh): canonicalize numeric finding evidence * feat(red_mesh): capture per-vantage response evidence Geographic comparison exists to answer whether a target responds differently depending on where the request originates, but no per-vantage response content was ever recorded — only scanner telemetry. Add a comparison-only worker phase that probes the mirrored comparison tier and records what the target answered: DNS resolution, TLS certificate identity, HTTP status/final URL/title/headers/body hash, and a scrubbed body excerpt. Reuses the existing TLS connect, SAN parse, requests.get and <title> helpers, and routes every wait through _target_timeout so the THOROUGH profile applies without new literals. comparison_ports was computed and archived but never reached the worker; it is now passed to the index-0 worker only, because the tier is node-wide evidence rather than per-thread work. The phase carries no completion marker, since the progress denominator counts feature markers. Excerpts are capped at 512 bytes on a UTF-8 boundary, gated to textual content types, and redacted before truncation so a credential straddling the cap cannot survive as a prefix. response_evidence is deliberately not a cross-worker aggregated field: a deep merge would collapse every vantage into one colliding structure, the defect RM-049 had to repair for findings. Refs RM-050 * chore: increment version
cristibleotiu
approved these changes
Aug 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.