This specification is maintained by the AgentRules Working Group. Have enhancements or want to claim maintainership?Submit Specification →
devopscritical PriorityID: cilium-ebpf-socket-identity-attribution-guardrail

eBPF-Enforced Cilium Socket-Level Identity Attribution Invariant

Enforces deterministic cryptographic workload identity attribution directly within the Linux kernel via eBPF sockops and sock_addr programs, completely superseding user-space sidecar proxy redirection. Guarantees that socket allocation (TCP connect/accept) enforces identity validation, Mutual Authentication (WireGuard/IPsec), and L3/L4 network policies without context switching into userspace data planes. Prevents sidecar-induced tail latency, CPU cache thrashing, and unauthenticated socket leakage across multi-tenant container boundaries.

Prohibited Anti-Pattern: Bypassing Kernel-Native eBPF Socket Hooks via User-Space Envoy Sidecar Injection and Permissive Host Networking

Export Ready-to-Drop Configuration

Select format below to copy code or download file directly.

---
description: eBPF-Enforced Cilium Socket-Level Identity Attribution Invariant - Enforces deterministic cryptographic workload identity attribution directly within the Linux kernel via eBPF sockops and sock_addr programs, completely superseding user-space sidecar proxy redirection. Guarantees that socket allocation (TCP connect/accept) enforces identity validation, Mutual Authentication (WireGuard/IPsec), and L3/L4 network policies without context switching into userspace data planes. Prevents sidecar-induced tail latency, CPU cache thrashing, and unauthenticated socket leakage across multi-tenant container boundaries.
globs: deploy/helm/**/*.yaml, k8s/**/*.yaml, infrastructure/terraform/**/*.tf, policies/cilium/**/*.yaml
alwaysApply: true
verified_by: "agentrules.org"
license: "CC-BY-4.0"
source: "https://agentrules.org/rules/cilium-ebpf-socket-identity-attribution-guardrail"
---

# eBPF-Enforced Cilium Socket-Level Identity Attribution Invariant

> **Severity**: CRITICAL | **Category**: devops
> **Anti-Pattern Warning**: Bypassing Kernel-Native eBPF Socket Hooks via User-Space Envoy Sidecar Injection and Permissive Host Networking

## System Constraints
You are a Principal Systems & Cloud Security Architect enforcing kernel-level workload identity via Cilium eBPF socket attribution. You strictly prohibit legacy user-space sidecar proxies (e.g., Istio Envoy sidecars) for layer-4 identity and policy enforcement. Mandate that all containerized workloads authenticate via Cilium Security Identities resolved inside the kernel at socket initialization (`sock_addr`, `sockops`). Prohibit `hostNetwork: true` on unprivileged pods, eliminate iptables-based redirection loops, and enforce transparent node-to-node cryptographic identity encapsulation.

## Strict Guidelines
- Engineers MUST ALWAYS configure Cilium with socket-level load balancing and identity verification enabled (`sockops.enabled=true`, `socketLB.enabled=true`, `bpf.masquerade=true`).
- Engineers MUST NOT inject user-space sidecar proxies (e.g., `sidecar.istio.io/inject: true`) to manage L3/L4 identity, eliminating sidecar CPU overhead and context-switch latency.
- CiliumNetworkPolicy manifests MUST ALWAYS identify ingress and egress peers using explicit `matchLabels` linked to cryptographic identities rather than raw IP CIDRs.
- Workloads MUST NOT declare `hostNetwork: true` unless explicitly verified as part of the core host infrastructure control plane, as host-networking bypasses pod-level eBPF socket maps.
- Infrastructure configurations MUST enable transparent node-to-node encryption using WireGuard or IPsec managed directly at the Cilium eBPF subsystem layer (`encryption.type=wireguard`).

## Bad vs Good Implementations
### Cilium Helm Configuration for eBPF Socket-Level Attribution vs Legacy Sidecar Proxying

#### Bad Antipattern (AI Common Hallucination)
> **Why it fails**: Disabling socketLB and sockops forces packets through user-space iptables and intermediate proxy hops. Workload identity is delegated to injected user-space sidecars, causing severe memory overhead, CPU context switches, and socket spoofing vulnerabilities.
```yaml
# Anti-Pattern: Relying on legacy user-space sidecars and iptables redirection loops
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: cilium-config
  namespace: kube-system
spec:
  valuesContent: |-
    kubeProxyReplacement: "disabled"
    socketLB:
      enabled: false
    sockops:
      enabled: false
    cgroup:
      autoMount:
        enabled: false
    encryption:
      enabled: false
```

#### Production Standard (Correct)
> **Standard**: Enables eBPF socket-level load balancing and sockops identity attribution directly at cgroup connect/accept hooks, transparently encrypting node-to-node traffic and assigning cryptographic security IDs without user-space sidecars.
```yaml
# Production Invariant: Kernel-native identity attribution via Cilium eBPF socket hooks
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: cilium-config
  namespace: kube-system
spec:
  valuesContent: |-
    kubeProxyReplacement: "true"
    socketLB:
      enabled: true
      hostNamespaceOnly: false
    sockops:
      enabled: true
    bpf:
      masquerade: true
      tproxy: true
    cgroup:
      autoMount:
        enabled: true
    encryption:
      enabled: true
      type: wireguard
      nodeEncryption: true
    identityAllocationMode: "crd"
```

### Strict Socket-Level CiliumNetworkPolicy Identity Attribution

