Audit what the network exposes to the internet - #1
Merged
Conversation
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.
netdiff could say what changed on the network but not whether any of it was reachable from outside the house.
netdiff audit <subnet>answers that.GetGenericPortMappingEntry) and cross-references each forward against the devices actually present, so a finding names the device rather than an address.--explain <rule>reads any lesson without scanning.[NEW].Three invariants hold the design up: rules are pure functions that open no sockets,
Finding.evidencehas no default so a finding cannot be built without its receipt, and the audit is read-only - no credentials, no writes, onlyGetGenericPortMappingEntryand deliberately noAddPortMappingpath.An open port is reported as
infoand explicitly labelled not a problem. A port number is not treated as evidence of a protocol either: services that greet unprompted must be heard before they are named.Still zero dependencies and Python 3.9+. 88 tests, roughly half of
test_audit.pyasserting that something is not reported.