Repository navigation
Bound Nmap XML and sandbox scanner version probes - #1440
Merged
Merged
Conversation
crypt0rr
force-pushed
the
fix/nmap-bounded-xml-1390-1408
branch
from
October 13, 2026 12:30
3aecfc7 to
b6ab656
Compare
Deploying edgewatch with
|
| Latest commit: |
d07705f
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://1f67b761.edgewatch-cpd.pages.dev |
| Branch Preview URL: | https://fix-nmap-bounded-xml-1390-14.edgewatch-cpd.pages.dev |
crypt0rr
force-pushed
the
fix/nmap-bounded-xml-1390-1408
branch
from
October 13, 2026 16:56
2457269 to
d07705f
Compare
crypt0rr
marked this pull request as ready for review
October 13, 2026 17:12
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.
What changes
The Nmap XML parser preflights the bounded document before materializing selected hosts. It rejects malformed or over-budget results as scan errors, bounds selected-host decoding and positive-port expansion to the invocation scope, and uses a fixed-size bitset plus a cancellation-aware second pass for folded port ranges.
Each real invocation is limited to 65,536 address × scoped-port slots, matching the planner's work-unit budget. Direct and legacy scan paths batch to that same limit and retain cumulative progress. A single host with all 65,535 ports remains supported; a selected two-host 131,070-slot result rejects before materialization. Errors do not silently truncate results or replace a prior baseline. This bounds one parser invocation, not the completed job's merged snapshot.
Nmap and Naabu startup version probes run through the configured scanner policy. The daemon captures bounded versions at startup and the capabilities endpoint serves those cached values. Host commands that construct an App without scanner policy skip both probes and retain
unknown, sonotify testand baseline review do not start scanner binaries.The scanning, container-hardening, and API compatibility guides plus SECURITY.md document the limits and behavior.
Closes #1390
Closes #1408
Closes #1411
Validation
go vet ./...,make security, formatting and diff checks passed. A full localgo test -race -cover -timeout=25m ./...also passed before the test-only coverage additions; it did not emit a full local coverprofile./404route warning remains. Changed guides were reviewed at desktop and 320px widths.sha256:3c0642ac3fabcf00f39f38c71f22da38a3a7a66a290653aaaa4cdae3022809dcwas built from this source and passedverify-scanner-sandbox.sh: controlled TCP/UDP and Naabu scans, sandbox identities/capabilities/Landlock/seccomp, cancellation, private inputs, and notification delivery passed. The hosted container/vulnerability checks passed too.