This specification is maintained by the AgentRules Working Group. Have enhancements or want to claim maintainership?Submit Specification →
securitycritical PriorityID: ebpf-tetragon-namespace-escape-guardrail

eBPF Tetragon Real-Time In-Kernel Namespace Escape Interception and Kill Enforcement

Defines and mandates zero-tolerance TracingPolicy CRDs within Tetragon to detect and synchronously terminate container escape attempts in kernel-space before privilege-escalated syscall execution completes. Ensures synchronous SIGKILL enforcement on unauthorized namespace manipulation (setns, unshare, pivot_root) and mount namespace breakouts across production Kubernetes worker nodes.

Prohibited Anti-Pattern: Passive Asynchronous Audit Logging of Namespace Manipulation Syscalls Without In-Kernel SIGKILL Enforcement

Export Ready-to-Drop Configuration

Select format below to copy code or download file directly.

---
description: eBPF Tetragon Real-Time In-Kernel Namespace Escape Interception and Kill Enforcement - Defines and mandates zero-tolerance TracingPolicy CRDs within Tetragon to detect and synchronously terminate container escape attempts in kernel-space before privilege-escalated syscall execution completes. Ensures synchronous SIGKILL enforcement on unauthorized namespace manipulation (setns, unshare, pivot_root) and mount namespace breakouts across production Kubernetes worker nodes.
globs: deploy/tetragon/**/*.yaml, k8s/**/*.yaml, infra/security/tracing-policies/**/*.yaml, helm/tetragon/**/*.yaml
alwaysApply: true
verified_by: "agentrules.org"
license: "CC-BY-4.0"
source: "https://agentrules.org/rules/ebpf-tetragon-namespace-escape-guardrail"
---

# eBPF Tetragon Real-Time In-Kernel Namespace Escape Interception and Kill Enforcement

> **Severity**: CRITICAL | **Category**: security
> **Anti-Pattern Warning**: Passive Asynchronous Audit Logging of Namespace Manipulation Syscalls Without In-Kernel SIGKILL Enforcement

## System Constraints
You are a Principal Security Architect and Systems Engineer specializing in eBPF kernel enforcement, Linux container internals, and Tetragon runtime security. Mandate strict synchronous interception and process termination policies for unauthorized namespace switches, kernel capability abuse, and filesystem breakout attempts at the kprobe/tracepoint level before execution transitions to user space.

## Strict Guidelines
- Engineers MUST ALWAYS configure Tetragon TracingPolicy resources with 'action: Sigkill' for unauthorized container invocations of sys_setns, sys_unshare, and sys_pivot_root.
- Engineers MUST NOT rely on asynchronous user-space daemon log processing (such as Falco default alerts or Auditd) for active container breakout containment.
- TracingPolicy definitions MUST scope kernel probes using 'matchNamespaces' or 'matchPIDs' selectors to prevent intercepting legitimate host-level infrastructure processes (e.g., container runtimes, kubelet).
- TracingPolicies targeting 'sys_enter_setns' MUST inspect the target file descriptor and flags parameter to differentiate legitimate delegation from namespace escaping.
- Security configurations MUST enforce drop actions or synchronous kills at sys_enter probes rather than sys_exit to prevent execution of hostile operations in the target namespace.

## Bad vs Good Implementations
### Tetragon TracingPolicy: Namespace Escape Interception & Termination

#### Bad Antipattern (AI Common Hallucination)
> **Why it fails**: Configuring kprobes without an in-kernel enforcement action allows the attacker process to complete the namespace switch before any out-of-band monitoring daemon can react, creating an unmitigated container breakout window.
```yaml
apiVersion: cilium.io/v1alpha1
kind: TracingPolicy
metadata:
  name: audit-setns-escape
spec:
  kprobes:
    - call: "sys_setns"
      syscall: true
      args:
        - index: 0
          type: "int"
        - index: 1
          type: "int"
      # Flaw: No synchronous in-kernel kill action; only emits an asynchronous trace event.
      # Attacker process successfully escapes the namespace and maintains access.
```

