Prompt Injection to Data Exfil in 3 Hops

Nick Davitashvili ยท rss ยท 2026-07-10 Reader ๐Ÿ–ฅ๏ธ

Agent Governance (Internal)Agent SecurityDeterministic Egress ContainmentGuardrailsLethal TrifectaMCP (Model Context Protocol)Policy-as-Code
Prompt-injection-driven data exfiltration from Kubernetes-hosted AI agents cannot be stopped by probabilistic model-layer guardrails or by L3/L4 Kubernetes NetworkPolicy, and the reliable fix is deterministic, domain-aware, default-deny network egress containment that removes the lethal trifecta's channel leg โ€” contained rather than eliminated, and paired with application-layer controls.

practical ยท mixed โ€” Primarily an argumentative piece (a control-category recommendation for platform/security architects), built on a narrative worked example (the 3-hop attack) and expository passages on what Kubernetes NetworkPolicy can and cannot do. It ends in an explicit call to action ('run two experiments this week'), which fixes it as practical. Author discloses that his employer Aviatrix sells one of the cloud-native firewalls in the category described; he frames the argument as about the control category, not the product, and the reasoning does not depend on any single vendor.

Structure

PartRole
Cold open: the quiet incidentDramatize the threat class โ€” an exfiltration that deletes nothing, fires no alert, and is discovered months later by an outsider
Newman contrast (loud vs quiet failure)Concede that the application-layer lessons from Sam Newman's 'deleted the production database' incident all hold, then show none of them stop the quiet version because it breaks nothing and needs no destructive permission
The 3-hop chainWorked example tracing indirect prompt injection (hidden in a ticket) to an MCP tool call to a port-443 egress
What Kubernetes NetworkPolicy seesRefute the standard answer โ€” NetworkPolicy is an L3/L4 packet filter and is the wrong abstraction for a domain+workload attack; CIDR allowlists are fictional security behind shared CDN IPs
You can't answer a probabilistic attack with a probabilistic defenseThe asymmetry argument โ€” rule out guardrail models because a targeted attacker with unlimited irreversible attempts beats any 92%/95%/99% defense
Deterministic containment: three properties, illustrative policy, enforcement layersPresent the positive solution โ€” per-pod identity, domain-awareness (from SNI), default-deny โ€” and note that service mesh, eBPF/Cilium, and gateway firewalls all express the same intent
What containment doesn't closeHonest limits โ€” any permitted destination and DNS survive a domain allowlist โ€” while arguing they are narrower, slower, noisier, and more detectable
Why this matters now + lethal trifecta + three authoritiesReframe urgency (quiet failures discovered in months) through Willison's lethal trifecta and distinguish the roles of Willison, Unit 42, and the CISPA crawl
What I want you to tryConcrete call to action โ€” list egress paths per MCP server; test deterministic enforcement in one namespace; pair with application-layer controls

Key terms

Propositions

Arguments

Only deterministic, domain-aware, default-deny egress containment reliably breaks the prompt-injection-to-exfiltration chain; probabilistic defenses and L3/L4 NetworkPolicy do not. strength: high
Explicit premises:
Implicit premises:
Inferences:
Payload-prevalence statistics are irrelevant to how much defense a specific organization needs. strength: high
Explicit premises:
Implicit premises:
Inferences:
Containment shrinks but does not seal the exfiltration channel, and the honest response is layered defense plus detection, not a claim of elimination. strength: medium
Explicit premises:
Implicit premises:
Inferences:

Narratives

Questions addressed

Gaps

Closes gaps elsewhere

Related documents