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

Tetragon eBPF In-Kernel Synchronous Execve Enforcement Standard

Mandates deterministic, synchronous in-kernel SIGKILL dispatch via Tetragon TracingPolicy CRDs at process execution boundaries. Eliminates Time-of-Check to Time-of-Use (TOCTOU) races and userspace notification latency that enable unauthorized binaries to execute privileged system calls before asynchronous userspace agents can react.

Prohibited Anti-Pattern: Asynchronous Userspace Signal Dispatching and Post-Exec Audit-Only Probes

Export Ready-to-Drop Configuration

Select format below to copy code or download file directly.

---
description: Tetragon eBPF In-Kernel Synchronous Execve Enforcement Standard - Mandates deterministic, synchronous in-kernel SIGKILL dispatch via Tetragon TracingPolicy CRDs at process execution boundaries. Eliminates Time-of-Check to Time-of-Use (TOCTOU) races and userspace notification latency that enable unauthorized binaries to execute privileged system calls before asynchronous userspace agents can react.
globs: deploy/**/*.yaml, k8s/**/*.yaml, charts/**/*.yaml, policies/**/*.yaml, crds/**/*.yaml
alwaysApply: true
verified_by: "agentrules.org"
license: "CC-BY-4.0"
source: "https://agentrules.org/rules/tetragon-ebpf-inkernel-execve-enforcement-standard"
---

# Tetragon eBPF In-Kernel Synchronous Execve Enforcement Standard

> **Severity**: CRITICAL | **Category**: devops
> **Anti-Pattern Warning**: Asynchronous Userspace Signal Dispatching and Post-Exec Audit-Only Probes

## System Constraints
You are a Principal Security Architect enforcing the Tetragon eBPF In-Kernel Execve Signal Enforcement Standard. Mandate synchronous in-kernel termination (Sigkill) on unauthorized execve calls at the kernel layer, strictly forbidding userspace-delayed reactive mitigation.

## Strict Guidelines
- Engineers MUST ALWAYS use Tetragon TracingPolicy or TracingPolicyNamespaced CRDs (cilium.io/v1alpha1) with hook points executing prior to user-space code execution (e.g., security_bprm_check LSM hook or sys_enter_execve).
- Engineers MUST configure synchronous in-kernel enforcement using 'action: Sigkill' directly within the TracingPolicy selector rules for unauthorized execution attempts.
- Engineers MUST NOT rely on userspace export log parsers (e.g., fluentd/vector reading tetragon.log) to asynchronously dispatch POSIX signals via external CLI commands or Kubernetes API calls.
- Selectors MUST explicitly delineate namespaces, pod labels, or binary paths using 'matchBinaries', 'matchArgs', or 'matchNamespaces' to avoid accidental kernel-level panics or host node isolation.
- Components NEVER execute permissive audit-only configurations in production environments where runtime privilege escalation containment is mandated.

## Bad vs Good Implementations
### Tetragon TracingPolicy Execve Enforcement

#### Bad Antipattern (AI Common Hallucination)
> **Why it fails**: Hooks sched_process_exec without an in-kernel Sigkill action. The unauthorized binary executes concurrently while the Tetragon userspace daemon buffers and consumes the ring buffer event, giving attackers sufficient time to run code, spawn threads, or manipulate procfs before userspace can intervene.
```yaml
apiVersion: cilium.io/v1alpha1
kind: TracingPolicy
metadata:
  name: audit-unauthorized-exec
spec:
  kprobes:
    # FLUSH/RACE ANTI-PATTERN: Hooks post-execution sched_process_exec without in-kernel action.
    # Relies on userspace daemon monitoring stdout/gRPC to detect and terminate PIDs,
    # creating an exploitable time window (10-100ms) for shell payloads.
    - call: "sched_process_exec"
      syscall: false
      args:
        - index: 0
          type: "string"
      selectors:
        - matchArgs:
            - index: 0
              operator: "Prefix"
              values:
                - "/tmp/"
          # Missing action: Sigkill -> Only generates a userspace audit log event
```

#### Production Standard (Correct)
> **Standard**: Hooks security_bprm_check with synchronous 'action: Sigkill' directly in the eBPF bytecode. When a binary execution from /tmp/ or /dev/shm/ is evaluated, the kernel delivers SIGKILL synchronously before the process image ever transitions to userspace execution.
```yaml
apiVersion: cilium.io/v1alpha1
kind: TracingPolicyNamespaced
metadata:
  name: block-tmp-execve-sigkill
  namespace: payment-workloads
spec:
  kprobes:
    # INVARIANT: Hook security_bprm_check (LSM) or sys_enter_execve with synchronous in-kernel Sigkill.
    # Binary is terminated inside the kernel boundary before transitioning to user mode.
    - call: "security_bprm_check"
      syscall: false
      return: true
      args:
        - index: 0
          type: "linux_binprm"
      selectors:
        - matchArgs:
            - index: 0
              operator: "Prefix"
              values:
                - "/tmp/"
                - "/dev/shm/"
          matchActions:
            - action: Sigkill
```

Recommended MCP Servers (mcp-serverlist.com)

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

Architectural Specification & Invariant Rationale

Architectural Invariant Design: Tetragon eBPF In-Kernel Synchronous Execve Enforcement Standard

Tetragon eBPF In-Kernel Synchronous Execve Enforcement Standard defines an industrial-grade behavioral standard for devops engineering. Mandates deterministic, synchronous in-kernel SIGKILL dispatch via Tetragon TracingPolicy CRDs at process execution boundaries. Eliminates Time-of-Check to Time-of-Use (TOCTOU) races and userspace notification latency that enable unauthorized binaries to execute privileged system calls before asynchronous userspace agents can react. 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: Asynchronous Userspace Signal Dispatching and Post-Exec Audit-Only Probes 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 DriftAsynchronous Userspace Signal Dispatching and Post-Exec Audit-Only ProbesCritical
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 use Tetragon TracingPolicy or TracingPolicyNamespaced CRDs (cilium.io/v1alpha1) with hook points executing prior to user-space code execution (e.g., security_bprm_check LSM hook or sys_enter_execve).

Engineers MUST ALWAYS use Tetragon TracingPolicy or TracingPolicyNamespaced CRDs (cilium.io/v1alpha1) with hook points executing prior to user-space code execution (e.g., security_bprm_check LSM hook or sys_enter_execve).

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 configure synchronous in-kernel enforcement using 'action

Engineers MUST configure synchronous in-kernel enforcement using 'action: Sigkill' directly within the TracingPolicy selector rules for unauthorized execution attempts.

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

Engineers MUST NOT rely on userspace export log parsers (e.g., fluentd/vector reading tetragon.log) to asynchronously dispatch POSIX signals via external CLI commands or Kubernetes API calls.

Engineers MUST NOT rely on userspace export log parsers (e.g., fluentd/vector reading tetragon.log) to asynchronously dispatch POSIX signals via external CLI commands or Kubernetes API calls.

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 MUST explicitly delineate namespaces, pod labels, or binary paths using 'matchBinaries', 'matchArgs', or 'matchNamespaces' to avoid accidental kernel-level panics or host node isolation.

Selectors MUST explicitly delineate namespaces, pod labels, or binary paths using 'matchBinaries', 'matchArgs', or 'matchNamespaces' to avoid accidental kernel-level panics or host node isolation.

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

Components NEVER execute permissive audit-only configurations in production environments where runtime privilege escalation containment is mandated.

Components NEVER execute permissive audit-only configurations in production environments where runtime privilege escalation containment is mandated.

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 Tetragon eBPF In-Kernel Synchronous Execve Enforcement Standard critical for AI coding assistants?

Mandates deterministic, synchronous in-kernel SIGKILL dispatch via Tetragon TracingPolicy CRDs at process execution boundaries. Eliminates Time-of-Check to Time-of-Use (TOCTOU) races and userspace notification latency that enable unauthorized binaries to execute privileged system calls before asynchronous userspace agents can react. 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 (Asynchronous Userspace Signal Dispatching and Post-Exec Audit-Only Probes) 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

Tetragon