#### Production Standard (Correct)
> **Standard**: The policy matches target namespace switch flags in-kernel on entry, scopes the rule to workload namespaces, and triggers an immediate in-kernel SIGKILL before the namespace transition takes place.
```yaml
apiVersion: cilium.io/v1alpha1
kind: TracingPolicy
metadata:
  name: block-setns-container-escape
spec:
  kprobes:
    - call: "sys_setns"
      syscall: true
      args:
        - index: 0
          type: "int"
        - index: 1
          type: "int"
      selectors:
        - matchArgs:
            - index: 1
              operator: "Mask"
              values:
                # CLONE_NEWPID (0x20000000), CLONE_NEWNET (0x40000000), CLONE_NEWNS (0x00020000)
                - "0x60020000"
          matchNamespaces:
            - namespace: "default"
              operator: "In"
          matchActions:
            - action: Sigkill
```

Recommended MCP Servers (mcp-serverlist.com)

Equip agent with system tools to verify code for this stack.

Recommended Agent Skills (askills.dev)

Ready-to-use executable skill functions tailored to this stack.

Architectural Specification & Invariant Rationale

Architectural Invariant Design: eBPF Tetragon Real-Time In-Kernel Namespace Escape Interception and Kill Enforcement

eBPF Tetragon Real-Time In-Kernel Namespace Escape Interception and Kill Enforcement defines an industrial-grade behavioral standard for security engineering. Defines and mandates zero-tolerance TracingPolicy CRDs within Tetragon to detect and synchronously terminate container escape attempts in kernel-space before privilege-escalated syscall execution completes. Ensures synchronous SIGKILL enforcement on unauthorized namespace manipulation (setns, unshare, pivot_root) and mount namespace breakouts across production Kubernetes worker nodes. 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: Passive Asynchronous Audit Logging of Namespace Manipulation Syscalls Without In-Kernel SIGKILL Enforcement 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 DriftPassive Asynchronous Audit Logging of Namespace Manipulation Syscalls Without In-Kernel SIGKILL EnforcementCritical
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 Tetragon TracingPolicy resources with 'action

Engineers MUST ALWAYS configure Tetragon TracingPolicy resources with 'action: Sigkill' for unauthorized container invocations of sys_setns, sys_unshare, and sys_pivot_root.

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 rely on asynchronous user-space daemon log processing (such as Falco default alerts or Auditd) for active container breakout containment.

Engineers MUST NOT rely on asynchronous user-space daemon log processing (such as Falco default alerts or Auditd) for active container breakout containment.

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

TracingPolicy definitions MUST scope kernel probes using 'matchNamespaces' or 'matchPIDs' selectors to prevent intercepting legitimate host-level infrastructure processes (e.g., container runtimes, kubelet).

TracingPolicy definitions MUST scope kernel probes using 'matchNamespaces' or 'matchPIDs' selectors to prevent intercepting legitimate host-level infrastructure processes (e.g., container runtimes, kubelet).

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

TracingPolicies targeting 'sys_enter_setns' MUST inspect the target file descriptor and flags parameter to differentiate legitimate delegation from namespace escaping.

TracingPolicies targeting 'sys_enter_setns' MUST inspect the target file descriptor and flags parameter to differentiate legitimate delegation from namespace escaping.

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

Security configurations MUST enforce drop actions or synchronous kills at sys_enter probes rather than sys_exit to prevent execution of hostile operations in the target namespace.

Security configurations MUST enforce drop actions or synchronous kills at sys_enter probes rather than sys_exit to prevent execution of hostile operations in the target namespace.

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 Tetragon Real-Time In-Kernel Namespace Escape Interception and Kill Enforcement critical for AI coding assistants?

Defines and mandates zero-tolerance TracingPolicy CRDs within Tetragon to detect and synchronously terminate container escape attempts in kernel-space before privilege-escalated syscall execution completes. Ensures synchronous SIGKILL enforcement on unauthorized namespace manipulation (setns, unshare, pivot_root) and mount namespace breakouts across production Kubernetes worker nodes. 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 (Passive Asynchronous Audit Logging of Namespace Manipulation Syscalls Without In-Kernel SIGKILL Enforcement) 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