Skip to content

docs(prd): add PRD 0011 — Catch the exfiltration channel that survives egress filtering - #60

Merged
ralyodio merged 1 commit into
masterfrom
docs/prd-0011-dns-monitor
Jul 28, 2026
Merged

docs(prd): add PRD 0011 — Catch the exfiltration channel that survives egress filtering#60
ralyodio merged 1 commit into
masterfrom
docs/prd-0011-dns-monitor

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

Specification for the dns-monitor core module, listed in PRD.md and not yet specified.

DNS is the one protocol almost nobody blocks, which is why it is the durable channel for C2 and data exfiltration. A compromised process encodes data into subdomain labels and reads instructions from the answers, and no outbound TCP connection appears anywhere.

That makes it the blind spot in the coverage the other modules give: network-monitor sees a connection to the local resolver and nothing more, log-watcher sees nothing, and egress rules permit it by design.

The signatures are distinctive enough to justify a narrow module — long high-entropy labels, TXT-heavy traffic, query rates no human browsing produces, and DGA bursts with high NXDOMAIN rates. Encrypted DNS defeats the whole thing, which is itself worth reporting as posture: the module should say when it is blind.

Spec only — no implementation in this PR.

…s egress filtering

DNS is the one protocol almost nobody blocks, which is why it is the durable channel for C2 and data exfiltration. A compromised process encodes data into subdomain labels and reads instructions from the answers, and no outbound TCP connection appears anywhere.

That makes it the blind spot in the coverage the other modules give: network-monitor sees a connection to the local resolver and nothing more, log-watcher sees nothing, and egress rules permit it by design.

The signatures are distinctive enough to justify a narrow module — long high-entropy labels, TXT-heavy traffic, query rates no human browsing produces, and DGA bursts with high NXDOMAIN rates. Encrypted DNS defeats the whole thing, which is itself worth reporting as posture: the module should say when it is blind.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ralyodio
ralyodio merged commit 51db3b8 into master Jul 28, 2026
8 checks passed
@ralyodio
ralyodio deleted the docs/prd-0011-dns-monitor branch July 28, 2026 17:45
@github-actions

Copy link
Copy Markdown

vu1nz Security Review

0 finding(s) in PR #?

No security issues found.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant