adrianjamesblackwell/obsidian-protocol
GitHub: adrianjamesblackwell/obsidian-protocol
证据驱动的紫队检测工程与安全推理平台,在隔离实验室中复现真实 CVE 攻击链,通过 17 个模块与 Blackwell Core 推理层实现从攻击模拟到决策建议的全流程自动化。
Stars: 0 | Forks: 0
OBSIDIAN PROTOCOL
证据驱动的安全推理平台
作者:Adrian James Blackwell · github.com/adrianjamesblackwell
## 仪表盘预览
该平台附带其自包含的交互式 HTML 仪表盘
(`reports/obsidian_protocol_report.html`) —— 无需服务器,无需外部
依赖,只需一个文件。下方的 **Overview**(概览)选项卡是
直接从本 README 中展示的实际 pipeline 运行结果实时
渲染的:
该仪表盘有七个选项卡(Overview、Findings、Detection、Risk &
Intel、Engineering、Root Cause、Artifacts),并包含一个完全
可交互、可拖拽、可缩放的真实 Blackwell
Evidence Graph 渲染 —— 每个图表都连接到相同的底层 JSON,而不是
静态图像。请参阅 [`examples/sample_report.html`](examples/sample_report.html)
无需运行任何东西即可自行打开完整的仪表盘。
相同的 pipeline 还会生成一份可直接打印、多页的 PDF
操作报告(`reports/obsidian_protocol_report.pdf`):
## 本项目解决什么问题?
OBSIDIAN PROTOCOL 不是一个仅限于利用单一 CVE
链的实验室 —— 它是一个平台,利用该链条产生的数据来
模拟 SOC 团队每天实际面临的操作问题。该平台的输出
绝不是简单的日志记录、Sigma
匹配或 IOC。它是一个**基于证据的安全
建议** —— 一个附带支持性推理且可追溯的结论,由
下文描述的 **Blackwell Core** 推理层
生成,该层建立在 17 个模块之上,每个模块都对应
一个有据可查的行业命名问题:
| 现实世界的问题 | OBSIDIAN 模块 | 它回答的问题 |
|---|---|---|
| 警报疲劳(每天 20K–200K+ 警报,90%+ FP) | **CORRELATION ENGINE / BCA** | 这 6 个警报实际上是不是同一个操作? |
| “我们不知道我们实际能捕捉到什么” | **COVERAGE HEATMAP** | 我们对哪些 MITRE 战术具有真正的可见性? |
| 编写 Sigma 规则很容易;编写一个*好*规则却很难 | **RULE QUALITY** | 这条规则的 FP 风险、性能开销、覆盖范围是什么? |
| IOC 很快就会失去价值 | **IOC DECAY** | 我们还能信任这个 IOC 吗? |
| “我们缺少哪个日志源?” | **TELEMETRY GAP** | 哪个 MITRE 战术对我们来说是盲点? |
| 红队质量很难衡量 | **EMULATION SCORE** | 这个模拟是真实的,还是仅仅比较简单? |
| “攻击是如何进展的?”(仅限表格) | **RISK GRAPH** | 从互联网到数据库的真实路径是什么? |
| 发现了 IOC,但没人知道为什么发生 | **ROOT CAUSE** | 根本原因是什么,我们该如何预防? |
| 事件发生后,“什么时候发生了什么”不清楚 | **ATTACK REPLAY** | 攻击是如何逐分钟展开的? |
| CEO 不看 Sigma 规则 | **EXECUTIVE REPORT / DECISION ENGINE** | 风险级别、影响、行动 —— 集中在一页上 |
| 结论无法追溯到其证据 | **BLACKWELL EVIDENCE GRAPH** | 为什么系统相信这一点? |
| 置信度只是一个脆弱的单一维度 | **BLACKWELL CONFIDENCE ENGINE** | 究竟有多少佐证支持这一点? |
| 严重性和紧迫性被混为一谈 | **BLACKWELL EVIDENCE RANKING** | 分析师应该首先查看什么? |
## Blackwell Core:推理层
[`blackwell-core/`](blackwell-core/) 是一个研究级别的推理
层,位于下方 17 个模块的 pipeline **之上** —— 它
不会替换或分支其中的任何内容。每个遗留模块仍然可以
完全独立运行。Blackwell Core 的工作是将现有
模块的输出转化为一个单一、可查询、可审计的证据
结构,并生成决策而不是仪表盘。
| # | 组件 | 功能描述 |
|---|---|---|
| 1 | **Blackwell Evidence Graph (BEG)** | 基础结构。一个由声明(而非实体)及其之间的证据关系组成的类型化图 —— `SUPPORTS`、`CONTRADICTS`、`CAUSES` 等。 |
| 2 | **Blackwell Correlation Algorithm (BCA) v1.0** | `correlation-engine/correlate.py` 的正式规范化、原生图替代方案 |
| 3 | **Blackwell Risk Score (BRS) v1.0** | `risk-engine` 复合风险公式的正式化、图集成版本 |
| 4 | **Blackwell Confidence Engine (BCE)** | 连续的、多信号置信度 —— 佐证、来源多样性、模式强度、矛盾惩罚 |
| 5 | **Blackwell Knowledge Graph (BKG)** | 实体关系视图,作为 BEG 的纯粹投影派生而来 —— 绝不作为第二个事实来源 |
| 6 | **Blackwell Temporal Reasoning (BTR)** | 事件时间线内的节奏分类和异常间隙检测 |
| 7 | **Blackwell Evidence Ranking (BER)** | “分析师应该首先查看什么” —— 这是一个与置信度不同的问题,特意将其中的置信度项反转 |
| 8 | **Blackwell Attack Path Prediction (BAPP)** | 基于已记录的 ATT&CK 战术转换的结构性下一步假设 —— 明确**不包含**对手预测 |
| 9 | **Blackwell Decision Engine (BDE)** | 将上述所有模块汇集到一个优先级行动列表中,并由相同的底层决策对象生成技术简报和执行简报 |
有关完整的架构和运行顺序,请参阅
[`blackwell-core/README.md`](blackwell-core/README.md);有关
实际测量了什么以及特意**未**
声明什么,请参阅 [`blackwell-core/benchmark/README.md`](blackwell-core/benchmark/README.md)。
完整的研究报告位于
[`docs/whitepaper/`](docs/whitepaper/)。
## 操作摘要
在隔离环境中重现了来自 CISA KEV 目录的真实 CVE 链(Apache RCE → PwnKit 本地
权限提升),并在
17 个模块的平台中自动化了该操作的**整个生命周期** —— 攻击、遥测、
关联、检测验证、风险评分、根本原因分析、
情报共享和执行报告。
| # | 模块 | 功能 |
|---|---|---|
| 1 | **VECTOR-I / VECTOR-II** | 攻击链 —— 利用基础设施与执行 |
| 2 | **TELEMETRY** | 混合数据收集(auditd + eBPF + Apache log)和时间线构建 |
| 3 | **CORRELATION ENGINE** | 将原始事件分组为事件,减少警报量 |
| 4 | **PURPLE TEAM** | 攻击 -> 检测 -> 验证自动化,检测覆盖率 |
| 5 | **RISK ENGINE** | 复合风险评分(CVSS + KEV + 活动 + 防御差距) |
| 6 | **COVERAGE HEATMAP** | 可视化的基于 MITRE 战术的覆盖图 |
| 7 | **TELEMETRY GAP** | 根据 MITRE 影响确定缺失日志源的优先级 |
| 8 | **RULE QUALITY** | 对 Sigma 规则进行 FP/性能/覆盖范围分析 |
| 9 | **IOC DECAY** | 根据年限/频率/来源数量对 IOC 进行置信度评分 |
| 10 | **ROOT CAUSE** | 从 CVE 到根本原因(补丁策略、配置、WAF)的因果链 |
| 11 | **EMULATION SCORE** | 红队行动的多样性/真实性/噪声评分 |
| 12 | **RISK GRAPH** | 互联网->数据库攻击路径可视化(Mermaid) |
| 13 | **ATTACK REPLAY** | 带有证据时间戳的逐分钟攻击回放 |
| 14 | **SIGINT** | 威胁情报 —— 使用 NVD/KEV/CISA 数据进行活动分析 |
| 15 | **WARDEN** | 检测工程 —— Sigma/YARA 规则,MITRE 映射 |
| 16 | **INTEL EXPORT** | 符合 STIX 2.1 + TAXII 2.1 标准的 IOC 导出 |
| 17 | **REPORTING** | ATT&CK Navigator,HTML/PDF 报告,执行摘要 |
## 面试简报(3-4句话)
## 系统架构
详细图表:[`docs/architecture.mermaid`](docs/architecture.mermaid)
```
OPERATOR --VECTOR-I/II--> TARGET-49 --> root
|
v
TELEMETRY (hybrid: auditd+eBPF+Apache)
|
v
CORRELATION ENGINE (alert reduction)
|
+------------+------------+--------------+-------------+
v v v v v
PURPLE TEAM SIGINT WARDEN TELEMETRY GAP RULE QUALITY
(coverage) (campaign) (Sigma/YARA) (log gaps) (rule quality)
| | | | |
+------------+------------+--------------+-------------+
|
v
RISK ENGINE (composite score)
|
+------------+------------+--------------+-------------+
v v v v v
ROOT CAUSE RISK GRAPH IOC DECAY EMULATION SCORE ATTACK REPLAY
|
v
INTEL EXPORT (STIX/TAXII) + ATT&CK NAVIGATOR
|
v
REPORTING (HTML + PDF + Executive Summary)
|
v
============================================
BLACKWELL CORE (reasoning layer)
============================================
EVIDENCE GRAPH <- ingests all module outputs
|
v
BCA -> BRS -> CONFIDENCE ENGINE -> KNOWLEDGE GRAPH
|
v
TEMPORAL REASONING -> EVIDENCE RANKING -> ATTACK PATH PREDICTION
|
v
DECISION ENGINE -> technical briefing + executive briefing
```
## 攻击向量
| 向量 | CVE | 组件 | 类型 | CVSS | KEV 状态 |
|---|---|---|---|---|---|
| **VECTOR-I** | CVE-2021-41773 / CVE-2021-42013 | Apache HTTPD 2.4.49 | 路径遍历 → RCE | 9.8 | ✅ 正在被 AndroxGh0st 僵尸网络主动扫描 |
| **VECTOR-II** | CVE-2021-4034 ("PwnKit") | polkit/pkexec | 本地权限提升 | 7.8 | ✅ 13 年未被发现,于 2022 年被添加到 KEV |
完整操作叙述:[`docs/walkthrough.md`](docs/walkthrough.md)
可衡量的指标、限制、未来工作:[`docs/research-findings.md`](docs/research-findings.md)
## 部署(一条命令)
```
git clone
cd obsidian-protocol
./setup.sh
```
## 端到端运行
```
# 1. 启动范围
./setup.sh
# 2. 按照文档 docs/walkthrough.md 利用 VECTOR-I/II
# (记录每个步骤的时间 -> purple-team/attack_log_template.json)
# 3. 收集遥测数据
python3 telemetry/build_timeline.py --live
# 4. 告警关联(Alert Fatigue 解决方案)
python3 correlation-engine/correlate.py
# 5. Purple Team 验证
python3 purple-team/validate.py purple-team/attack_log_template.json
# 6. 威胁情报
python3 threat-intel/fetch_cve_intel.py CVE-2021-41773 CVE-2021-42013 CVE-2021-4034
# 7. STIX/TAXII 导出
python3 intel-export/stix_export.py
# 8. 使用单个命令生成所有分析引擎 + 报告
python3 reporting/generate_all_reports.py
# 9. 在上述所有内容之上运行 Blackwell Core 推理层
python3 blackwell-core/evidence-graph/evidence_graph.py
python3 blackwell-core/correlation-bca/bca.py
python3 blackwell-core/risk-score-brs/brs.py
python3 blackwell-core/confidence-engine/confidence_engine.py
python3 blackwell-core/knowledge-graph/knowledge_graph.py
python3 blackwell-core/temporal-reasoning/temporal_reasoning.py
python3 blackwell-core/evidence-ranking/evidence_ranking.py
python3 blackwell-core/attack-path-prediction/attack_path_prediction.py
python3 blackwell-core/decision-engine/decision_engine.py
```
`reporting/generate_all_reports.py` 运行 Risk Engine、Coverage
Heatmap、Telemetry Gap、Rule Quality、IOC Decay、Root Cause、Emulation
Score、Risk Graph、Attack Replay、ATT&CK Navigator、Executive Report、
HTML 和 PDF 报告,**全部按顺序执行,只需一条命令**。
每个模块都有自己的 `README.md`;请参阅 [`examples/`](examples/) 获取
示例输出(无需运行任何东西即可查看系统产生的内容)。
## 目录结构
```
obsidian-protocol/
├── setup.sh # One-command deployment + validation
├── docker-compose.yml # Isolated range definition
├── docker/ # TARGET-49 + OPERATOR images
├── telemetry/ # Hybrid auditd+eBPF+Apache log collection
├── correlation-engine/ # Alert Fatigue: event -> incident grouping
├── purple-team/ # Attack<->detection matching, Detection Coverage
├── risk-engine/ # Composite risk scoring
├── coverage-heatmap/ # MITRE tactic-based visual coverage
├── telemetry-gap/ # Missing log source analysis
├── rule-quality/ # Sigma rule quality analysis
├── ioc-decay/ # IOC confidence/decay engine
├── root-cause/ # CVE -> root cause chain
├── emulation-score/ # Red team quality score
├── risk-graph/ # Attack path graph (Mermaid)
├── attack-replay/ # Timestamped attack replay
├── threat-intel/ # SIGINT: NVD + CISA KEV + campaign data
├── detection/ # WARDEN: Sigma/YARA rules
├── intel-export/ # STIX 2.1 + TAXII 2.1
├── reporting/ # Navigator + HTML/PDF + Executive Report
│ └── executive/ # CEO-level summary
├── blackwell-core/ # Evidence-driven reasoning layer (see above)
│ ├── evidence-graph/ # BEG — the substrate
│ ├── correlation-bca/ # BCA v1.0
│ ├── risk-score-brs/ # BRS v1.0
│ ├── confidence-engine/ # BCE
│ ├── knowledge-graph/ # BKG
│ ├── temporal-reasoning/ # BTR
│ ├── evidence-ranking/ # BER
│ ├── attack-path-prediction/ # BAPP
│ ├── decision-engine/ # BDE — synthesis + dual-audience reports
│ └── benchmark/ # Validation framework
├── scripts/ # Exploit code written by the operator
├── reports/ # Generated report output
├── examples/ # Sample output (committed reference)
└── docs/
├── walkthrough.md # Operation log
├── threat-intelligence.md # SIGINT analysis
├── research-findings.md # Metrics, limitations, future work
├── analysis.md # Operator assessment template
├── architecture.mermaid # System architecture
├── coverage-heatmap.md # Coverage Heatmap output (Markdown)
├── telemetry-gap-analysis.md # Telemetry Gap output (Markdown)
├── risk-graph.mermaid # Risk Graph visual
├── detection-coverage-matrix.md # ATT&CK coverage table
└── whitepaper/ # Full research write-up
```
## 模块详情
每个模块都有自己的 README,包含其公式/格式说明
和已知限制:
- [`telemetry/README.md`](telemetry/README.md) — 混合架构,为什么将 auditd+eBPF 结合使用
- [`correlation-engine/README.md`](correlation-engine/README.md) — 警报缩减算法,置信度评分
- [`purple-team/README.md`](purple-team/README.md) — 匹配算法,MTTD 计算
- [`risk-engine/README.md`](risk-engine/README.md) — 复合风险公式,权重逻辑
- [`coverage-heatmap/README.md`](coverage-heatmap/README.md) — MITRE 战术覆盖方法论
- [`telemetry-gap/README.md`](telemetry-gap/README.md) — 日志源优先级逻辑
- [`rule-quality/README.md`](rule-quality/README.md) — FP/性能/覆盖率评分
- [`ioc-decay/README.md`](ioc-decay/README.md) — 基于半衰期的衰减模型
- [`root-cause/README.md`](root-cause/README.md) — 因果链推理逻辑
- [`emulation-score/README.md`](emulation-score/README.md) — 多样性/噪声/覆盖率评分
- [`risk-graph/README.md`](risk-graph/README.md) — 真实与假设攻击路径的区别
- [`attack-replay/README.md`](attack-replay/README.md) — 带时间戳的回放格式
- [`detection/README.md`](detection/README.md) — auditd 设置,MITRE 映射,补丁表
- [`intel-export/README.md`](intel-export/README.md) — STIX 对象类型,TAXII endpoint
- [`reporting/README.md`](reporting/README.md) — 报告链,依赖顺序
- [`scripts/README.md`](scripts/README.md) — 您自己的漏洞利用代码存放位置
- [`docs/walkthrough.md`](docs/walkthrough.md) — 完整的引导式操作日志(从侦察到 root)
- [`docs/threat-intelligence.md`](docs/threat-intelligence.md) — 真实活动数据(AndroxGh0st,PwnKit 13 年的时间线)
- [`docs/analysis.md`](docs/analysis.md) — 操作员评估模板(CVSS 对比现实世界的经验)
- [`docs/research-findings.md`](docs/research-findings.md) — 指标、限制、未来工作、经验教训
- [`blackwell-core/README.md`](blackwell-core/README.md) — 推理层的完整架构
## 报告生成
| 命令 | 产出内容 |
---|---|
| `python3 reporting/generate_html_report.py` | 自包含的交互式 HTML 仪表盘,带有实时渲染的 Evidence Graph |
| `python3 reporting/generate_pdf_report.py` | 可直接打印、多页的 PDF 报告(封面、目录、包含完整 Blackwell Core 分解的 14 个部分) |
| `python3 reporting/executive/executive_report.py` | 一页纸的 CEO 级别执行摘要(Markdown + JSON) |
| `python3 reporting/navigator/generate_navigator_layer.py` | ATT&CK Navigator 层 + Markdown 覆盖矩阵 |
| `python3 reporting/generate_all_reports.py` | 端到端运行整个 23 步的 pipeline(包含上述所有模块,按依赖顺序执行) |
所有四种报告格式均由完全相同的
`reporting/collect_report_data.py` 上下文对象生成,因此 PDF、
HTML 仪表盘和执行摘要之间绝不会出现
彼此不一致的情况。
## 免责声明
OBSIDIAN PROTOCOL 是一个出于教育目的重现已知、已修补 CVE 的平台,
**仅在隔离的 Docker 环境中部署**。未对任何
真实或第三方系统进行扫描、利用或未经授权的访问
尝试。此处展示的技术只能应用于您拥有或获得书面授权
进行测试的系统。
Adrian James Blackwell
github.com/adrianjamesblackwell
OBSIDIAN PROTOCOL 是由 Blackwell Intelligence 开发的一个独立研究和作品集项目。
标签:Docker镜像, Docker靶场, Python, Web报告查看器, 威胁情报, 安全推理, 开发者工具, 无后门, 紫队, 请求拦截