abdulrafay-123/rulescope

GitHub: abdulrafay-123/rulescope

RuleScope 是一款开源的 Suricata 规则集智能分析与调优工具,通过规则富化、资产感知相关性评分和配置导出来解决 Suricata 社区长期缺乏规则 UX 的问题。

Stars: 0 | Forks: 0

# RuleScope **为人类打造的开源 Suricata 规则集智能工具。** Suricata 是一款卓越的检测引擎,但几乎没有任何可用的规则用户体验(UX)。IDSTower 在商业层面填补了这一空白,但它并非开源。社区管理员(尤其是在 OPNsense 和原生 Suricata 环境下)依然在反复询问同样的问题: - 这个 SID 实际上检测的是什么? - 它的严重程度如何?是否已经过时? - 它适用于*我的*网络吗? - 我该如何为 `suricata-update` 导出一个合理的 `disable.conf`? RuleScope 负责解答这些问题。 ## 为什么会有这个项目 源自 Suricata / OPNsense 社区的讨论: | 痛点 | Suricata | IDSTower | RuleScope | |------|----------|----------|-----------| | 缺乏上下文的 SID 列表 | — | 付费 UI | 免费,开源 | | 一目了然地查看 CVE / 严重程度 / 平台 | 纯文本 | 是 | 是 | | 具备资产感知的相关性(“适用于我的技术栈吗?”) | 否 | 否 | **是** | | 分析师误报 (FP) 调优 → `disable.conf` / `enable.conf` | 手动 | 专有 | **是** | | 无需 ELK 即可查看 EVE 告警 + 规则上下文 | 否 | 有限 | **是** | | 完全开源 | 仅引擎 | 否 | **是** | RuleScope **无意**取代 Suricata、IDSTower 集群配置或 Scirius/SELKS。它专注于目前缺失的开源层:**规则集理解、相关性分析以及可导出的调优**。 ## 功能 - 将 Suricata / ET 风格的 `.rules` 文件解析为可搜索的目录 - 使用 `msg`、classtype、严重程度、CVE、MITRE 标签、平台、使用时长等信息丰富规则详情 - 根据简单的**资产画像**(OS、服务、角色)评估相关性得分 - 过滤:高严重程度、最新的漏洞利用、无关的噪音、潜在的过时规则 - 浏览关联了规则情报的 EVE JSON 告警 - 为 `suricata-update` 导出 `disable.conf` / `enable.conf` - 本地优先:可选 SQLite,支持基于文件离线运行 - Docker Compose 一行命令启动 ## 快速开始 ``` # Python 3.11+ python -m venv .venv # Windows .venv\Scripts\activate # Linux/macOS # source .venv/bin/activate pip install -e ".[dev]" rulescope serve --host 127.0.0.1 --port 8080 ``` 打开 http://127.0.0.1:8080 或者使用 Docker: ``` docker compose up --build ``` ## CLI ``` # Catalog 摘要 rulescope analyze samples/rules/demo.rules --profile samples/profiles/homelab.json # Relevance 报告 (JSON) rulescope analyze samples/rules/demo.rules --profile samples/profiles/homelab.json -o report.json # 导出禁用候选项(低 relevance / 噪声) rulescope export-disable samples/rules/demo.rules --profile samples/profiles/homelab.json -o disable.conf # 在更新后对比两个 ruleset rulescope diff old.rules new.rules -o diff.json # 将大型 ruleset 索引到 SQLite 中,然后进行查询 rulescope index samples/rules/demo.rules --profile samples/profiles/homelab.json --db rulescope.db rulescope query --db rulescope.db --q CVE --relevance high # 关联 EVE 告警 rulescope eve samples/eve/eve-alerts.json --rules samples/rules/demo.rules ``` ## 资产画像示例 ``` { "name": "homelab", "platforms": ["linux", "windows"], "services": ["http", "dns", "ssh", "smb"], "roles": ["perimeter", "internal"], "exclude_platforms": ["ios", "android", "scada"] } ``` ## 架构 ``` rulescope/ parser.py # Suricata rule lexer/parser enrich.py # CVE, MITRE, severity, age, platforms relevance.py # asset-profile scoring eve.py # EVE JSON alert join export.py # suricata-update conf export api.py # FastAPI + static UI cli.py # Typer CLI ``` ## 社区空白(研究笔记) 请参阅 [docs/RESEARCH.md](docs/RESEARCH.md) 获取论坛引言与竞品分析。 ## 许可证 MIT — 随意使用、fork,并与 Suricata 社区共同改进它。 ## 贡献 欢迎提交 Issue 和 PR。优先关注的领域: 1. 通过规则正文实现更好的平台推断 2. Emerging Threats / 开放规则集的批量导入 3. 完善的 MITRE ATT&CK 映射 4. OPNsense 导出辅助工具
标签:Suricata, 威胁情报, 开发者工具, 现代安全运营, 网络安全, 规则管理, 请求拦截, 资产关联, 逆向工具, 隐私保护