sai-teja-girimaji/soc-blind-spot-auditor
GitHub: sai-teja-girimaji/soc-blind-spot-auditor
一款命令行审计工具,通过映射资产清单和 SIEM 日志源来发现 MITRE ATT&CK 检测覆盖盲区。
Stars: 0 | Forks: 0
# SOC 盲点审计工具
**发现因 SIEM 日志源摄入缺失或不完整而导致的危险 MITRE ATT&CK 技术盲点。**
## 为什么开发这款工具
大多数 SOC 都面临着一个隐蔽但致命的问题:**日志源接入缺失**。您可能在 EDR、网络检测和 SIEM 规则上投入了大量资金,但由于所需的遥测数据从未被接入或仅部分传输,攻击者的某些行为类别仍然完全不可见。
SOC 盲点审计工具通过以下方式解决这个问题:
1. 获取您的权威资产清单
2. 获取您当前的 SIEM 源清单和摄入健康状况
3. 将两者与完整的 MITRE ATT&CK Enterprise 技术列表(在线或离线)进行映射
4. 生成一份**按风险优先级排序的报告**,详细列出检测覆盖率为零或部分的每一项技术
它将“我们是否存在盲区?”这种抽象的问题,转化为一份可操作且适合提交给管理层的清单。
## 安装
### 从源码安装(目前推荐)
```
git clone https://github.com/sai-teja-girimaji/soc-blind-spot-auditor.git
cd soc-blind-spot-auditor
# 创建 virtual environment(需要 Python 3.10+)
python3.12 -m venv .venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
pip install -r requirements.txt
pip install -e .
```
### 验证
```
soc-auditor version
```
## 使用示例数据快速入门
```
# 1. 生成逼真的 demo 文件
soc-auditor sample
# 2. 运行 audit(实时 MITRE 数据)
soc-auditor scan --assets assets.csv --sources siem_sources.csv
# 3. Offline 模式(无网络,非常适合 air-gapped 或 demos)
soc-auditor scan --assets assets.csv --sources siem_sources.csv --offline
# 4. 生成精美的交互式 HTML 报告
soc-auditor scan --assets assets.csv --sources siem_sources.csv --output html --offline
# 然后在你的 browser 中打开 soc-audit-*/blind_spot_report.html
```
## 输入文件格式参考
### assets.csv(必需)
| 列名 | 描述 | 示例 |
|--------------|------------------------------------------|--------------------------|
| asset_id | 唯一标识符 | A001 |
| hostname | 资产名称 | dc01.corp.local |
| asset_type | server, endpoint, network, cloud, iot, saas | server |
| criticality | critical, high, medium, low | critical |
| os | 操作系统 / 平台 | Windows Server 2022 |
| location | 物理位置或云区域 | HQ / AWS-AP-SOUTH |
### siem_sources.csv(必需)
| 列名 | 描述 | 示例 |
|-------------------------|--------------------------------------------------|--------------------------|
| source_id | 唯一源标识符 | S001 |
| source_name | 易读的名称 | Windows Security Events |
| log_type | 用于映射的类别(支持灵活别名) | endpoint, identity_provider, edr, email_gateway... |
| ingestion_status | ingested, partial, not_ingested | ingested |
| event_volume_baseline | 预期的每日事件数(可选) | 45000 |
| last_seen | 最后一次成功摄入的 ISO 日期(可选) | 2026-05-27 |
## CLI 参考
```
# 带 filters 的完整扫描
soc-auditor scan \
--assets inventory.csv \
--sources siem_inventory.csv \
--min-risk 65 \
--tactic "Initial Access" \
--status blind_spot \
--output html \
--output-dir ./reports
# 其他 commands
soc-auditor sample --force # regenerate sample files
soc-auditor version
```
## 终端输出示例(Rich)
```
╭─────────────────────────────────────────────────────────────────────────────╮
│ SOC Blind Spot Audit Report │
│ Total techniques analysed: 27 │
│ Blind spots: 18 (critical: 3, high: 7) │
│ Partial coverage: 4 │
│ Fully covered: 5 │
│ Overall coverage score: 19% │
╰─────────────────────────────────────────────────────────────────────────────╯
┏━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━┓
┃ TECHNIQUE ┃ TECHNIQUE NAME ┃ TACTIC ┃ SEVERITY ┃ STATUS ┃ MISSING SOURCES ┃ RISK ┃
┡━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━┩
│ T1003 │ OS Credential Dumping │ Credential Access │ CRITICAL │ BLIND SPOT │ endpoint, server, edr │ 92 │
│ T1190 │ Exploit Public-Facing Application │ Initial Access │ CRITICAL │ BLIND SPOT │ network, waf, cloud │ 88 │
│ T1486 │ Data Encrypted for Impact │ Impact │ CRITICAL │ BLIND SPOT │ endpoint, server, backup │ 84 │
│ T1078 │ Valid Accounts │ Persistence │ HIGH │ BLIND SPOT │ server, endpoint, ... │ 76 │
│ T1566 │ Phishing │ Initial Access │ HIGH │ BLIND SPOT │ email_gateway, endpoint │ 72 │
│ ... │ ... │ ... │ ... │ ... │ ... │ ... │
└────────────┴──────────────────────────────────────┴───────────────────┴──────────┴──────────────┴────────────────────────────┴──────┘
```
颜色图例:**红色** = blind_spot,**黄色** = partial,**绿色** = covered。
## HTML 报告功能
- 完全独立的单一文件(Tailwind + 原生 JS)
- 支持按战术 (tactic)、严重程度、状态和全文搜索进行即时客户端过滤
- 风险颜色条和状态标签
- 适合领导层和审计展示的专业深色主题
## 局限性与路线图
**当前局限性**
- 依赖于您 SIEM 清单中准确的 `log_type` 分类(别名匹配会有所帮助)
- 实时获取技术的严重程度使用启发式算法 + 已知的关键项
- 尚未对特定检测规则或分析内容进行建模 —— 仅考虑日志源的存在
受影响资产的计数采用启发式方法(保持良好的 asset_type 卫生有助于改善此问题)
**计划中的增强功能**
- 添加对自定义“技术 → 日志源”映射文件(YAML/JSON)的支持
- 与 Splunk、Sentinel、Elastic、Chronicle API 集成,以实现实时源发现
- 规则覆盖率深度链接(例如,“您有数据源,但触发了 0 个分析”)
- 两次审计运行之间的趋势差异对比
- PDF 导出和 Slack/Teams webhook 输出
## 作者与许可
**Sai Teja Girimaji**
能力主管 – 网络安全,NTT DATA
- GitHub: https://github.com/sai-teja-girimaji/soc-blind-spot-auditor
- 在 X 上的深度解析配套文章:*(链接占位符 —— 待发布)*
MIT License © 2026 Sai Teja Girimaji
标签:ATT&CK覆盖率, SIEM审计, 多模态安全, 安全运营, 扫描框架, 数据可视化, 文档结构分析, 逆向工具