XoanOuteiro/clacks
GitHub: XoanOuteiro/clacks
一个用于漏洞跨分类体系映射的 CLI 工具,支持在 CWE、OWASP、VRT 等多个权威分类法之间生成一致的分层标签并保留分类歧义。
Stars: 0 | Forks: 0
# clacks
该工具旨在让 VASS 分析师和分类人员能够同时根据多种指标对漏洞进行分类,同时保持歧义、不确定性和细微差别的显性化,而不是将其隐藏。
## Slugs(分层标签)
该工具的主要用途是生成 *slugs*:分层标签(在存在层级结构时),以一种一致、可查询的形式跨多个指标描述漏洞。
示例:搜索 `sqli` 可能会生成如下 slugs:
- Clacks slug:
- `clacks/injection/server_side/sqli`
- `clacks/injection/server_side/sqli/blind/time_based`
- CWE slug(在可用时分层):
- `cwe/view-699/CWE-74/CWE-89`
- VRT slug(始终分层):
- `bugcrowd/vrt/server_side_injection.sql_injection.blind`
- OWASP Top 10 slug(桶级):
- `owasp/top10/2021/A03`
- `owasp/api/2023/API03`
如果一个指标具有层级结构,则会输出完整的层级(不仅仅是叶节点)。如果一个指标对于该概念没有有意义的层级结构,则仅输出相关节点。
单个发现可能会跨指标生成多个 slugs。
## 组件
该项目由三个主要部分组成:
### Authority(权威源)
权威来源(如 MITRE ATT&CK、OWASP Top 10(Web 和 API)、Bugcrowd VRT 和 CWE)的上游、只读 JSON 导出。
这些数据集被视为参考资料,除格式规范化和索引外,不做修改。
### Crosswalk(交叉引用)
一个有主见、人工管理的层,用于关联权威指标并表达实用的漏洞分类法。
Crosswalk:
- 允许分类法之间的多对多映射
- 明确记录置信度和模糊映射的备注
- 保留相互竞争的解释,而不是强制单一分类
- 在额外的实践特异性有用时,扩展超越权威分类法
Crosswalk 直接表示为文件系统层级结构。代表一个概念的每个目录都包含一个 `concept.json` 文件。
#### Specifiers(说明符)
某些路径包含保留子目录,用于限定漏洞而不是定义新漏洞:
- `_scenarios`
- `_techniques`
- `_conditions`
- `_vectors`
- `_constraints`
这些命名空间下的概念是说明符。它们不是独立的漏洞,但可以应用于漏洞以捕获上下文,例如利用技术、攻击向量、约束或场景。
### clacks.rs
一个 CLI 工具,使用本地 Authority 和 Crosswalk 数据,允许分析师浏览、搜索和提取分层标签及映射。
所有查询均在本地针对检出的仓库执行。
## 生成的索引
某些文件夹包含 CLI 用于提供快速和确定性查找的生成索引文件(例如,别名解析)。
这些文件是派生产物,不打算手动编辑。人工贡献应集中在 Crosswalk 概念文件上。
## 免责声明
特定领域(例如 Web Security)的初始 Crosswalk 覆盖范围是部分生成的,然后在实际的分类审查工作中不断进行审查和更正。
映射不是绝对的,可能会随时间变化,并且可能是错误的。歧义被有意保留,而不是强制归入单一的“正确”分类。
欢迎贡献和更正。
标签:Bugcrowd, GPT, Homebrew安装, JSON, OWASP Top 10, Ruby, TLS抓取, VASS, VRT, 分类搜索引擎, 分类法, 可视化界面, 威胁建模, 安全运营, 层级标签, 扫描框架, 数据关联, 数据展示, 漏洞分类, 漏洞管理, 知识库, 红队, 跨分类映射, 软件安全, 黄金证书