leos565/clawedr

GitHub: leos565/clawedr

一款面向 AI 编程助手的内核级 EDR 工具,通过 eBPF 和 Seatbelt 在系统调用层面阻断危险行为,并提供输出脱敏、注入检测、网络白名单等多层防护。

Stars: 0 | Forks: 0

# ClawEDR [![Python](https://img.shields.io/badge/python-3.11+-3776AB?logo=python&logoColor=white)](https://www.python.org/) [![eBPF](https://img.shields.io/badge/eBPF-Linux-FF6F00?logo=linux&logoColor=white)](https://ebpf.io/) [![Seatbelt](https://img.shields.io/badge/Seatbelt-macOS-000000?logo=apple&logoColor=white)](https://developer.apple.com/library/archive/documentation/Security/Conceptual/AppSandboxDesignGuide/) 面向 AI 编码 Agent 的内核级端点检测与响应。ClawEDR 通过 **eBPF** (Linux) 和 **Apple Seatbelt** (macOS) 强制执行安全策略,确保受损或恶意的工具使用不会触及敏感文件、网络或进程。 ## 安装 ``` curl -fsSL https://raw.githubusercontent.com/leos565/clawedr/main/deploy/install.sh | sudo sh ``` 然后重启你的 Agent。ClawEDR 作为后台 Daemon 运行 —— 在 Linux 上无需包装器,在 macOS 上使用透明的 `sandbox-exec` 包装器。 ## 工作原理 ``` master_rules.yaml + ClawSec threat feed ↓ (compiler.py) compiled_policy.json + clawedr.sb ↓ (install.sh) Shield daemon (eBPF / Seatbelt) ↓ Alerts → Dashboard (localhost:8477) ``` **Linux:** eBPF 挂钩于 `execve`、`openat` 和 `socket_connect`,在内核中拦截系统调用。被阻止的二进制文件在执行前会收到 `SIGKILL` 信号。只有 OpenClaw 进程及其子进程受到监控 —— 系统的其余部分不受影响。 **macOS:** Apple Seatbelt 沙箱配置文件在内核级别拒绝访问敏感路径和可执行文件。违规日志被实时追踪并作为警报分发。 **Dashboard:** 端口 8477 上的 Web UI,用于查看警报、管理规则豁免以及添加自定义阻止规则。作为系统服务自动安装。 ## 保护模块 除了核心策略执行外,ClawEDR 还包含四个额外的保护层: | Module | Rule Prefix | What It Does | |--------|-------------|--------------| | **Output Scanner** | `OUT-*` | 在 Agent stdout 中的密钥和 PII(AWS 密钥、GitHub Token、信用卡、SSN、私钥等)到达用户之前,通过 eBPF tracepoint 进行扫描 | | **Prompt Injection Detection** | `INJ-*` | 检查流入 Agent 的内容,识别指令覆盖、角色劫持、隐写术和数据渗漏模式 | | **Egress Allowlist** | — | 将出站网络连接限制为显式域名白名单,在 eBPF Socket 层强制执行 | | **Cognitive Integrity Monitor** | `INT-*` | 跟踪 OpenClaw 配置文件的 SHA-256 基线,并对意外修改发出警报 | 所有模块均可从 Dashboard 配置,并可独立启用/禁用。 ## 规则系统 每条规则都有一个稳定的 ID,用于可追溯性和用户覆盖: | Prefix | Category | Example | |--------|----------|---------| | `BIN-*` | 被阻止的可执行文件 | `BIN-001` → `nc` | | `DOM-*` | 被阻止的域名 | `DOM-016` → `pastebin.com` | | `PATH-LIN-*` / `PATH-MAC-*` | 被阻止的路径 | `PATH-LIN-002` → `/etc/shadow` | | `LIN-*` / `MAC-*` | 特定操作系统的拒绝规则 | `LIN-050` → `dd` 磁盘写入 | | `HEU-*` | 启发式检测 | `HEU-NET-001` → DNS 渗漏模式 | | `THRT-*` | 威胁情报条目 | 从 ClawSec 情报源自动生成 | | `USR-*` | 用户自定义规则 | `USR-DOM-001` → `evil.com` | | `OUT-*` | 输出扫描模式 | `OUT-001` → AWS Access Key ID | | `INJ-*` | 注入检测模式 | `INJ-006` → 零宽度 Unicode 隐写术 | ## 用户自定义 所有覆盖配置均位于 `~/.clawedr/user_rules.yaml` 并在系统更新后保留: ``` exempted_rule_ids: - "BIN-001" # Allow nc custom_rules: - id: USR-DOM-001 type: domain value: evil.com - id: USR-PATH-001 type: path value: /var/secrets platform: linux # 模块设置 output_scanner_enabled: true injection_detection_enabled: true egress_mode: allowlist allowed_domains: - api.openai.com - api.anthropic.com integrity_monitor_enabled: true ``` 支持的自定义规则类型:`executable`、`domain`、`hash`、`path`、`argument`。规则也可以从 Dashboard UI 进行管理。 ## 仪表板 位于 `localhost:8477` 的 Web UI 提供: - **Alerts** —— 按时间、严重程度和模块(Policy Rules / Threat Feed / Heuristics / Output Scanner / Prompt Injection / Custom)过滤。支持单条消除和批量清除。 - **Policy Rules** —— 切换每条规则的执行模式,配置安全配置文件(Hobbyist → Professional → Military 滑块),添加自定义规则。 - **Output Scanner** —— 启用/禁用类别,查看带有技术示例的模式库,检查最近的发现。 - **Prompt Injection** —— 配置注入检测类别,查看已触发的模式。 - **Egress Control** —— 管理出站域名白名单,在白名单模式和仅监控模式之间切换。 - **Integrity** —— 基线管理、单文件状态、篡改警报。 - **Settings** —— API token、绑定地址、通知设置。 ## 开发 ``` python3 -m venv .venv && source .venv/bin/activate pip install -r requirements-dev.txt ./main.py sync # Fetch threat feed + merge with master_rules.yaml ./main.py compile # Generate compiled_policy.json + clawedr.sb ./main.py test # Run pytest suite ./main.py publish # Commit and push deploy/ ./main.py all # sync → compile → test ``` Linux eBPF 测试需要 OrbStack Ubuntu VM —— 在 `builder/config.yaml` 中配置主机。 ## 文档 请参阅 [ARCHITECTURE.md](ARCHITECTURE.md) 获取详细的技术文档,包括: - 完整的项目布局和组件细分 - Shield 执行细节(eBPF 挂钩、Seatbelt 配置文件、进程跟踪) - 威胁情报管道 - Dashboard API 参考 - 测试矩阵和 CI 配置 - 服务管理命令 ## 许可证 MIT
标签:AI代码安全, API集成, CISA项目, Docker镜像, eBPF安全, EDR, FTP漏洞扫描, HTTP工具, IP 地址批量处理, LLM安全防护, macOS沙盒, OpenClaw, Python安全工具, Seatbelt, SQLite数据库, 内核监控, 内核级防护, 可观测性, 威胁情报, 安全编排, 开发者工具, 敏感文件保护, 沙箱逃逸防护, 端点检测与响应, 网络安全, 网络安全审计, 网络访问控制, 脆弱性评估, 脱壳工具, 进程拦截, 逆向工具, 隐私保护, 零信任执行