You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Make port scanner input, skipped results and workload controls honest #15
The scanner already caps host expansion at 256, uses bounded concurrency, and has a first-run authorization modal. Keep those existing protections; adding them is not outstanding work.
Concrete defects found:
Custom 1-65535 silently scanned only the first 100 ports per range.
Invalid custom port input silently selected default ports.
Invalid IPv4 octets were normalized into other addresses (999.0.0.1/30 became 231.0.0.1 and .2).
Ports skipped after discovery failed were recorded as filtered with latencyMs: 0, despite never being tested.
The current implementation work addresses these correctness defects with explicit input errors, a visible port cap, strict address validation, and nullable timing/not-tested results.
Remaining follow-up
Add cancellation/stop that terminates pending host discovery and service probes.
Surface aggregate host × port workload before large scans and choose an appropriate aggregate cap.
Preserve the timing-inference limitation in every result/export; browser probes cannot prove a TCP port is open or closed.
Add browser regressions for large/invalid input, discovery skips, and interrupted scans.
changed the title [-]Harden local port scanner against abuse and false confidence[/-][+]Make port scanner input, skipped results and workload controls honest[/+]on Oct 11, 2026
Activity
[-]Harden local port scanner against abuse and false confidence[/-][+]Make port scanner input, skipped results and workload controls honest[/+]TechLuddite commentedon Oct 11, 2026
Draft PR #20 addresses strict IPv4/port validation, silent port selection changes, untested-port classifications and null timings. Stop/cancellation and aggregate workload controls remain follow-ups, so this issue stays open.