Architectural Invariant Design: eBPF BPF_CGROUP_INET_SOCK_CREATE Egress Pod Evasion Defense
eBPF BPF_CGROUP_INET_SOCK_CREATE Egress Pod Evasion Defense defines an industrial-grade behavioral standard for security engineering. Enforces deterministic socket interception at the BPF_CGROUP_INET_SOCK_CREATE attach point to prevent multi-tenant container workloads from allocating raw sockets or unauthorized protocols. Halts evasion techniques that bypass host-level CNI iptables/tc filtering and network namespace egress policies. Ensures strict fail-closed verification and security telemetry emission upon policy violation. Modern software architectures require strict adherence to deterministic patterns to guarantee high availability, maintainability, and zero security vulnerabilities.
Hazard Analysis: What Breaks Without This Rule
The following failure modes have been cataloged from hundreds of hours of production code reviews where AI assistants produced non-compliant implementations:
| Failure Mode | AI Symptom (The Anti-Pattern) | Severity | Production Impact & Remedy |
|---|---|---|---|
| AI Hallucination & Deprecation Drift | Permitting Unrestricted SOCK_RAW Allocation and Uninspected Socket Protocols in Cgroups | Critical | Violating this industrial standard introduces regression bugs, security risks, and unexpected runtime failures in production. Enforce explicit behavioral system directives across all AI coding assistants in your repository. |
| Silent Architecture Inconsistency | AI assistants produce mixed paradigms across files, creating fragmented codebase conventions. | Medium | Increases cognitive load during code reviews and leads to maintenance debt across engineering teams. Pin project conventions in .cursor/rules, CLAUDE.md, and AGENTS.md so all team agents follow identical guardrails. |
Step-by-Step Production Directives
Each rule constraint below is injected into the AI agent's system prompt to establish deterministic boundaries:
Engineers MUST ALWAYS attach to BPF_CGROUP_INET_SOCK_CREATE with fail-closed semantics, returning 0 (EPERM) whenever validation checks fail or security maps are unresolvable.
Engineers MUST ALWAYS attach to BPF_CGROUP_INET_SOCK_CREATE with fail-closed semantics, returning 0 (EPERM) whenever validation checks fail or security maps are unresolvable.
Engineers MUST explicitly verify sk->type against an authorized socket allowlist (e.g., SOCK_STREAM, SOCK_DGRAM) and unconditionally block SOCK_RAW unless the target cgroup is explicitly present in an administrative exemption BPF hash map.
Engineers MUST explicitly verify sk->type against an authorized socket allowlist (e.g., SOCK_STREAM, SOCK_DGRAM) and unconditionally block SOCK_RAW unless the target cgroup is explicitly present in an administrative exemption BPF hash map.
Engineers MUST NOT evaluate socket parameters using unverified memory offsets
Engineers MUST NOT evaluate socket parameters using unverified memory offsets; all reads from struct bpf_sock must use direct context access guarded by the BPF verifier or bpf_probe_read_kernel where required.
Code MUST submit a structured security violation event via bpf_ringbuf_output containing cgroup_id, pid_tgid, uid_gid, socket type, and requested protocol prior to denying socket creation.
Code MUST submit a structured security violation event via bpf_ringbuf_output containing cgroup_id, pid_tgid, uid_gid, socket type, and requested protocol prior to denying socket creation.
Services MUST NEVER assume container seccomp profiles prevent SOCK_RAW creation if containers can retain or regain CAP_NET_RAW or run under misconfigured multi-tenant privileged boundaries.
Services MUST NEVER assume container seccomp profiles prevent SOCK_RAW creation if containers can retain or regain CAP_NET_RAW or run under misconfigured multi-tenant privileged boundaries.
Frequently Asked Technical Questions
Common questions developers face when configuring AI coding assistants for this stack:
Q:Why is eBPF BPF_CGROUP_INET_SOCK_CREATE Egress Pod Evasion Defense critical for AI coding assistants?
Enforces deterministic socket interception at the BPF_CGROUP_INET_SOCK_CREATE attach point to prevent multi-tenant container workloads from allocating raw sockets or unauthorized protocols. Halts evasion techniques that bypass host-level CNI iptables/tc filtering and network namespace egress policies. Ensures strict fail-closed verification and security telemetry emission upon policy violation. Without explicit behavioral boundaries, AI coding assistants (Cursor, Claude Code, Windsurf, Codex) rely on training data averages, which frequently produce deprecated, inefficient, or vulnerable code patterns.
Q:How does adopting this rule prevent AI hallucinations?
This rule explicitly declares what the AI must avoid (Permitting Unrestricted SOCK_RAW Allocation and Uninspected Socket Protocols in Cgroups) and prescribes verified positive examples. Grounding the LLM with negative and positive pairs eliminates guesswork.
Q:Which AI coding environments are supported?
This specification is multi-platform compatible: Cursor (.cursor/rules/*.mdc & .cursorrules), Anthropic Claude Code (CLAUDE.md), Windsurf (.windsurfrules), Codex / Cline (AGENTS.md), and GitHub Copilot (.github/copilot-instructions.md).
Q:Can I combine this rule with other technology stacks?
Yes. Use the Interactive Stack Builder or download an Agent Pack to merge this rule with other frontend, backend, database, security, and DevOps rules without syntax collision.