Milestone 2: Deception engine #22
No reviewers
Labels
No labels
bug
deploy
documentation
duplicate
enhancement
good first issue
help wanted
invalid
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
femboy/blackwall!22
Loading…
Reference in a new issue
No description provided.
Delete branch "milestone-2-deception-engine"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Milestone 2 — Deception Engine
Makes closed ports across the managed prefixes behave like live services: a userspace engine terminates deception traffic via the M1 nftables data plane and answers it with interactive protocol emulators, while real client traffic stays on the kernel fast path.
What's included
blackwall-deceptioncrateServiceEmulatortrait + port-keyedEmulatorRegistrydispatchBannerStore(port→banner, escape parsing) +arc-swapSharedBanners(hot-reload primitive)serveaccept loop,SessionRecord)blackwall-state—deception_sessionstable +record_session/session_countblackwall-nft— real classifier rules replacing M1's inert placeholder: real→accept, deception TCP→tproxy :61000, deception ICMP/UDP→queue 0, default Closed→drop. Bumped thenftablescrate 0.4.1→0.6.3 for a typedTProxystatement (migrated render/apply to the 0.6CowAPI).blackwalld run— wires apply → store → engine (dual-stack TPROXY v4+v6 + NFQUEUE), draining sessions to the audit log.Quality
--ignore-filename-regex);--deny warningsclippy + rustfmt clean.Deferred (tracked)
Closes #2.