adrianjamesblackwell/obsidian-protocol

GitHub: adrianjamesblackwell/obsidian-protocol

证据驱动的紫队检测工程与安全推理平台,在隔离实验室中复现真实 CVE 攻击链,通过 17 个模块与 Blackwell Core 推理层实现从攻击模拟到决策建议的全流程自动化。

Stars: 0 | Forks: 0

Blackwell Intelligence

OBSIDIAN PROTOCOL

证据驱动的安全推理平台

作者:Adrian James Blackwell · github.com/adrianjamesblackwell

Python 3.12 License Status Modules

MITRE ATT&CK STIX 2.1 TAXII 2.1 Sigma rules YARA rules

## 仪表盘预览 该平台附带其自包含的交互式 HTML 仪表盘 (`reports/obsidian_protocol_report.html`) —— 无需服务器,无需外部 依赖,只需一个文件。下方的 **Overview**(概览)选项卡是 直接从本 README 中展示的实际 pipeline 运行结果实时 渲染的:

OBSIDIAN PROTOCOL — interactive HTML dashboard, Overview tab

该仪表盘有七个选项卡(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 — PDF report cover page OBSIDIAN PROTOCOL — PDF report, Risk Scoring section

## 本项目解决什么问题? 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 环境中部署**。未对任何 真实或第三方系统进行扫描、利用或未经授权的访问 尝试。此处展示的技术只能应用于您拥有或获得书面授权 进行测试的系统。

Blackwell Intelligence

Adrian James Blackwell
github.com/adrianjamesblackwell

OBSIDIAN PROTOCOL 是由 Blackwell Intelligence 开发的一个独立研究和作品集项目。

标签:Docker镜像, Docker靶场, Python, Web报告查看器, 威胁情报, 安全推理, 开发者工具, 无后门, 紫队, 请求拦截