Falco: runtime security for Linux and Kubernetes
Falco watches system calls on Linux hosts and in containers and raises an alert when a process does something a rule flags as suspicious, such as a shell starting inside a container or a sensitive file being read.
Drafted with AI from official documentation. Scripts were run in a test environment and repository links verified. Awaiting a human check. Did it work for you? Last edited Outdated?
falcosecurity/falco
- Stars
- 9.5k
- Forks
- 1.1k
- Language
- C++
- Licence
- Apache-2.0
- Last push
- 15 Oct 2026
On GitHub: Cloud Native Runtime Security
Open on GitHubFalco (about 9,500 stars on GitHub) is an open source runtime security tool for Linux, containers and Kubernetes. It was created in 2016 by Sysdig and donated to the Cloud Native Computing Foundation (CNCF) in 2018, where it became a graduated project in 2024, the foundation’s highest maturity level. Written in C++, it is one of the few security tools designed from the start for container workloads rather than adapted to them.
What it does
Falco sits at the kernel level. Using an eBPF probe or a kernel module it observes every system call made by every process on the host, including processes inside containers, and enriches each event with container and Kubernetes metadata such as the pod name and namespace. A rule engine then compares the stream against a set of rules that describe unexpected behaviour: a shell spawned in a container, a process writing below /etc, an outbound connection from a database pod, a binary executed from a temporary directory. When a rule matches, Falco emits an alert to standard output, a file, syslog, a webhook or, through the companion Falcosidekick project, to dozens of destinations including Slack, Elasticsearch and Loki. Falco detects and reports; it does not block by itself, although response actions can be built on top with the Falco Talon project.
Why it matters for Kubernetes
Traditional host intrusion detection does not understand that one machine runs many short lived containers from different images and teams. Falco’s rules can say “a shell in a container is suspicious” without caring which host the container landed on, and its alerts carry the pod, image and namespace an analyst needs. Deployed as a DaemonSet it covers every node in a cluster automatically.
How to install it
Packages exist for Debian, Ubuntu and Red Hat based distributions, and there is an official Helm chart for Kubernetes. On a single Linux host the package route is enough to see the default rules fire:
Check before you run this
- Runs with administrator rights. Make sure you understand every line.
curl -fsSL https://falco.org/repo/falcosecurity-packages.asc | sudo gpg --dearmor -o /usr/share/keyrings/falco-archive-keyring.gpg
sudo apt install falco
sudo falco --version
On Kubernetes the chart from falcosecurity/charts installs Falco on every node with the modern eBPF driver, which needs no kernel headers. The documentation describes rule syntax, outputs and tuning to reduce noise.
Credit
Falco was created at Sysdig and is maintained by the Falco maintainers and the wider CNCF community, with contributors from Sysdig, IBM, Red Hat and others. It is licensed under the Apache License 2.0.
Did this work for you?
No votes yet. Be the first.
If it did not work, the report form below tells the editors what went wrong.
See also
- 0131 Kubernetes architecture: control plane, nodes, kubelet and etcd A Kubernetes cluster is a control plane that stores and decides the desired state, plus worker nodes that run your containers. This… Beginner · Explains an idea · Linux Article Concepts 15 Oct 2026
- 0132 Pods, ReplicaSets and Deployments explained A Pod runs one or more containers together, a ReplicaSet keeps a fixed number of identical Pods alive, and a Deployment manages… Beginner · Explains an idea · Linux Article Concepts · Workloads & services 15 Oct 2026
- 0138 Kubernetes RBAC basics: least-privilege access for a service account RBAC controls who may do what in a cluster with Roles, ClusterRoles and bindings. This guide grants a CI service account deploy… Advanced · Step by step · Linux Article Concepts · Config, secrets & storage 15 Oct 2026
- 0140 kubectl cheat sheet: the commands you use every day A compact reference of everyday kubectl commands: contexts and namespaces, listing and inspecting objects, logs and exec, applying changes, rollouts, scaling and… Beginner · Cheat sheet · Any system Article Concepts · Troubleshooting 15 Oct 2026
- 0149 OpenShift vs Kubernetes vs OKD: what OpenShift adds OpenShift is Red Hat's Kubernetes platform and OKD is its community distribution. Both add projects, routes, builds, image streams, Operators and stricter… Beginner · Explains an idea · Linux Article Concepts · Concepts 15 Oct 2026
- 0251 Learn Kubernetes on your laptop with kind: from first cluster to Ingress Build a throwaway Kubernetes cluster in Docker with kind, deploy a web app with config, secrets and probes, scale it, roll out… Beginner · Guided project · Linux, macOS, Windows Article Concepts · Workloads & services 15 Oct 2026
History
Every saved edit is kept. The plot on the sleeve draws one line per edit. Open any edit to see exactly what changed.
- Dominik +2,575 chars