Skip to content
Skillpedia
Agents35k · #5652

detecting-container-runtime-threats-with-falco

Enables your agent to set up and operate Falco to detect threats in containers, like credential theft or improper access.

What it does

Falco is a tool that monitors your systems (like containers) for suspicious activity. It detects threats in real-time, such as attempts to escape containers or misuse privileges.

When to use it

  • ✓When setting up container security in Kubernetes or Docker.
  • ✓To test if container breakout attempts are detected.
  • ✓When adding new security rules for newly discovered vulnerabilities.

Example of what to ask your AI

“Set up Falco to detect if a process tries to access sensitive files outside its container.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/detecting-container-runtime-threats-with-falco/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/detecting-container-runtime-threats-with-falco/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

Falco uses a 'driver' to observe system events (like system calls) and rules written in a specific format to identify dangerous behaviors. If something suspicious is found, it issues an alert.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill detecting-container-runtime-threats-with-falco

Or download just the file:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/detecting-container-runtime-threats-with-falco/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Detecting Container Runtime Threats with Falco

Overview

Falco is the CNCF graduated runtime-security project (originally by Sysdig) that consumes Linux kernel syscalls and Kubernetes audit events through a driver, evaluates them against a YAML rule engine, and emits real-time alerts. It is the de facto open-source detection tool for runtime threats inside containers, including container escape (MITRE ATT&CK T1611, Escape to Host), namespace manipulation (setns), privileged mounts, reverse shells, and unexpected outbound connections.

Falco supports three drivers: the modern eBPF probe (preferred default, requires kernel >= 5.8, shipped directly inside the Falco binary so no init container is needed), the legacy eBPF probe, and the kernel module (kmod). Driver selection is handled by falcoctl driver config --type {kmod|ebpf|modern_ebpf} or driver.kind=modern_ebpf in the Helm chart. On Kubernetes, Falco runs as a DaemonSet so every node is monitored, and falcoctl automatically installs and updates rule artifacts from the Falco rules registry.

This skill covers authoring and deploying custom Falco rules to detect the container-escape primitives and anomalous-behavior signals that the breakout techniques in this collection produce. Each Falco rule has the fields rule, desc, condition, output, priority, and optional tags; reusable logic is factored into macro and list objects. Source: falco.org official documentation; falcosecurity/rules repository; Sysdig Falco detection research (e.g., CVE-2025-22224).

When to Use

  • Building runtime detections for a Kubernetes or Docker environment
  • Validating that container-escape and lateral-movement attempts generate alerts (purple-team)
  • Adding coverage for a newly disclosed runtime CVE
  • Hardening a SOC's container telemetry pipeline (Falco -> Falcosidekick -> SIEM)

Prerequisites

  • A Linux host (kernel >= 5.8 for modern eBPF) or Kubernetes cluster you administer
  • Falco install:
    # Helm (Kubernetes, modern eBPF, JSON output for SIEM ingest)
    helm repo add falcosecurity https://falcosecurity.github.io/charts
    helm repo update
    helm install falco falcosecurity/falco \
      --namespace falco --create-namespace \
      --set driver.kind=modern_ebpf \
      --set collectors.containerd.enabled=true \
      --set falco.json_output=true \
      --set tty=true
    
    # Linux package install (Debian/Ubuntu)
    curl -fsSL https://falco.org/repo/falcosecurity-packages.asc | \
      sudo gpg --dearmor -o /usr/share/keyrings/falco-archive-keyring.gpg
    echo "deb [signed-by=/usr/share/keyrings/falco-archive-keyring.gpg] \
      https://download.falco.org/packages/deb stable main" | \
      sudo tee /etc/apt/sources.list.d/falcosecurity.list
    sudo apt-get update -y && sudo apt-get install -y falco
    
  • Basic familiarity with Falco fields (evt.type, proc.name, container.id, fd.name)

Objectives

  • Install Falco with the modern eBPF driver
  • Understand the rule/macro/list schema and key Falco filter fields
  • Author custom rules for container escape, setns, privileged mounts, sensitive-file reads, and reverse shells
  • Load custom rules and validate syntax
  • Trigger and confirm detections (purple-team validation)
  • Forward alerts to a SIEM via Falcosidekick

MITRE ATT&CK Mapping

Technique ID Name Tactic
T1611 Escape to Host Privilege Escalation
T1059.004 Command and Scripting Interpreter: Unix Shell Execution
T1610 Deploy Container Defense Evasion / Execution
T1543 Create or Modify System Process Persistence
T1071.001 Application Layer Protocol: Web Protocols Command and Control

Workflow

Step 1: Install Falco and Confirm the Driver

# Kubernetes: confirm the DaemonSet is running on every node
kubectl get pods -n falco -o wide
kubectl logs -n falco -l app.kubernetes.io/name=falco | grep -i "driver"

# Linux host: configure driver and start
sudo falcoctl driver config --type modern_ebpf
sudo systemctl enable --now falco-modern-bpf.service
sudo systemctl status falco-modern-bpf.service

Step 2: Learn the Rule, Macro, and List Schema

Custom rules live in /etc/falco/falco_rules.local.yaml or /etc/falco/rules.d/, referenced from rules_files in /etc/falco/falco.yaml.

# /etc/falco/rules.d/custom-escape.yaml
- list: shell_binaries
  items: [bash, sh, zsh, dash, ash, ksh]

- macro: spawned_process

…
FAQ

What is a 'driver' in Falco?

It's a component that collects information about what's happening on the system, like a spy observing all actions.

What are 'rules' in Falco?

These are instructions that tell Falco what to look for. They define patterns of behavior that indicate a potential threat.

What is 'eBPF'?

It's a modern technology that allows Falco to observe the system more efficiently and securely, without needing extra modules in the Linux kernel.

Details

Original description by the author

Deploys and operates Falco with the modern eBPF driver in Kubernetes and Docker, covering driver selection, Helm installation, output channels, and the built-in ruleset that detects container escape, namespace abuse, privileged mounts, and anomalous syscalls. Use when standing Falco up on a cluster, choosing between the eBPF and kernel-module drivers, routing Falco alerts into a SIEM or Falcosidek

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularity

GitHub stars
35k
Ranking position
#5652
License
Apache-2.0
Updated
8/31/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills