This specification is maintained by the AgentRules Working Group. Have enhancements or want to claim maintainership?Submit Specification →
devopscritical PriorityID: tetragon-ebpf-breakout-sigkill-enforcement

Cilium Tetragon Synchronous In-Kernel Container Breakout SIGKILL Enforcement

Enforces synchronous in-kernel execution interception and immediate SIGKILL termination via Cilium Tetragon TracingPolicy CRDs at the ring-0 boundary. Prohibits asynchronous, userspace-only breakout detection patterns that introduce race windows permitting lateral movement across container namespaces before remediation.

Prohibited Anti-Pattern: Permitting Asynchronous Alerting or Deferred Userspace Filtering for Kernel Breakout Primitives

Export Ready-to-Drop Configuration

Select format below to copy code or download file directly.

---
description: Cilium Tetragon Synchronous In-Kernel Container Breakout SIGKILL Enforcement - Enforces synchronous in-kernel execution interception and immediate SIGKILL termination via Cilium Tetragon TracingPolicy CRDs at the ring-0 boundary. Prohibits asynchronous, userspace-only breakout detection patterns that introduce race windows permitting lateral movement across container namespaces before remediation.
globs: deploy/**/*.yaml, k8s/**/*.yaml, policies/**/*.yaml, infrastructure/**/*.yaml, helm/**/*.yaml
alwaysApply: true
verified_by: "agentrules.org"
license: "CC-BY-4.0"
source: "https://agentrules.org/rules/tetragon-ebpf-breakout-sigkill-enforcement"
---

# Cilium Tetragon Synchronous In-Kernel Container Breakout SIGKILL Enforcement

> **Severity**: CRITICAL | **Category**: devops
> **Anti-Pattern Warning**: Permitting Asynchronous Alerting or Deferred Userspace Filtering for Kernel Breakout Primitives

## System Constraints
You are a Principal Platform Security Engineer and eBPF Specialist enforcing Cilium Tetragon Kernel Execution Tracing and In-Kernel Signal Enforcement. Mandate that all container breakout prevention policies evaluate tracepoints and kprobes synchronously within the kernel datapath, executing in-kernel SIGKILL enforcement before context switches allow execution of weaponized payloads. Reject configurations relying solely on asynchronous Tetragon JSON event export or userspace alerting pipelines for host-level escape vectors.

## Strict Guidelines
- Engineers MUST ALWAYS configure `TracingPolicy` or `TracingPolicyNamespaced` CRDs with `Sigkill` actions on weaponized kernel hook calls (e.g., `sys_enter_setns`, `sys_enter_pivot_root`, `cap_capable`, or kernel module loading) initiated within workload namespaces.
- Engineers MUST NOT configure breakout detection solely as passive audit logging (`action: Post`) without synchronous in-kernel signal termination (`action: Sigkill`) for untrusted namespace contexts.
- Policies MUST scope kprobe/tracepoint hooks to untrusted container contexts using `matchNamespaces`, `matchPIDs`, or `matchArgs` selectors to avoid crashing critical host system daemons via universal kernel signal dispatch.
- Selectors SHOULD explicitly evaluate arguments and capability values (`matchArgs`) directly at the `sys_enter` boundary rather than deferring to `sys_exit` where ring-0 context modifications may have already executed.
- Engineers MUST ensure Tetragon sensor definitions avoid tracing high-frequency unbounded memory operations without strict filter predicates to prevent eBPF ring buffer dropping and tail-call exhaustion.

## Bad vs Good Implementations
### Tetragon TracingPolicy Container Breakout Interception

#### Bad Antipattern (AI Common Hallucination)
> **Why it fails**: This policy records the `setns` syscall event into the eBPF ring buffer for userspace export without taking synchronous kernel action. The attacker escapes the container namespace immediately, achieving lateral movement before external orchestrators can parse the log stream.
```yaml
# Anti-Pattern: Asynchronous observation without in-kernel termination
# Allows attacker execution to complete while userspace agent processes logs
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"
      selectors:
        - matchNamespaces:
            - namespace: Pid
              operator: NotIn
              values: ["host"]
          # Flaw: No action specified, defaults to passive Post event to tetragon.log
          # Attacker pivots to host namespace and executes payload before webhook can react
```

