Skip to content

Rework ARP and port scan detection with bounded tracking - #2203

Open
AlyaGomaa wants to merge 1 commit into
sebas/feat/scoped_whitelist_blockingfrom
sebas/feat/bounded_scan_detectors
Open

AlyaGomaa wants to merge 1 commit into
sebas/feat/scoped_whitelist_blockingfrom
sebas/feat/bounded_scan_detectors

Conversation

@AlyaGomaa

@AlyaGomaa AlyaGomaa commented Nov 10, 2026 •

Copy link
Copy Markdown
Collaborator

Sub-PR of #2141: part 6 of 12. The parent PR stays open and unchanged; this PR carries one feature of it so it can be reviewed on its own.

What this PR adds

  • ARP: new scan detector with history and settings (modules/arp/scan_detector.py, scan_history.py, scan_settings.py); neighbour discovery is separated from scan-like searches.
  • Port scans: horizontal and vertical detectors rewritten (modules/network_discovery/scan_detector.py, vertical_detector.py); stale sessions are not counted; established unknown services stay visible after a scan.
  • Confirmed-scan tracking is bounded and progress is reported on a logarithmic schedule (common/scan_progress.py).
  • New arp and network_discovery sections in config/slips.yaml; docs for ARP scans, horizontal port scans and scan progress.

Where it sits in the split

Notes for review

  • slips_files/common/flow_direction.py and its tests arrive here because the port scan detector is its first user in the chain; the beaconing, service anomaly and detector-fix parts use it too.

Tests

  • Unit suite on this branch (local, pytest tests/unit -n 3): 4403 passed, 2 skipped, 2 failed. Failing: test_native_restart_preserves_arguments_and_waits_for_worker. They fail the same way on the unsplit parent branch in the same local sandbox. Integration tests were not run locally.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

#2141 sub-PR Part of the split of PR #2141

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

2 participants