falco
コンテナやKubernetes環境における異常な挙動をリアルタイムで検知するFalcoを、開発者が容易に導入・設定し、シェル起動や不正なネットワーク接続などを監視できるように支援するSkill。
📜 元の英語説明(参考)
Expert guidance for Falco, the CNCF runtime security tool that detects anomalous behavior in containers and Kubernetes clusters using system call monitoring. Helps developers set up Falco for detecting shell spawns in containers, unexpected network connections, file access violations, and privilege escalation — all in real-time with zero application changes.
🇯🇵 日本人クリエイター向け解説
コンテナやKubernetes環境における異常な挙動をリアルタイムで検知するFalcoを、開発者が容易に導入・設定し、シェル起動や不正なネットワーク接続などを監視できるように支援するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o falco.zip https://jpskill.com/download/14887.zip && unzip -o falco.zip && rm falco.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/14887.zip -OutFile "$d\falco.zip"; Expand-Archive "$d\falco.zip" -DestinationPath $d -Force; ri "$d\falco.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
falco.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
falcoフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Falco — ランタイム脅威検出
概要
Falcoは、システムコール監視を使用してコンテナおよびKubernetesクラスタ内の異常な動作を検出するCNCFランタイムセキュリティツールです。開発者がコンテナ内のシェル起動、予期しないネットワーク接続、ファイルアクセス違反、および特権昇格をリアルタイムで、アプリケーションの変更なしに検出できるようにFalcoを設定するのに役立ちます。
手順
デプロイメント
# KubernetesへのHelmインストール
helm repo add falcosecurity https://falcosecurity.github.io/charts
helm install falco falcosecurity/falco \
--namespace falco --create-namespace \
--set driver.kind=modern_ebpf \
--set falcosidekick.enabled=true \
--set falcosidekick.config.slack.webhookurl="${SLACK_WEBHOOK}"
# Docker (シングルホスト)
docker run --rm -i -t \
--privileged \
-v /var/run/docker.sock:/host/var/run/docker.sock \
-v /proc:/host/proc:ro \
falcosecurity/falco:latest
カスタムルール
# falco_rules.local.yaml — カスタム検出ルール
# コンテナ内で起動されたシェルを検出
- rule: Shell Spawned in Container
desc: A shell (bash, sh, zsh) was started inside a container
condition: >
spawned_process and container and
proc.name in (bash, sh, zsh, ash, dash) and
not proc.pname in (cron, supervisord, entrypoint.sh)
output: >
Shell spawned in container
(user=%user.name container=%container.name image=%container.image.repository
shell=%proc.name parent=%proc.pname cmdline=%proc.cmdline)
priority: WARNING
tags: [container, shell, mitre_execution]
# センシティブファイルへのアクセスを検出
- rule: Read Sensitive File
desc: A process read a sensitive file (passwords, keys, tokens)
condition: >
open_read and container and
fd.name in (/etc/shadow, /etc/passwd, /root/.ssh/id_rsa,
/var/run/secrets/kubernetes.io/serviceaccount/token)
output: >
Sensitive file read (user=%user.name file=%fd.name container=%container.name
image=%container.image.repository command=%proc.cmdline)
priority: ERROR
tags: [filesystem, mitre_credential_access]
# 予期しない宛先へのアウトバウンド接続を検出
- rule: Unexpected Outbound Connection
desc: Container making outbound connection to non-allowlisted IP
condition: >
outbound and container and
not fd.sip in (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) and
not fd.sport in (53, 443, 80) and
not container.image.repository in (allowed_outbound_images)
output: >
Unexpected outbound connection
(container=%container.name image=%container.image.repository
connection=%fd.name user=%user.name command=%proc.cmdline)
priority: WARNING
tags: [network, mitre_exfiltration]
# 暗号通貨マイニングを検出
- rule: Crypto Mining Detected
desc: Process connecting to known mining pool or running mining binary
condition: >
spawned_process and container and
(proc.name in (xmrig, minerd, cpuminer, ethminer) or
proc.cmdline contains "stratum+tcp://" or
proc.cmdline contains "pool.minexmr")
output: >
Crypto mining activity detected
(container=%container.name image=%container.image.repository
command=%proc.cmdline user=%user.name)
priority: CRITICAL
tags: [crypto, mitre_resource_hijacking]
# 特権昇格を検出
- rule: Privilege Escalation via setuid
desc: Process changed to root via setuid binary
condition: >
spawned_process and container and
user.uid != 0 and proc.uid = 0 and
not proc.name in (sudo, su, ping)
output: >
Privilege escalation detected
(user=%user.name container=%container.name command=%proc.cmdline)
priority: CRITICAL
tags: [users, mitre_privilege_escalation]
# ルールで参照されるリスト
- list: allowed_outbound_images
items: [nginx, envoyproxy/envoy, haproxy]
Falcosidekickの統合
# FalcosidekickはFalcoアラートを50以上の出力先にルーティングします
# Helmのvalues.yaml
falcosidekick:
enabled: true
config:
slack:
webhookurl: "https://hooks.slack.com/services/xxx"
minimumpriority: "warning"
messageformat: |
*{{ .Priority }}* — {{ .Rule }}
{{ .Output }}
Container: {{ index .OutputFields "container.name" }}
Image: {{ index .OutputFields "container.image.repository" }}
pagerduty:
routingKey: "xxx"
minimumpriority: "critical"
# SIEMに転送
elasticsearch:
hostPort: "https://es.example.com:9200"
index: "falco-alerts"
minimumpriority: "warning"
インストール
# Helm (Kubernetes — 推奨)
helm repo add falcosecurity https://falcosecurity.github.io/charts
helm install falco falcosecurity/falco -n falco --create-namespace
# Linuxパッケージ
curl -fsSL https://falco.org/repo/falcosecurity-packages.asc | gpg --dearmor -o /usr/share/keyrings/falco-archive-keyring.gpg
apt-get install falco
例
例1: マイクロサービスプロジェクトのためのFalcoの設定
ユーザーリクエスト:
Node.js APIとReactフロントエンドをDockerで実行しています。監視/デプロイメントのためにFalcoを設定してください。
エージェントは、# Helm install on Kubernetesのようなパターンに基づいて必要な構成ファイルを作成し、既存のDockerセットアップとの統合を設定し、Node.js + Reactスタックに適したデフォルトを構成し、すべてが動作していることを確認するための検証コマンドを提供します。
例2: カスタムルールの問題のトラブルシューティング
ユーザーリクエスト:
Falcoはカスタムルールでエラーを表示しています。ログは次のとおりです: [error output]
エージェントはエラー出力を分析し、一般的なFalcoの問題との相互参照によって根本原因を特定し、修正(構成の更新、リソース制限の調整、または構文の修正)を適用し、適切なヘルスチェックで解決を検証します。
ガイドライン
- eBPF driver — 最高のパフォーマンスと互換性のために
modern_ebpfドライバーを使用してください。カーネルモジュールのコンパイルは不要です。 - デフォルトルールから始める — Falcoには100以上のルールが付属しています。まずそれらを有効にしてから、追加してください。
(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Falco — Runtime Threat Detection
Overview
Falco, the CNCF runtime security tool that detects anomalous behavior in containers and Kubernetes clusters using system call monitoring. Helps developers set up Falco for detecting shell spawns in containers, unexpected network connections, file access violations, and privilege escalation — all in real-time with zero application changes.
Instructions
Deployment
# Helm install on Kubernetes
helm repo add falcosecurity https://falcosecurity.github.io/charts
helm install falco falcosecurity/falco \
--namespace falco --create-namespace \
--set driver.kind=modern_ebpf \
--set falcosidekick.enabled=true \
--set falcosidekick.config.slack.webhookurl="${SLACK_WEBHOOK}"
# Docker (single host)
docker run --rm -i -t \
--privileged \
-v /var/run/docker.sock:/host/var/run/docker.sock \
-v /proc:/host/proc:ro \
falcosecurity/falco:latest
Custom Rules
# falco_rules.local.yaml — Custom detection rules
# Detect shell spawned inside a container
- rule: Shell Spawned in Container
desc: A shell (bash, sh, zsh) was started inside a container
condition: >
spawned_process and container and
proc.name in (bash, sh, zsh, ash, dash) and
not proc.pname in (cron, supervisord, entrypoint.sh)
output: >
Shell spawned in container
(user=%user.name container=%container.name image=%container.image.repository
shell=%proc.name parent=%proc.pname cmdline=%proc.cmdline)
priority: WARNING
tags: [container, shell, mitre_execution]
# Detect sensitive file access
- rule: Read Sensitive File
desc: A process read a sensitive file (passwords, keys, tokens)
condition: >
open_read and container and
fd.name in (/etc/shadow, /etc/passwd, /root/.ssh/id_rsa,
/var/run/secrets/kubernetes.io/serviceaccount/token)
output: >
Sensitive file read (user=%user.name file=%fd.name container=%container.name
image=%container.image.repository command=%proc.cmdline)
priority: ERROR
tags: [filesystem, mitre_credential_access]
# Detect outbound connection to unexpected destinations
- rule: Unexpected Outbound Connection
desc: Container making outbound connection to non-allowlisted IP
condition: >
outbound and container and
not fd.sip in (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) and
not fd.sport in (53, 443, 80) and
not container.image.repository in (allowed_outbound_images)
output: >
Unexpected outbound connection
(container=%container.name image=%container.image.repository
connection=%fd.name user=%user.name command=%proc.cmdline)
priority: WARNING
tags: [network, mitre_exfiltration]
# Detect crypto mining
- rule: Crypto Mining Detected
desc: Process connecting to known mining pool or running mining binary
condition: >
spawned_process and container and
(proc.name in (xmrig, minerd, cpuminer, ethminer) or
proc.cmdline contains "stratum+tcp://" or
proc.cmdline contains "pool.minexmr")
output: >
Crypto mining activity detected
(container=%container.name image=%container.image.repository
command=%proc.cmdline user=%user.name)
priority: CRITICAL
tags: [crypto, mitre_resource_hijacking]
# Detect privilege escalation
- rule: Privilege Escalation via setuid
desc: Process changed to root via setuid binary
condition: >
spawned_process and container and
user.uid != 0 and proc.uid = 0 and
not proc.name in (sudo, su, ping)
output: >
Privilege escalation detected
(user=%user.name container=%container.name command=%proc.cmdline)
priority: CRITICAL
tags: [users, mitre_privilege_escalation]
# Lists referenced by rules
- list: allowed_outbound_images
items: [nginx, envoyproxy/envoy, haproxy]
Falcosidekick Integration
# Falcosidekick routes Falco alerts to 50+ outputs
# values.yaml for Helm
falcosidekick:
enabled: true
config:
slack:
webhookurl: "https://hooks.slack.com/services/xxx"
minimumpriority: "warning"
messageformat: |
*{{ .Priority }}* — {{ .Rule }}
{{ .Output }}
Container: {{ index .OutputFields "container.name" }}
Image: {{ index .OutputFields "container.image.repository" }}
pagerduty:
routingKey: "xxx"
minimumpriority: "critical"
# Forward to SIEM
elasticsearch:
hostPort: "https://es.example.com:9200"
index: "falco-alerts"
minimumpriority: "warning"
Installation
# Helm (Kubernetes — recommended)
helm repo add falcosecurity https://falcosecurity.github.io/charts
helm install falco falcosecurity/falco -n falco --create-namespace
# Linux package
curl -fsSL https://falco.org/repo/falcosecurity-packages.asc | gpg --dearmor -o /usr/share/keyrings/falco-archive-keyring.gpg
apt-get install falco
Examples
Example 1: Setting up Falco for a microservices project
User request:
I have a Node.js API and a React frontend running in Docker. Set up Falco for monitoring/deployment.
The agent creates the necessary configuration files based on patterns like # Helm install on Kubernetes, sets up the integration with the existing Docker setup, configures appropriate defaults for a Node.js + React stack, and provides verification commands to confirm everything is working.
Example 2: Troubleshooting custom rules issues
User request:
Falco is showing errors in our custom rules. Here are the logs: [error output]
The agent analyzes the error output, identifies the root cause by cross-referencing with common Falco issues, applies the fix (updating configuration, adjusting resource limits, or correcting syntax), and verifies the resolution with appropriate health checks.
Guidelines
- eBPF driver — Use
modern_ebpfdriver for best performance and compatibility; no kernel module compilation needed - Start with default rules — Falco ships with 100+ rules; enable them first, then add custom rules for your environment
- Allowlists over blocklists — Define what's expected (allowed images, allowed processes); flag everything else as anomalous
- Falcosidekick for routing — Route alerts to Slack, PagerDuty, SIEM; Falcosidekick supports 50+ outputs
- Priority levels — Use CRITICAL for active attacks, ERROR for policy violations, WARNING for suspicious activity
- MITRE ATT&CK tags — Tag rules with MITRE tactics; helps incident response teams understand the attack stage
- Tune for noise — Expect noise initially; add exceptions for known-good processes (health checks, init scripts)
- Combine with admission control — Falco detects at runtime; pair with OPA/Kyverno for preventive controls at deploy time