Kjean13/rulescope

GitHub: Kjean13/rulescope

RuleScope 是一个针对 Sigma 检测目录的治理引擎,提供语义去重、弱点评分及 CI 质量门控功能,用于确保检测规则库的整洁性与有效性。

Stars: 0 | Forks: 0

# RuleScope [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/7ce8cd6c5b011138.svg)](https://github.com/Kjean13/rulescope/actions/workflows/ci.yml) [![Python](https://img.shields.io/badge/python-3.10%20|%203.11%20|%203.12%20|%203.13-blue)](https://pypi.org/project/rulescope/) [![License: MIT](https://img.shields.io/badge/license-MIT-green)](LICENSE) [![Coverage](https://img.shields.io/badge/coverage-90%25%2B-brightgreen)](https://github.com/Kjean13/rulescope/actions) **RuleScope** 是一个用于 Sigma 和检测目录的治理 CLI。 它的构建旨在回答合并或发布前的一个实际问题:**该目录是否依然干净、具有选择性、文档齐全且操作安全?** 此次 **v1.0.0** 版本专注于现实世界的蓝队治理:语义重复检测、意图感知的弱点评分、经验生命周期校准、确定性输出以及 CI 就绪的打包。 ![RuleScope console](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/2b52da6e4b011139.png) ## 定位 RuleScope **不是** Sigma 转换器、SIEM 或检测执行引擎。 它是围绕检测内容构建的质量控制层: - 审计目录健康状况 - 解释弱规则 - 比较基线与候选包 - 在 CI 中阻断发布 - 导出治理报告和 ATT&CK 覆盖视图 这使其对**检测工程**、**内容审查**、**目录维护**和**发布治理**非常有用。 ## 功能 - **扫描**规则包,并从元数据、噪音、结构、ATT&CK 映射、可维护性、弱点和文档等方面对质量进行评分 - 使用结构化事件表面相似性而非词法 YAML 相似性来**检测语义重复** - **解释**规则为何薄弱,并提供优先的修复指导 - **比较**基线与候选包,并发现语义回归 - 以 HTML、Markdown、JSON 或 SARIF 格式**报告** - 使用确定性的质量预算**阻断** pull request 和发布 - **显示维护者热点**,以便在目录层面优先处理技术债务 - **导出 ATT&CK Navigator 层**以进行覆盖可视化 - **对大型目录进行基准测试**,并保持吞吐量可衡量 - 在编辑期间**监视**规则或文件夹,并在更改时重新扫描 ## 现实世界用例 ### 1. Sigma 仓库的合并前质量门控 团队在发布前更新了检测包。RuleScope 将候选包与基线进行比较,标记语义泛化、选择器丢失、ATT&CK 覆盖漂移和嘈杂逻辑,如果质量下降则阻止合并。 ### 2. 数月增长后的目录清理 内容仓库已增长到数百或数千条规则。RuleScope 发现重复集群、重叠、弱元数据以及最弱的规则,以便维护者无需手动阅读所有内容即可减少债务。 ### 3. 针对小型 SOC 或培训实验室的检测审查 分析师希望了解规则为何脆弱。RuleScope 解释最弱的规则并提供优先建议,建议下一步更改以使检测更具选择性和生产就绪性。 ## 核心命令 ``` rulescope scan ./rules --top-issues 10 rulescope explain ./rules --all --max-rules 5 rulescope compare ./baseline ./candidate --fail-on-regression rulescope report ./rules -o rulescope_report.html rulescope maintainers ./rules rulescope navigator ./rules -o coverage_layer.json rulescope ci ./rules --min-score 70 rulescope benchmark ./rules -o benchmark.md ``` ![RuleScope scan](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/a6ca221fb1011140.png) ## 快速开始 ``` python3 -m venv .venv source .venv/bin/activate pip install -e . rulescope scan ./examples/rules --top-issues 5 ``` 用于开发: ``` pip install -e "[dev]" python -m pytest -q ruff check rulescope tests python -m build ``` ## HTML 报告 ``` rulescope report ./rules -o report.html ``` ![RuleScope HTML report](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/889e8b2069011141.png) ## GitHub Action ``` - name: RuleScope quality gate uses: Kjean13/rulescope@v1 with: target: rules/ min-score: "70" fail-on-regression: "true" format: sarif output: rulescope-report.sarif - name: Upload SARIF uses: github/codeql-action/upload-sarif@v3 with: sarif_file: rulescope-report.sarif ``` 完整配置参考:[docs/GITHUB_ACTIONS_PR_GATE.md](docs/GITHUB_ACTIONS_PR_GATE.md)。 ## 语言支持 RuleScope 的 CLI 输出和报告支持**英语和法语**。 ``` rulescope --lang fr scan ./rules rulescope explain ./rules --lang fr rulescope report ./rules --lang fr -o report.html ``` ## 演示数据集 - `examples/rules/` — 最小的快速入门包 - `datasets/medium_realistic/` — 用于扫描、报告和基准测试演示的更丰富的种子包 - `datasets/regression_demo/` — 用于比较和 CI 测试的基线与候选固件 ## 支持矩阵 在 Python 3.10 至 3.13 上测试。 ## 许可证 MIT
标签:ATT&CK覆盖, Python, SARIF, SIEM规则, 安全运营, 开源框架, 扫描框架, 持续集成, 无后门, 治理, 漏洞评分, 规则管理, 规则评估, 语义去重, 质量门禁, 逆向工具