thnkbig/FalcoClaw

GitHub: thnkbig/FalcoClaw

FalcoClaw是一个专为AI智能体和Linux环境设计的开源运行时安全响应引擎,能基于Falco检测到的异常自动执行进程终止、网络阻断等操作,或将调查任务分发给AI智能体处理。

Stars: 0 | Forks: 0

FalcoClaw

Runtime security for AI agents and Linux workloads.

FalcoClaw 是一个为 [OpenClaw](https://github.com/openclaw/openclaw)、[Hermes](https://github.com/NousResearch/hermes-agent) 以及任何运行 AI 代理的 Linux 系统构建的开源运行时响应引擎。它扩展了 [Falco](https://falco.org) 的系统调用级检测能力,增加了自动化响应功能——终止恶意进程、阻断 IP、隔离文件,并将调查任务分发给您的代理——所有这一切都在毫秒级完成。 AI 代理系统以高权限运行,安装第三方技能,处理不受信任的输入,并采取自主行动。传统的安全工具并非为此而构建。FalcoClaw 则是。 ### 适用对象 - **OpenClaw 运维人员** —— 检测并响应恶意技能、提示词注入、凭证窃取、权限提升以及未授权的代理操作 - **Hermes Agent 运维人员** —— 为具有持久 Shell 访问和技能执行能力的自我改进代理提供运行时安全 - **Linux 系统管理员** —— 为任何裸金属服务器、虚拟机或非 Kubernetes 容器提供自动化威胁响应 ### 组件关系 ``` Falco (detection) ──► Falco Talon (Kubernetes response) ──► FalcoClaw (AI agents + Linux response) ``` ## 为什么选择 FalcoClaw? 您的代理可以读取文件、执行命令、安装软件包并建立网络连接。如果其中一个被攻陷——无论是通过恶意技能、提示词注入还是 CVE——您都需要在内核级别检测到它,并在代理采取行动之前做出响应。 FalcoClaw 将响应分为两层: **自动化响应** —— 确定性的,闭环中不涉及 LLM。终止进程。阻断 IP。隔离文件。以毫秒计,而非分钟。 **智能调查** —— 分发给您的 AI 代理(OpenClaw 或 Hermes)进行分析。让代理发挥其所长——推理上下文、关联历史、推荐后续行动。但要将它们排除在杀伤链之外。 ## 工作原理 ``` Kernel syscall → Falco detects anomaly (eBPF) → Falcosidekick routes alert → FalcoClaw matches response rule → Automated action (kill, block, quarantine) → Alert storage (PostgreSQL / file) → Agent dispatch (investigate, notify) ``` **检测** —— Falco 通过 eBPF 在内核级别观察运行时事件。FalcoClaw 提供专为 AI 代理系统调优的检测规则——未授权的 SMTP、跨代理内存访问、技能衍生的进程、凭证窃取模式。 **路由** —— Falcosidekick 将告警分发给 FalcoClaw 和其他下游系统。 **响应** —— FalcoClaw 评估响应规则,并采取有界的自动化操作或分发给代理进行调查。 **关联** —— 存储在 PostgreSQL 中的告警支持丰富化、相似性匹配以及代理驱动的分诊所需的历史上下文。 ## 快速开始 ### 从源码构建 ``` git clone https://github.com/thnkbig/FalcoClaw.git cd falcoclaw make build ``` ### 安装 ``` sudo make install # Binary → /usr/local/bin/falcoclaw # Config → /etc/falcoclaw/config.yaml # Rules → /etc/falcoclaw/rules.yaml # 可选:作为 systemd service 安装 sudo make service-install ``` ### Docker ``` make docker docker run -d --name falcoclaw \ --privileged --net=host \ -v /etc/falcoclaw:/etc/falcoclaw:ro \ -v /var/quarantine:/var/quarantine \ falcoclaw:latest ``` ### 连接到 Falco 将 Falcosidekick 指向 FalcoClaw: ``` # falcosidekick config webhook: address: http://localhost:2804 minimumpriority: warning ``` 或者直接连接 Falco: ``` # falco.yaml http_output: enabled: true url: http://localhost:2804 ``` ## 执行器 FalcoClaw 使用 **执行器** —— 可插拔的响应操作,命名模式为 `category:action`。这与 Falco Talon 的概念相同,但针对的是 Linux 原语和 AI 代理平台,而非 Kubernetes API 调用。 ### OpenClaw / 代理平台 | 执行器 | 描述 | 安全防护 | |---|---|---| | `openclaw:disable_skill` | 禁用恶意或受损的 OpenClaw 技能 | — | | `openclaw:revoke_token` | 凭证泄露后轮换网关令牌 | — | | `openclaw:restart` | 重启 OpenClaw 网关 | — | | `openclaw:disable_agent` | 禁用受损的代理 | 保护主代理 | | `agent:notify` | 通过 webhook 向代理发送告警 | — | | `agent:investigate` | 分发给 AI 代理进行分析 | — | | `agent:telegram` | 发送告警到 Telegram 聊天/话题 | — | ### Linux | 执行器 | 描述 | 安全防护 | |---|---|---| | `linux:kill` | 通过 PID 终止进程 | 保护 PID 1 和自身 | | `linux:block_ip` | 通过 iptables 阻断 IP 并附带审计注释 | 保护本地主机 | | `linux:quarantine` | 将文件移动到隔离区并设置不可变标志 | — | | `linux:disable_user` | 通过 `usermod -L` 锁定用户账户 | 保护 root | | `linux:stop_service` | 停止 systemd 服务 | 保护 sshd, dbus, systemd | | `linux:firewall` | 应用自定义 iptables/nftables 规则 | — | | `linux:script` | 使用事件上下文执行响应脚本 | 验证可执行文件 | ## 响应规则 规则将 Falco 检测事件映射到自动化响应操作: ``` # 检测到恶意的 OpenClaw skill 正在窃取凭据 - name: Kill credential theft from skill match: rules: - "FalcoClaw — Skill Accessing Credentials After Install" actions: - actionner: linux:kill continue: true - actionner: openclaw:disable_skill parameters: skill: "suspicious-skill" - actionner: agent:investigate parameters: webhook_url: "http://localhost:3200/investigate" agent: responder # Agent 生成了一个 shell — 可能是 prompt injection - name: Investigate agent shell spawn match: rules: - "FalcoClaw — Shell Spawned by OpenClaw Agent" actions: - actionner: linux:kill continue: true - actionner: agent:investigate parameters: webhook_url: "http://localhost:3200/investigate" agent: responder question: "A shell was spawned by an agent. Investigate for prompt injection." # 任何 Linux host 上的 Crypto miner - name: Kill crypto miner match: rules: - "Detect crypto miners using the Stratum protocol" actions: - actionner: linux:kill - actionner: agent:notify parameters: webhook_url: "http://localhost:8080/alerts" ``` ### 匹配 - **rules** —— Falco 规则名称列表(OR 逻辑) - **priority** —— 带有运算符的严重性过滤器(`>=Warning`、`Critical`、`
标签:AI安全, Chat Copilot, Chrome Headless, CISA项目, CSV导出, DevSecOps, Docker镜像, EDR, EVTX分析, Falco, Go语言, Hpfeeds, IP封禁, Kubernetes安全, OpenCanary, Syscall监控, Web截图, XXE攻击, 上游代理, 凭证窃取防护, 响应引擎, 威胁防御, 安全, 容器安全, 开源安全工具, 提示词注入防御, 敏感词过滤, 文件隔离, 日志审计, 智能体安全, 权限提升防护, 测试用例, 程序破解, 系统调用, 脆弱性评估, 自动化响应, 请求拦截, 超时处理, 进程阻断, 逆向工程平台, 非K8s环境