#### Production Standard (Correct)
> **Standard**: Synchronously invokes the `bpf_send_signal` eBPF helper via Tetragon's `Sigkill` action directly at `sys_enter_setns`. The malicious process is immediately terminated before the kernel commits the namespace change, while simultaneously emitting a rate-limited audit event to the observability plane.
```yaml
# Production-Grade: Synchronous in-kernel SIGKILL enforcement on breakout attempt
apiVersion: cilium.io/v1alpha1
kind: TracingPolicy
metadata:
  name: enforce-block-setns-breakout
spec:
  kprobes:
    - call: "sys_enter_setns"
      syscall: true
      args:
        - index: 0
          type: "int"
        - index: 1
          type: "int"
      selectors:
        - matchNamespaces:
            - namespace: Pid
              operator: NotIn
              values: ["host"]
          matchActions:
            - action: Sigkill
            - action: Post
              rateLimit: "1m"
```

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: Cilium Tetragon Synchronous In-Kernel Container Breakout SIGKILL Enforcement

Cilium Tetragon Synchronous In-Kernel Container Breakout SIGKILL Enforcement defines an industrial-grade behavioral standard for devops engineering. Enforces synchronous in-kernel execution interception and immediate SIGKILL termination via Cilium Tetragon TracingPolicy CRDs at the ring-0 boundary. Prohibits asynchronous, userspace-only breakout detection patterns that introduce race windows permitting lateral movement across container namespaces before remediation. 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: Permitting Asynchronous Alerting or Deferred Userspace Filtering for Kernel Breakout Primitives 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 DriftPermitting Asynchronous Alerting or Deferred Userspace Filtering for Kernel Breakout PrimitivesCritical
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 `TracingPolicy` or `TracingPolicyNamespaced` CRDs with `Sigkill` actions on weaponized kernel hook calls (e.g., `sys_enter_setns`, `sys_enter_pivot_root`, `cap_capable`, or kernel module loading) initiated within workload namespaces.

Engineers MUST ALWAYS configure `TracingPolicy` or `TracingPolicyNamespaced` CRDs with `Sigkill` actions on weaponized kernel hook calls (e.g., `sys_enter_setns`, `sys_enter_pivot_root`, `cap_capable`, or kernel module loading) initiated within workload namespaces.

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 configure breakout detection solely as passive audit logging (`action

Engineers MUST NOT configure breakout detection solely as passive audit logging (`action: Post`) without synchronous in-kernel signal termination (`action: Sigkill`) for untrusted namespace contexts.

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

Policies MUST scope kprobe/tracepoint hooks to untrusted container contexts using `matchNamespaces`, `matchPIDs`, or `matchArgs` selectors to avoid crashing critical host system daemons via universal kernel signal dispatch.

Policies MUST scope kprobe/tracepoint hooks to untrusted container contexts using `matchNamespaces`, `matchPIDs`, or `matchArgs` selectors to avoid crashing critical host system daemons via universal kernel signal dispatch.

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

Selectors SHOULD explicitly evaluate arguments and capability values (`matchArgs`) directly at the `sys_enter` boundary rather than deferring to `sys_exit` where ring-0 context modifications may have already executed.

Selectors SHOULD explicitly evaluate arguments and capability values (`matchArgs`) directly at the `sys_enter` boundary rather than deferring to `sys_exit` where ring-0 context modifications may have already executed.

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

Engineers MUST ensure Tetragon sensor definitions avoid tracing high-frequency unbounded memory operations without strict filter predicates to prevent eBPF ring buffer dropping and tail-call exhaustion.

Engineers MUST ensure Tetragon sensor definitions avoid tracing high-frequency unbounded memory operations without strict filter predicates to prevent eBPF ring buffer dropping and tail-call exhaustion.

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 Cilium Tetragon Synchronous In-Kernel Container Breakout SIGKILL Enforcement critical for AI coding assistants?

Enforces synchronous in-kernel execution interception and immediate SIGKILL termination via Cilium Tetragon TracingPolicy CRDs at the ring-0 boundary. Prohibits asynchronous, userspace-only breakout detection patterns that introduce race windows permitting lateral movement across container namespaces before remediation. 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 Asynchronous Alerting or Deferred Userspace Filtering for Kernel Breakout Primitives) 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

Cilium