daguwar/merge_attck_layers
GitHub: daguwar/merge_attck_layers
将多个 MITRE ATT&CK layer JSON 文件合并为单个统一视图的命令行脚本。
Stars: 0 | Forks: 0
# ATT&CK Layer 合并工具
本仓库包含 `merge.py`,这是一个用于将多个 MITRE ATT&CK layer JSON 文件合并为单个统一 layer 的脚本。
## 功能
- 合并任意数量的 ATT&CK layer JSON 文件
- 通过选择最高分数来统一技术分数
- 对技术进行去重(每个技术 ID 对应一个条目,移除 tactic 字段)
- 合并 metadata 条目并去除完全重复的项
- 可选地启用所有技术
- 通过 CLI 配置 layer 名称、描述、输出路径、默认分数、渐变设置和 ATT&CK 版本
- 输出带有换行符的美化 JSON
## 环境要求
- Python 3
- 已安装 `mitreattack` 包
## 使用方法
```
python merge.py layer1.json layer2.json -o merged_layers.json
```
### 参数
- `input_files` - 一个或多个要合并的 ATT&CK layer JSON 文件
- `-o`, `--output` - 合并后的 layer JSON 文件的输出路径
- `--name` - 合并后 layer 的名称
- `--description` - 合并后 layer 的描述
- `--default-score` - 当技术没有分数时应用的默认分数
- `--disable-enable` - 不在合并后的 layer 中启用所有技术
- `--min-value` - 最小渐变值
- `--max-value` - 最大渐变值
- `--colors` - 用于合并后 layer 的渐变颜色
- `--attack-version` - 合并后 layer 的 ATT&CK 版本(默认值:19)
## 示例
```
python merge.py lager_1.json lager_4.json -o merged_layers.json \
--name "Harmonized merged layer" \
--description "Merge of multiple sources with harmonized scores and metadata" \
--default-score 0 \
--min-value 0 \
--max-value 5 \
--colors "#ffffffff" "#ffe166ff" "#a9ff66ff" "#8ec843ff"
```
## 注意事项
- 该脚本从命令行读取输入文件,而不是使用硬编码的路径。
- 输出文件以 JSON 格式写入,可由 ATT&CK layer 查看器加载。
标签:ATT&CK Navigator, Blue Teaming, Cloudflare, JSON处理, mitreattack库, MITRE ATT&CK, Mutation, PB级数据处理, Python, Red Teaming, 可视化, 威胁建模, 威胁情报, 安全运维, 开发者工具, 恶意样本开发, 数据合并, 无后门, 网络安全, 隐私保护