Senturkselim/CGTI-for-OpenClaw

GitHub: Senturkselim/CGTI-for-OpenClaw

面向 OpenClaw AI 代理生态的 Suricata IDS/IPS 管理工具,内置 646 条威胁检测规则,提供跨平台实时监控、自动封禁和 IPS 主动拦截能力。

Stars: 2 | Forks: 0

# 🛡 CGTI Lite for OpenClaw — 社区版 [![License: AGPL-3.0-only](https://img.shields.io/badge/License-AGPL--3.0--only-blue.svg)](https://www.gnu.org/licenses/agpl-3.0) [![Python 3.8+](https://img.shields.io/badge/Python-3.8%2B-brightgreen.svg)](https://www.python.org) [![Suricata 6.0+](https://img.shields.io/badge/Suricata-6.0%2B-orange.svg)](https://suricata.io) [![规则](https://img.shields.io/badge/Detection_Rules-646_active-red.svg)](#rule-files) [![CVEs](https://img.shields.io/badge/CVEs_Covered-25-critical.svg)](#cves-covered) ## 为什么选择 CGTI Lite? 在 2026 年 1 月至 3 月期间,OpenClaw 生态系统面临了一场前所未有的安全危机: - **ClawHavoc 活动** — 在 ClawHub 上发现了 1,184+ 个恶意技能,分发 AMOS、Vidar 和 GhostSocks 窃密木马 - **GhostClaw/GhostLoader** — 通过拼写抢注的 npm 包(`@openclaw-ai/openclawai`)分发的 RAT,通过 trackpipe.dev C2 将数据外泄至 GoFile.io - **CVE-2026-25253** (CVSS 8.8) — 1-Click RCE,导致完整的 token 窃取和远程代码执行 - 在公共互联网上发现了 **135,000+ 个暴露的实例**,其中许多未设置身份验证 - **AMOS Stealer** — 针对 macOS 的信息窃密软件,窃取 `openclaw.json`、API 密钥、加密货币钱包和 SSH 凭证 CGTI Lite 提供了 646 条精心筛选的 Suricata 规则,涵盖了这些攻击链的每个阶段,并封装在一个跨平台管理控制台中,负责处理安装、配置、实时监控和主动阻断。 ## 目录 - [为什么选择 CGTI Lite?](#why-cgti-lite) - [核心特性](#key-features) - [威胁覆盖](#threat-coverage) - [规则文件](#rule-files) - [安装](#installation) - [快速入门](#quick-start) - [命令参考](#command-reference) - [IDS 与 IPS 模式](#ids-vs-ips-mode) - [误报管理](#false-positive-management) - [Suricata 配置](#suricata-configuration) - [配置文件位置](#config-file-locations) - [防火墙集成](#firewall-integration) - [系统要求](#requirements) - [测试](#testing) - [贡献指南](#contributing) - [许可证](#license) - [致谢](#acknowledgments) ## 核心特性 | 特性 | 描述 | |---|---| | **跨平台** | 全面支持 Windows、macOS 和 Linux,并提供特定平台的安装程序 | | **646 条检测规则** | 跨 13 个专用文件构建的专用规则 — 零 SID 冲突,经过验证的 namespace | | **IDS + IPS 模式** | 仅监控 (IDS) 或主动阻断 (IPS),支持自动生成 `alert → drop` 规则 | | **实时告警流** | 带有颜色编码严重性显示的实时 `eve.json` 监控 | | **自动拦截** | 增强的 Autoblock 模式会自动为检测到的威胁添加操作系统原生防火墙规则 — 双向、DNS 感知、按严重性过滤 | | **防火墙集成** | iptables (Linux) / pfctl (macOS) / netsh advfirewall (Windows) | | **开机自启** | 通过 systemd (Linux)、launchd (macOS)、Task Scheduler (Windows) 实现开机时激活 — 支持 IDS、IPS 和增强型 Autoblock 模式 | | **IP 封禁管理** | 跟踪、添加、移除和清除被封禁的 IP,并记录原因 | | **规则管理** | 按 SID 启用/禁用单个规则,添加自定义规则,热重载 | | **配置校验** | 具有 schema 验证的 JSON 配置及安全默认值 | | **日志轮转** | CGTI 日志在达到 5 MB 阈值时自动轮转 | | **内存安全读取** | 以 1 MB 块进行基于 Tail 的日志读取 — 绝不将整个文件加载到内存中 | ## 威胁覆盖 ### 攻击活动与恶意软件家族 | 威胁 | 描述 | 检测方法 | |---|---|---| | **ClawHavoc** | 1,184+ 个分发信息窃密软件的恶意 ClawHub 技能 | C2 IP、域名、技能下载模式、DNS 查询 | | **AMOS Stealer** | 针对 macOS 的信息窃密软件,目标为加密钱包、openclaw.json、SSH 密钥 | TLS C2 (91.92.242.0/24)、HTTP 外泄、BuildID header (out.zip) | | **Vidar 2.0** | 针对 `~/.openclaw/` 凭证存储的信息窃密软件 | JA3 指纹、TLS 证书 (C=XX,ST=NY,O=StaticIP) | | **GhostClaw/GhostLoader** | 通过拼写抢注的 npm 包 (`@openclaw-ai/openclawai`) 分发的 RAT,外泄至 GoFile.io | 指向 trackpipe.dev 的 TLS/HTTP C2、引导 payload URI、npm 包检测、DNS 查询 | | **GhostSocks** | 将受感染主机变成 SOCKS 代理的代理恶意软件 | 默认证书 CN、Stealth Packer 指标 | | **DigitStealer** | 通过 ClawHavoc 分发的以加密货币为重心的窃密软件 | HTTP C2 模式、钱包扩展目标 | | **AuthTool Backdoor** | 带有反向 shell 连接到 54.91.154.110 的虚假身份验证技能 | C2 IP、端口 13338 连接模式 | ### 覆盖的 CVE CGTI Lite 包含针对 OpenClaw 组件的 **25 个独立 CVE** 的检测规则: | CVE | CVSS | 描述 | |---|---|---| | CVE-2026-25253 | 8.8 | 通过 `gatewayUrl` token 外泄实现 1-Click RCE(5 阶段杀伤链) | | CVE-2026-28446 | 9.8 | 语音扩展通过转录管道实现预认证 RCE | | CVE-2026-28363 | 9.9 | 通过 GNU 长选项缩写绕过 `safeBins` | | CVE-2026-28484 | 9.8 | Git 预提交钩子选项注入 | | CVE-2026-32059 | HIGH | 通过精心构造的技能元数据实现远程代码执行 | | CVE-2026-25593 | HIGH | 未认证的 `config.apply` cliPath 命令注入 | | CVE-2026-27487 | HIGH | macOS keychain OAuth token 命令注入 | | CVE-2026-24763 | HIGH | Docker PATH 环境变量命令注入 | | CVE-2026-25157 | HIGH | `sshNodeCommand` / `parseSSHTarget` 操作系统命令注入 | | CVE-2026-26329 | HIGH | 通过工作区配置实现的路径穿越 | | CVE-2026-26322 | 7.6 | 通过网关工具 `gatewayUrl` 参数实现的 SSRF | | CVE-2026-26319 | 7.5 | Telnyx/Twilio webhook 身份验证 fail-open 绕过 | | CVE-2026-22708 | MED | Web UI 中的 CSS 隐藏 prompt 注入 | | + 另外 12 个 | — | 参见 `openclaw-exploit-detection.rules` 和 `oc-exploit-cve.rules` | ### 检测层 规则按三个检测置信度层进行组织: - **Layer 1** — 高置信度(优先级 1):已知 C2 IP、CVE 漏洞利用签名、TLS/JA3 指纹 - **Layer 2** — 中置信度(优先级 2):行为模式、协议异常、基于阈值的检测 - **Layer 3** — 低置信度(优先级 3):通用启发式、扫描器检测、广泛模式匹配 ## 规则文件 **13 个文件 · 646 条活跃规则(共 662 条) · SID 范围 9200001–9204419 · 零冲突** | # | 文件 | SID 范围 | 活跃数 | 覆盖范围 | |---|---|---|---|---| | 01 | `oc-infostealer-c2.rules` | 9200001–9200128 | 67 | AMOS/Vidar/GhostClaw C2、凭证窃取、窃密面板 | | 02 | `oc-reverse-shell.rules` | 9200500–9200651 | 59 | 反向 shell(bash、netcat、Python、Node.js、PowerShell、Go、Java) | | 03 | `oc-websocket-attack.rules` | 9200800–9200905 | 43 | WebSocket 网关攻击(CVE-2026-25253、ClawJacked、日志投毒) | | 04 | `oc-malicious-skill-download.rules` | 9201000–9201113 | 50 | 恶意技能安装、拼写抢注、供应链 | | 05 | `oc-data-exfiltration.rules` | 9201500–9201631 | 57 | 凭证外泄(Telegram、Discord、Slack、云存储、粘贴网站) | | 06 | `oc-gateway-exposure.rules` | 9202000–9202091 | 42 | 暴露的网关、Moltbook、扫描器检测、横向移动 | | 07 | `oc-cryptostealer-activity.rules` | 9202300–9202381 | 41 | 加密货币钱包窃取、挖矿、助记词、交易所 API 密钥、drainer | | 08 | `oc-mcp-security.rules` | 9202600–9202662 | 24 | MCP endpoint 安全、SSRF、工具注入、凭证外泄 | | 09 | `oc-exploit-cve.rules` | 9202900–9203012 | 37 | 特定 CVE 的漏洞利用签名(基础集) | | 10 | `oc-exploit-detection.rules` | 9203050–9203139 | 89 | 扩展的 CVE 覆盖(25 个 CVE、完整杀伤链、35 个部分) | | 11 | `oc-threat-intel-ioc.rules` | 9203400–9203483 | 83 | 威胁情报 IoC、恶意发布者、供应链攻击 | | 12 | `oc-dns-threat-detection.rules` | 9203900–9203942 | 34 | DNS C2、rebinding、拼写抢注、mDNS 侦察、增强型 Autoblock | | 13 | `oc-tls-certificate-anomaly.rules` | 9204400–9204419 | 20 | TLS/证书 MITM、TOFU 攻击、JA3、Anthropic API 保护 | 所有规则文件都是独立的,无需额外配置即可同时加载。 ## 安装 ### Linux / macOS ``` git clone https://github.com/Senturkselim/CGTI-for-OpenClaw.git cd CGTI-for-OpenClaw chmod +x install.sh ./install.sh ``` 然后运行安装向导: ``` cgti install ``` ### Windows 1. 克隆或下载仓库 2. 右键点击 `install.bat` → **以管理员身份运行** 3. 打开一个**新的**管理员 CMD 窗口: ``` cgti install ``` ### 手动安装(任何操作系统) ``` pip install rich python cgti_lite.py install ``` ## 快速入门 ``` # 1. 安装与配置(仅首次运行) cgti install # 2. 启动 Suricata 监控 sudo cgti start # Interactive — select interface from list sudo cgti start -i eth0 # Linux (direct) cgti start -i "Wi-Fi" # Windows (direct) sudo cgti start -i en0 # macOS (direct) # 3. 查看实时警报 cgti live # 4. 启用自动拦截(通过 OS 防火墙拦截攻击 IP) sudo cgti live --autoblock ``` ## 命令参考 ### 核心命令 | 命令 | 描述 | |---|---| | `cgti install` | 首次设置向导 — 检测/安装 Suricata,配置规则 | | `cgti status` | 系统状态、Suricata 版本、规则统计 | | `cgti start [-i INTERFACE]` | 在指定的网络接口上启动 Suricata | | `cgti stop` | 停止 Suricata | | `cgti live` | 带有颜色编码严重性的实时告警流 | | `cgti live --autoblock` | 实时流 + 为检测到的威胁自动拦截 IP | ### 规则管理 | 命令 | 描述 | |---|---| | `cgti rules list` | 列出所有规则(分页显示) | | `cgti rules list --filter "AMOS"` | 按文本模式过滤规则 | | `cgti rules enable ` | 按 SID 启用特定规则 | | `cgti rules disable ` | 按 SID 禁用特定规则 | | `cgti rules add " -r "reason"` | 封禁一个 IP(应用操作系统防火墙规则) | | `cgti blocked remove ` | 解封一个 IP | | `cgti blocked clear` | 清除所有被封禁的 IP | ### 日志分析 | 命令 | 描述 | |---|---| | `cgti logs` | 显示最近的告警 | | `cgti logs -n 100` | 显示最近 100 条告警 | | `cgti logs --severity 1` | 仅显示严重(优先级 1)告警 | | `cgti logs --ip 1.2.3.4` | 按源/目标 IP 过滤告警 | ### 配置 | 命令 | 描述 | |---|---| | `cgti config show` | 显示当前配置 | | `cgti config set suricata.mode IPS` | 切换到 IPS 模式 | | `cgti config set suricata.interface eth0` | 设置默认接口 | | `cgti config set suricata.dns_servers "9.9.9.9,149.112.112.112"` | 设置自定义 DNS 服务器(实时应用到 suricata.yaml) | | `cgti config reset` | 恢复为默认配置 | | `cgti config path` | 显示配置、规则和日志文件路径 | ### 开机自启 CGTI Lite 可以使用操作系统原生的服务管理器在系统启动时自动启动 Suricata: | 命令 | 描述 | |---|---| | `cgti autostart enable` | 启用开机自启 | | `cgti autostart disable` | 禁用开机自启 | | `cgti autostart status` | 显示当前自启状态 | 其实现是特定于平台的: | 操作系统 | 方法 | 服务名称 | |---|---|---| | Linux | systemd unit | `cgti-lite.service` | | macOS | launchd plist | `com.cgti-lite.daemon` | | Windows | Task Scheduler | `CGTI-Lite-Autostart` | ## IDS 与 IPS 模式 ### IDS 模式(默认) - **监控**网络流量并生成告警 - **不会**拦截或修改流量 - 规则使用 `alert` 动作 - 适用于所有平台 ### IPS 模式 - 通过丢弃数据包来**主动拦截**恶意流量 - 自动将现有的 `alert` 规则原地转换为 `drop`(停止时还原) - Linux:使用 `iptables` NFQUEUE 进行内联数据包处理 - 自动配置带有 `nfq:` 部分的 `suricata.yaml` ``` # 启用 IPS 模式 cgti config set suricata.mode IPS # 以 IPS 启动(Linux — 需要 root) sudo cgti start -i eth0 ``` ## 误报管理 CGTI Lite 规则采用严格的防误报方法论进行设计:每条规则至少需要两个独立的指标、适用的端口/方向范围限制,以及针对行为规则的阈值保护。尽管如此,某些规则在特定的 OpenClaw 使用模式下仍可能触发告警。本节将帮助您针对自身环境调整规则集。 ### 已禁用的规则 有 16 条规则**默认被禁用**,因为它们会在正常的 OpenClaw 操作中触发。每条被禁用的规则都带有一个 `# DISABLED-FP:` 注释来解释原因。如果您的部署不使用受影响的功能,则可以重新启用它们。 | SID | 文件 | 原因 | 重新启用条件... | |---|---|---|---| | 9200835 | websocket-attack | `device.register` 在每次合法的设备配对时都会触发 | 您从不配对新设备 | | 9200836 | websocket-attack | `node.list` 在每次节点枚举时都会触发 | 您拥有一个静态节点设置 | | 9200837 | websocket-attack | `config.get` 在每次读取配置时都会触发 | 您从不通过 WebSocket 读取配置 | | 9200838 | websocket-attack | `skill.install` 在每次安装技能时都会触发 | 您的技能集是锁定的 | | 9200839 | websocket-attack | `log.read` 在每次访问日志时都会触发 | 您从不通过 WebSocket 读取日志 | | 9200872 | websocket-attack | Python REPL 检测 — REPL 是 OpenClaw 的核心功能 | 您不使用 Python REPL | | 9202012 | gateway-exposure | Python REPL 检测(网关上下文) — 同上 | 同上 | | 9202071 | gateway-exposure | `HOME_NET → HOME_NET [22,3306,5432,6379,27017]` — 无 OpenClaw 特定内容,在所有内部 DB/SSH 流量上都会触发 | 您想要监控所有的内部东西向流量 | | 9202610 | mcp-security | `tools/call + exec` — 匹配合法的 MCP 工具,如 `execute_query`、`exec_sql` | 您不使用任何名称中带有“exec”的 MCP 工具 | | 9202614 | mcp-security | `tools/call + read_file` — 标准文件系统 MCP 工具 | 您不使用文件系统 MCP 服务器 | | 9202615 | mcp-security | `tools/call + write_file` — 标准文件系统 MCP 工具 | 您不使用文件系统 MCP 服务器 | | 9202662 | mcp-security | 硬编码的 `database_query` 工具名称 — 检测质量差 | 不适用 — 检测逻辑有缺陷 | | 9201070 | skill-download | `registry.npmjs.org` DNS — 在每次 `npm install` 命令时都会触发 | 您的 OpenClaw 主机从不运行 npm | | 9200513 | reverse-shell | 端口 8888 + TLS 握手 — 在 Jupyter Notebook、MAMP、开发服务器上会触发 | 没有开发工具运行在端口 8888 上 | | 9203124 | exploit-detection | 所有 HTTP 响应中的 `[SYSTEM]+exec` — 在技术文档和博客页面上会触发 | 您希望进行积极的 prompt 注入检测 | | 9203482 | threat-intel-ioc | SID:9203124 的重复项 | 同上 | 要重新启用被禁用的规则: ``` cgti rules enable ``` ### 按用例调整指南 **如果您使用 Discord/Slack/Teams 集成:** SID 9201523–9201527 检测发往这些平台的 webhook POST 请求。它们已具备阈值保护(60 秒内 5 次请求)并降低了优先级 (3)。如果您仍然看到太多告警,可以在您的本地规则覆盖中增加阈值: ``` # 示例:将 Discord webhook 阈值提升至 10/60s cgti rules disable 9201524 cgti rules add 'alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"LOCAL - Discord Webhook POST (Tuned)"; flow:established,to_server; http.method; content:"POST"; http.host; content:"discord.com"; http.uri; content:"/api/webhooks/"; threshold:type both, track by_src, count 10, seconds 60; classtype:trojan-activity; priority:3; sid:9900001; rev:1;)' ``` **如果您使用 Telegram Bot API:** SID 9201520–9201522 和 9200070–9200071 检测 Telegram Bot API 调用。它们具有阈值保护(60 秒内 3–15 次请求)。如果您的 bot 发起频繁的 API 调用,请考虑提高阈值或降低优先级。 **如果您运行加密货币交易机器人:** SID:9202333(交易所提现 API 调用)已被设置为优先级 :3 并带有 `false_positive High` 元数据。它检测发往交易所 API(Binance、Coinbase 等)且 URI 中包含 `withdraw/transfer/send` 的 POST 请求。如果您运行自动化交易,此规则将生成信息性告警。您可以禁用它: ``` cgti rules disable 9202333 ``` **如果您运行 MCP 服务器(文件系统、数据库、自定义工具):** 四个 MCP 规则已被默认禁用(9202610, 9202614, 9202615, 9202662)。其余的 24 个 MCP 规则专门用于检测外部访问、SSRF 和凭证泄露 — 它们不应在正常的本地 MCP 使用中触发。 **如果您使用 glot.io、file.io 或其他代码/文件共享服务:** 这些服务被攻击者使用,但也被合法的开发人员使用。这些规则使用了阈值保护和降低了的优先级: - glot.io HTTP (SID:9201000):优先级 2 - glot.io DNS (SID:9203908):阈值 60 秒内 3 次查询 - file.io (SID:9201544):优先级 2 - gofile.io (SID:9201547):优先级 3 如果您经常使用这些服务,可以提高阈值或禁用特定的 SID。 **如果您远程访问您的网关(Tailscale、Cloudflare Tunnel、局域网):** `oc-gateway-exposure.rules` 和 `oc-websocket-attack.rules` 中的规则旨在检测对端口 18789 的外部访问。如果您有意通过 VPN 或隧道暴露您的网关,这些规则将会触发。这是设计使然 — 这些规则将暴露本身作为策略违规进行告警。您可以: - 降低网关暴露规则的优先级:`cgti rules disable 9202000`,然后以优先级 :3 重新添加 - 或者将您的隧道 IP 范围添加到 `suricata.yaml` 中的 `$HOME_NET`,以便将其视为内部网络 ### 已知的误报场景 这些是在合法使用期间活跃规则可能会生成告警的已记录场景。所有这些场景都已经在当前的优先级/阈值水平下进行了评估和接受: | 场景 | 规则 | 优先级 | 可接受的原因 | |---|---|---|---| | `curl \| bash` 安装脚本(Homebrew、nvm 等) | SID:9201021 | 2 | 特定组合:curl UA + 响应体中的 `#!/bin/` shebang。在开发设置中很常见,但也正是 ClawHavoc 的投递技术。 | | 通过 curl 下载 GitHub 原始 `.sh` 脚本 | SID:9201041 | 2 | 匹配 `raw.githubusercontent.com` + curl UA + `.sh` 扩展名。误报元数据设置为 Medium。 | | Mach-O 二进制文件下载(Homebrew、合法的 macOS 应用) | SID:9200023 | 2 | 匹配 HTTP 响应中的 `\|ca fe ba be\|` 魔术字节。在任何通用 Mach-O 二进制文件下载时都会触发。 | | 通过 curl 下载 `.dmg`(合法的 macOS 安装程序) | SID:9200021, 9200029, 9200030 | 2 | 专门针对 `.dmg` 扩展名 + curl UA。Ledger/Trezor 规则还会检查非官方域名。 | | IP 地理位置 查询(ipinfo.io、ip-api.com) | SID:9200090–92, 9201620–23 | 3 | 非浏览器 UA + IP 查询服务。优先级 3(信息性)。许多合法脚本会检查公共 IP。 | | GitHub Gist 创建 | SID:9201551 | 3 | `api.github.com/gists` POST。优先级 3,误报:Medium。创建 Gists 的开发人员会触发此规则。 | | Pastebin API 粘贴创建 | SID:9201550 | 1 | POST 请求体中包含特定的 `api_option=paste`。误报率极低 — 大多数用户不会以编程方式向 Pastebin API 发送 POST 请求。 | | 网关端口 18789 上的自签名 TLS 证书 | SID:9204415 | 2 | 在使用自签名证书的非本地连接上触发。在使用 `wss://` 的开发/测试环境中很常见。 | ### 报告误报 如果您遇到上述未列出的误报,请报告它,以便我们为所有人改进规则集: 1. **识别 SID** — 在 `cgti logs` 或 `cgti live` 中检查告警详情 2. **暂时禁用** — 使用 `cgti rules disable ` 停止告警 3. **提交一个 GitHub Issue**,包含以下内容: - SID 号码和完整的告警信息 - 触发该告警的合法活动 - 您的 OpenClaw 版本和平台 - 您是否使用了集成(Discord、Telegram、MCP、加密货币交易等) 所有误报报告都将被审查,并可能在下一版本中导致阈值调整、优先级更改或规则被禁用。 ## Suricata 配置 所有 13 个规则文件均可直接在标准的 Suricata 安装下开箱即用。以下两项可选配置可增强覆盖率: ### JA3 指纹识别(推荐) Vidar 窃密木马的 JA3 检测 (SID 9204416) 要此配置。请将其添加到 `suricata.yaml` 中: ``` app-layer: protocols: tls: ja3-fingerprints: yes ``` ### DNS 服务器变量 未经授权的 DNS 解析器检测 (SID 9203923) 需要此配置。在执行 `cgti install` 时,系统会自动使用公共解析器进行配置: ``` vars: address-groups: DNS_SERVERS: "[8.8.8.8, 8.8.4.4, 1.1.1.1, 1.0.0.1]" ``` 要使用您自己的 DNS 服务器,请使用 `config set` 命令 — 这将立即更新 CGTI 配置**以及** `suricata.yaml`: ``` cgti config set suricata.dns_servers "9.9.9.9,149.112.112.112" ``` ### 标准变量 所有规则均使用标准的 Suricata 变量(默认已定义): ``` vars: address-groups: HOME_NET: "[192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12]" EXTERNAL_NET: "!$HOME_NET" ``` ## 配置文件位置 | 操作系统 | 配置路径 | |---|---| | Linux | `/etc/cgti-lite/config.json` | | macOS | `~/Library/Application Support/cgti-lite/config.json` | | Windows | `%APPDATA%\cgti-lite\config.json` | ## 防火墙集成 `cgti blocked add` 会应用操作系统原生的防火墙规则: | 操作系统 | 方法 | |---|---| | Linux | `iptables -I INPUT -s -j DROP` + `iptables -I OUTPUT -d -j DROP` | | macOS | 带有持久化文件(`/etc/cgti_blocked_ips`)的 `pfctl` 表 | | Windows | `netsh advfirewall firewall` 规则 | 所有防火墙操作都包含 IP 验证,以防止注入攻击。Linux 上的 IPS 模式使用 `iptables` NFQUEUE,在失败时会自动回滚。 ## 系统要求 - **Python 3.8+** - **[rich](https://github.com/Textualize/rich) ≥ 13.0.0** — 首次运行时自动安装 - **Suricata 6.0+** — IDS/IPS 引擎 ### 安装 Suricata | 操作系统 | 命令 | |---|---| | Ubuntu/Debian | `sudo apt install suricata` | | CentOS/RHEL | `sudo yum install suricata` | | Arch Linux | `sudo pacman -S suricata` | | macOS | `brew install suricata` | | Windows | [下载 MSI](https://suricata.io/download/) 或运行 `cgti install` | ## 测试 ``` python -m pytest test_cgti.py -v ``` 该测试套件包含 33 项测试,涵盖 IP 验证、内存安全的日志读取、规则切换完整性、配置验证、IPS drop 规则生成、NFQ 配置和日志轮转。 ## 调试模式 ``` CGTI_DEBUG=1 cgti status ``` ## 贡献指南 欢迎贡献。感兴趣的领域包括: - **新检测规则** — 请遵循下面的 SID 分配方案 - **平台测试** — 额外的 Linux 发行版、macOS 版本、Windows 配置 - **IoC 更新** — 监控每个规则文件头部中列出的来源以获取新指标 - **Bug 报告** — 提交一个包含 `cgti status` 输出和相关日志的 issue ### SID 分配 添加新规则时,请在每个类别的分配范围内使用 SID: | 类别 | SID 范围 | 当前最大值 | |---|---|---| | Infostealer C2 | 9200001–9200499 | 9200123 | | Reverse Shell | 9200500–9200799 | 9200651 | | WebSocket Attack | 9200800–9200999 | 9200905 | | Malicious Skill Download | 9201000–9201499 | 9201113 | | Data Exfiltration | 9201500–9201999 | 9201631 | | Gateway Exposure | 9202000–9202299 | 9202091 | | Cryptostealer Activity | 9202300–9202599 | 9202381 | | MCP Security | 9202600–9202899 | 9202662 | | Exploit CVE (base) | 9202900–9203049 | 9203012 | | Exploit Detection (extended) | 9203050–9203399 | 9203139 | | Threat Intel IOC | 9203400–9203899 | 9203483 | | DNS Threat Detection | 9203900–9204399 | 9203924 | | TLS/Certificate Anomaly | 9204400–9204999 | 9204419 | ### 规则元数据标准 每条规则必须包含以下元数据字段: ``` msg:"CGTI-OC "; classtype:; priority:<1|2|3>; reference:,; metadata:; sid:; rev:; ``` ## 许可证 本项目基于 **GNU Affero General Public License v3.0 only (AGPL-3.0-only)** 授权。 ``` Copyright (C) 2026 Selim Şentürk This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3. ``` 完整许可证文本请参见 [LICENSE.txt](LICENSE.txt)。 ## 致谢 ### 威胁情报来源 检测规则基于以下机构的研究和指标构建: - [Koi Security](https://koi.ai) — ClawHavoc 活动发现(1,184+ 个恶意技能) - [Huntress](https://huntress.com) — 通过 ChatGPT/Grok 分析发现的 AMOS 窃密木马、GhostSocks/OpenClaw 活动 - [Bitdefender Labs](https://businessinsights.bitdefender.com) — 针对企业网络的 AMOS 技术咨询 - [Darktrace](https://darktrace.com) — 跨越 24 个国家的 Atomic Stealer 调查 - [Trend Micro](https://trendmicro.com) — AMOS 分布分析,Vidar 2.0 研究 - [Ontinue](https://ontinue.com) — Vidar Stealer 2.0 逆向工程 - [DepthFirst Security](https://depthfirst.com) — CVE-2026-25253 原始发现及杀伤链分析 - [Oasis Security](https://oasis.security) — ClawJacked 漏洞披露 - [Bitsight TRACE](https://bitsight.com) — 暴露的 MCP 服务器研究,OpenClaw 实例扫描 - [Corelight](https://corelight.com) — React2Shell Suricata 检测模式 - [Endor Labs](https://endorlabs.com) — 多个 OpenClaw CVE 发现 - [SentinelOne VDB](https://sentinelone.com) — 漏洞数据库条目 - [VulnCheck](https://vulncheck.com) — 咨询公告 - [Hunt.io](https://hunt.io) — 17,470+ 个暴露实例的证书分析 - [Hudson Rock](https://hudsonrock.com) — OpenClaw 凭证暴露研究 - [Moonlock Lab](https://moonlock.com) — AMOS 后门 macOS 分析 - [JFrog Security Research](https://research.jfrog.com) — GhostClaw/GhostLoader RAT 活动的发现与分析 - [abuse.ch SSLBL](https://sslbl.abuse.ch) — JA3 指纹数据库 - [adibirzu/openclaw-security-monitor](https://github.com/adibirzu/openclaw-security-monitor) — 精选的 IoC 数据库 - [MITRE ATT&CK](https://attack.mitre.org) — 技术分类框架

CGTI Lite for OpenClaw — 社区版
CloudGo Threat Intelligence 项目的一部分

标签:AMOS Stealer, C2通信检测, CISA项目, Claude, CVE检测, DNS 反向解析, GhostLoader, IDS/IPS, IP 地址批量处理, Metaprompt, Python, RAT, Suricata, 信息窃取程序, 入侵检测系统, 命令与控制, 威胁情报, 安全事件响应, 安全数据湖, 开发者工具, 开源安全工具, 数据渗出防护, 无后门, 现代安全运营, 社区版, 网络安全, 网络流量分析, 规则管理, 远程访问木马, 逆向工具, 逆向工程平台, 防火墙集成, 隐私保护