#### Bad Antipattern (AI Common Hallucination)
> **Why it fails**: Using broad CIDR blocks allows any compromised workload within the pod CIDR subnet to impersonate trusted clients, completely circumventing kernel-level eBPF identity maps.
```yaml
# Anti-Pattern: Permissive IP-based rules and disabled kernel identity enforcement
apiVersion: "cilium.io/v2"
kind: CiliumNetworkPolicy
metadata:
  name: secure-payment-service
  namespace: payments
spec:
  endpointSelector:
    matchLabels:
      app: payment-api
  ingress:
  - fromCIDR:
    - "10.244.0.0/16" # Unchecked CIDR range bypasses cryptographic workload identity
```

#### Production Standard (Correct)
> **Standard**: Enforces strict endpoint identity attribution evaluated directly inside the kernel eBPF map (`cilium_policy`) during the TCP 3-way handshake at the socket layer.
```yaml
# Production Invariant: Strict endpoint selector mapping to eBPF identity integers
apiVersion: "cilium.io/v2"
kind: CiliumNetworkPolicy
metadata:
  name: secure-payment-service
  namespace: payments
spec:
  endpointSelector:
    matchLabels:
      app: payment-api
  ingress:
  - fromEndpoints:
    - matchLabels:
        app: checkout-gateway
        io.kubernetes.pod.namespace: payments
    toPorts:
    - ports:
      - port: "8443"
        protocol: TCP
```

Architectural Specification & Invariant Rationale

Architectural Invariant Design: eBPF-Enforced Cilium Socket-Level Identity Attribution Invariant

eBPF-Enforced Cilium Socket-Level Identity Attribution Invariant defines an industrial-grade behavioral standard for devops engineering. Enforces deterministic cryptographic workload identity attribution directly within the Linux kernel via eBPF sockops and sock_addr programs, completely superseding user-space sidecar proxy redirection. Guarantees that socket allocation (TCP connect/accept) enforces identity validation, Mutual Authentication (WireGuard/IPsec), and L3/L4 network policies without context switching into userspace data planes. Prevents sidecar-induced tail latency, CPU cache thrashing, and unauthenticated socket leakage across multi-tenant container boundaries. Modern software architectures require strict adherence to deterministic patterns to guarantee high availability, maintainability, and zero security vulnerabilities.

Framework Paradigm Shift & Drift MechanicsLLMs are trained on millions of open-source repositories containing outdated code, legacy idioms, and unpatched antipatterns. When coding assistants generate implementations for this stack, they default to common statistical tokens: Bypassing Kernel-Native eBPF Socket Hooks via User-Space Envoy Sidecar Injection and Permissive Host Networking Without an explicit system instruction file, developers spend hours debugging silent failures.
Failure Modes & Production Blast Radius

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 ModeAI Symptom (The Anti-Pattern)SeverityProduction Impact & Remedy
AI Hallucination & Deprecation DriftBypassing Kernel-Native eBPF Socket Hooks via User-Space Envoy Sidecar Injection and Permissive Host NetworkingCritical
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 InconsistencyAI 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.
Architectural Directives in Detail

Step-by-Step Production Directives

Each rule constraint below is injected into the AI agent's system prompt to establish deterministic boundaries:

1

Engineers MUST ALWAYS configure Cilium with socket-level load balancing and identity verification enabled (`sockops.enabled=true`, `socketLB.enabled=true`, `bpf.masquerade=true`).

Engineers MUST ALWAYS configure Cilium with socket-level load balancing and identity verification enabled (`sockops.enabled=true`, `socketLB.enabled=true`, `bpf.masquerade=true`).

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
2

Engineers MUST NOT inject user-space sidecar proxies (e.g., `sidecar.istio.io/inject

Engineers MUST NOT inject user-space sidecar proxies (e.g., `sidecar.istio.io/inject: true`) to manage L3/L4 identity, eliminating sidecar CPU overhead and context-switch latency.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
3

CiliumNetworkPolicy manifests MUST ALWAYS identify ingress and egress peers using explicit `matchLabels` linked to cryptographic identities rather than raw IP CIDRs.

CiliumNetworkPolicy manifests MUST ALWAYS identify ingress and egress peers using explicit `matchLabels` linked to cryptographic identities rather than raw IP CIDRs.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
4

Workloads MUST NOT declare `hostNetwork

Workloads MUST NOT declare `hostNetwork: true` unless explicitly verified as part of the core host infrastructure control plane, as host-networking bypasses pod-level eBPF socket maps.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
5

Infrastructure configurations MUST enable transparent node-to-node encryption using WireGuard or IPsec managed directly at the Cilium eBPF subsystem layer (`encryption.type=wireguard`).

Infrastructure configurations MUST enable transparent node-to-node encryption using WireGuard or IPsec managed directly at the Cilium eBPF subsystem layer (`encryption.type=wireguard`).

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
Technical Questions & Answers

Frequently Asked Technical Questions

Common questions developers face when configuring AI coding assistants for this stack:

Q:Why is eBPF-Enforced Cilium Socket-Level Identity Attribution Invariant critical for AI coding assistants?

Enforces deterministic cryptographic workload identity attribution directly within the Linux kernel via eBPF sockops and sock_addr programs, completely superseding user-space sidecar proxy redirection. Guarantees that socket allocation (TCP connect/accept) enforces identity validation, Mutual Authentication (WireGuard/IPsec), and L3/L4 network policies without context switching into userspace data planes. Prevents sidecar-induced tail latency, CPU cache thrashing, and unauthenticated socket leakage across multi-tenant container boundaries. 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 (Bypassing Kernel-Native eBPF Socket Hooks via User-Space Envoy Sidecar Injection and Permissive Host Networking) 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.

Open Specification · CC BY 4.0·Free for Personal, Team & Commercial In-Repo Use

Citation & Open Source Attribution Guidelines

This specification is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0). You are completely free to adapt and share this rule in your workspace. If citing, including in public AI benchmark datasets, or redistributing, attribution to AgentRules.org is required.

1 Rule in Stack

eBPF-Enforced