# OAK — 链上攻击知识库
OAK 是一个开放、供应商中立的对手**战术**和**技术**知识库,记录了针对链上资产(代币、流动性、托管,以及与它们交互的钱包和协议)观察到的攻击手段。其威胁面与传统 IT 信息安全有着根本性的不同:公共账本终局性、匿名对手、以资金获取及洗钱为主要目标、智能合约代码作为攻击面,且没有可修补的终端。OAK 的存在是因为加密领域需要专为加密威胁模型量身定制的词汇,而不是从其他领域借用。
这是 **v0.1 — 供社区评论的草案。** 其覆盖范围包含 14 种战术和 62 种技术,主要偏向于在 [`mg-detectors-rs`](https://github.com/MeatGrinder-MG/mg-detectors-rs) 中至少有一个生产参考实现的技术。空白之处均如实记录,绝不掩饰。
## OAK 存在的原因
链上攻击者会重复使用一小部分有限的战术,但安全、研究和链上监控社区缺乏描述这些战术的通用词汇。调查人员、供应商和风险团队各自使用不同的术语;不同产品的覆盖范围声明无法横向比较;学术研究成果也很少能直接转化为实际防御操作。
OAK 提供了一个稳定的标识符系统(战术为 `OAK-Tn`,技术为 `OAK-Tn.NNN`),以便:
- 调查人员可以明确无误地归因其发现。
- 供应商可以将其检测器映射到特定的技术,并发布真实的覆盖矩阵。
- 风险团队可以明确采购要求(“必须覆盖 OAK-T5.001 和 OAK-T5.003”)。
- 研究人员可以引用稳定的参考,而无需在每篇论文中重新定义术语。
## 范围 (v0.1)
- **14 种战术** — 操作员行为杀伤链 (T1-T8) + T9 智能合约漏洞利用 + T10 跨链与跨链桥 + T11 托管与签名基础设施 + T12 NFT 特有模式 + T13 账户抽象攻击 + T14 验证者/质押/再质押攻击。
- 横跨 14 种战术的 **62 种技术**,每种均包含描述、观察指标、检测信号、真实案例、参考实现、缓解措施及引文。
- [`mitigations/`](./mitigations/) 中的**缓解措施维度** — 40 个稳定的缓解标识符 (`OAK-MNN`),涵盖五大类别:**检测** (M01-M07:源字节码验证、部署前静态分析、持续字节码差异监控、资金方图谱聚类、权限图谱枚举、内存池/预区块遥测、跨链归因图谱;M39 跨协议观察者网络);**架构** (M09-M17:TWAP+多源预言机、CEI+ReentrancyGuard、速率限制、重放绑定、长挑战窗口、多证明者冗余、门限签名、部署前审计、时间锁治理;M34 紧急暂停;M38 时间窗口提款限额);**运营** (M18-M22, M37, M40:带外目的地验证、离线签名、供应商违规通知 SLA、反钓鱼培训、披露后轮换、HSM/MPC 托管、供应链包完整性);**场所** (M23-M28:审计证明注册表、上线时门槛、洗盘交易率指标、旅行规则、代币解锁日历;M36 储备证明审计);**钱包用户体验** (M08, M29-M31:单授权方审批审计、全地址验证、单 dApp 白名单、EIP-712 许可展示);外加**资金追回** (M32-M35:漏洞赏金计划、去中心化保险、默认暂停、白帽救援协调)。每种缓解措施与各项技术之间是多对多的映射关系,因此供应商或风险团队可以将采购要求指定为覆盖矩阵,而不是内联列表。
- [`software/`](./software/) 中的**软件维度** — 40 个稳定的软件标识符 (`OAK-SNN`),涵盖威胁行为者使用的具名工具、套件和恶意软件家族。Drainer 套件 (S01-S07:Inferno, Angel, Pink, Monkey, Venom, Vanilla, Chick);DPRK macOS 恶意软件家族 (S08-S11, S19-S22, S29-S30:TraderTraitor, AppleJeus, Manuscrypt, 3CX 木马, KandyKorn, RustBucket, SwiftLoader, ObjCShellz, BeaverTail npm 供应链, InvisibleFerret);DPRK 持久化后门 (S12 JADESNOW, S31 TigerRAT, S32 AppleSeed);勒索软件二进制文件 (S23 LockBit, S24 BlackCat/ALPHV, S25 Maui, S26 Conti, S27 Black Basta, S28 Royal/BlackSuit, S33 Akira, S34 RansomHub, S35 BlackByte, S36 Karakurt 纯勒索套件);通用加载器 + 后渗透工具 (S15 AsyncRAT, S37 Cobalt Strike, S38 IcedID/Pikabot, S39 DanaBot, S40 Qakbot/Pinkslipbot);通用信息窃取器 (S13 RedLine, S14 Lumma);加密特定工具 (S16 Profanity, S17 jaredfromsubway.eth, S18 Pump.fun bundlers)。
- [`data-sources/`](./data-sources/) 中的**数据源维度** — 12 个稳定的数据源标识符 (`OAK-DS-NN`),涵盖链上遥测、内存池/预区块遥测和链下 CTI 情报源。允许防御者将“我需要什么遥测数据才能在整个框架中进行检测”作为一个单独的维度进行聚合。
- [`GLOSSARY.md`](./GLOSSARY.md) 中的**词汇表** — 对 OAK 内容中反复出现的词汇提供防御者视角的定义。
- [`actors/`](./actors/) 中的**威胁行为者维度** — 18 个稳定的组织标识符 (`OAK-Gnn`),并带有明确的归因强度说明。**DPRK 集群** (G01 Lazarus / TraderTraitor;G04 IT 工作者安置计划;G07 APT43 / Kimsuky;G08 BlueNoroff macOS 金融目标子集群;G09 Andariel 勒索软件/ICS 子集群)。**俄罗斯网络犯罪生态系统** (G03 Garantex / Grinex / A7A5 洗钱基础设施;G05 LockBit RaaS;G06 Evil Corp;G10 ALPHV/BlackCat;G11 Black Basta;G14 Cl0p / FIN11;G15 RansomHub;G16 Akira;G17 BlackByte;G18 Karakurt 纯勒索)。**Drainer 即服务** (G02)。**受经济利益驱动的伊朗行为者** (G13:MuddyWater + Charming Kitten + Pioneer Kitten 联合体)。**附属集体** (G12 Scattered Spider / UNC3944)。
- [`examples/`](./examples/) 中涵盖 **2011–2025** 年的 **142 个详细案例** — 涵盖整个参考时期的每起事件和操作员资料详细报告。2017 年前的基础性案例 (Mt. Gox 2014, Cryptsy 2014, MintPal 2014, Bitstamp 2015, BTER 2015, Bitfinex 2016, The DAO 2016, Parity Multisig 2017, BitGrail 2018, Coinrail 2018, Coincheck 2018, Bancor 2018, Cryptopia 2019, DragonEx 2019, Upbit 2019, Plus Token Ponzi 2019)。DeFi 时代的主要案例 (bZx 2020, Lendf.me 2020, KuCoin 2020, Harvest Finance 2020, Akropolis 2020, Origin Dollar 2020, Cred 2020, EasyFi 2021, Spartan Protocol 2021, PancakeBunny 2021, Iron Finance 2021, THORChain 2021, Poly Network 2021, Compound 2021, Vee Finance 2021, AnubisDAO 2021, Cream Finance 2021, SQUID 2021, BadgerDAO 2021, Qubit Bridge 2022, Meter Bridge 2022, Wormhole 2022, Ronin Bridge 2022, Cashio 2022, Beanstalk 2022, Saddle 2022, Inverse 2022, Harmony Horizon 2022, Audius 2022, Crema 2022, Nirvana 2022, Curve DNS 2022, Yuga Otherside 2022, Slope/Phantom 2022, Wintermute 2022, Mango Markets 2022, BSC Token Hub 2022, Ankr 2022, Nomad 2022, Optifi 2022, Frosties NFT 2022 + arrests, BAYC Discord 2022, Premint 2022, Pixelmon 2022)。2023 年浪潮 (Euler 2023, Atomic Wallet 2023, BonqDAO 2023, Platypus 2023, Yearn V2 2023, Hope Finance 2023, ParaSpace 2023, Sentiment 2023, Allbridge 2023, Hundred Finance 2023, Tornado Cash governance 2023, Curve Vyper 2023, Multichain 2023, jaredfromsubway 2023, Cypher 2023, Steadefi 2023, Balancer V2 2023, CoinEx 2023, Stake.com 2023, Mixin Network 2023, MEV-Boost equivocation 2023, Poloniex 2023, KyberSwap 2023, HTX/HECO 2023, SafeMoon SEC 2023, Galxe DNS 2023, Ledger Connect Kit 2023)。2024 年浪潮 (Orbit Bridge 2024, Concentric 2024, FixedFloat 2024, BitForex 2024, Munchables 2024, WOOFi 2024, Prisma 2024, Curio DAO 2024, Hedgey 2024, Pike Finance 2024, address-poisoning $68M 2024, DMM Bitcoin 2024, Gala Games 2024, Sonne 2024, EigenLayer restaking 2024, Bittensor 2024 + cohort, UwU Lend 2024, Velocore 2024, Holograph 2024, Loopring 2024, Li.Fi 2024, Compound vote takeover 2024, WazirX 2024, Ronin rescue 2024, Nexera 2024, DeltaPrime 2024, Indodax 2024, Banana Gun 2024, Penpie 2024, Onyx 2024, Radiant Capital 2024, Inferno Drainer handover 2024, Tapioca 2024, Thala 2024, CoinStats Snap 2024, DEXX cohort 2024, Wintermute-Profanity cohort 2022)。2025 年浪潮 (Phemex 2025, Bybit 2025 + THORChain laundering aftermath, ZKLend 2025, Infini 2025, 1inch resolver 2025, ZKsync airdrop 2025, KiloEx 2025, Loopscale 2025, ERC-4337 paymaster 2025, Cetus 2025, Resupply 2025, GMX V1 2025)。
- [`citations.bib`](./citations.bib) 中的 **964 条引文** — 仅包含学术、联邦法院、监管和行业取证来源;未链接任何活跃的攻击者基础设施。每个条目都有一个 v0.1 审核状态:`verified` / `verified-with-caveat`(通过标准浏览器可公开访问,对非浏览器 HTTP 客户端返回 401-403)/ `url-not-pinned`(规范 URL 待贡献者清理)/ `url-broken`(残留)。政府权威来源(CISA AAs, OFAC, DOJ, FBI, HHS, 外国政府联合公告,法庭记录)已验证。发布前通过 `tools/verify_citations.py` 完成了批量 URL 审核;0 个条目处于 `pending verification` 状态。
- [`tools/oak-stix.json`](./tools/oak-stix.json) 中的 **STIX 2.1 导出** — 完整的 STIX 2.1 包(601 个对象:14 个战术 + 62 个攻击模式 + 40 个应对方案 + 28 个恶意软件 + 12 个工具 + 18 个入侵集合 + 12 个数据源 + 415 个关系对象),用于与 TIP、SIEM 和威胁情报平台互操作。通过 `python tools/export_stix.py` 从 Markdown 源文件经由 `tools/oak.json` 重新生成。
- 由 `python tools/export_json.py 输出到 [`tools/oak.json`](./tools/oak.json) 中的 **416 个机器可读关系** — 缓解措施→技术 (`mitigates`),软件→技术 (`uses`),组织→软件 (`uses`)。关系图允许供应商和风险团队以编程方式查询 OAK:“由 M01 缓解的所有技术”、“由 G01 使用的所有软件”、“使用 S08 的所有组织”。
- [`CROSSWALK.md`](./CROSSWALK.md) 中的 **OAK ↔ OWASP SC Top 10 交叉对照** — OAK 技术与 OWASP 智能合约 Top 10 (2026) 类别之间的显式映射表。记录了它们的正交性(OAK = 操作员行为,OWASP = 合约漏洞)以及在 T9 智能合约漏洞利用 + T1.003 代理安全上的直接重叠。
- [`COVERAGE.md`](./COVERAGE.md) 中的**诚实覆盖矩阵**,针对第一个参考实现进行透明报告。透明报告覆盖率是因为公信力有赖于此。
请参阅 [`tactics/`](./tactics/)、[`techniques/`](./techniques/) 和 [`actors/`](./actors/) 以获取规范内容。战术 × 技术分类法的机器可读导出位于 [`tools/oak.json`](./tools/oak.json),由 `python tools/export_json.py` 从 Markdown 源文件重新生成。
## 网站 MVP
OAK 包含一个 Vite + React 静态网站原型,将分类体系渲染为加密原生的攻击矩阵,同时将 Markdown 语料库保留为事实来源。
```
npm install
npm run dev
npm run build
```
`npm run site:data` 会在站点启动或构建之前,从 Markdown 源文件重新生成 [`tools/oak.json`](./tools/oak.json) 和 [`src/data/generated.ts`](./src/data/generated.ts)。
该站点是完全静态的:`npm run build` 将一个自包含的 GitHub Pages 工件写入 `dist/`,包括 React 应用、Markdown 语料库、`tools/oak.json`、`.nojekyll` 以及用于 `onchainattack.org` 的自定义域 `CNAME`。[`deploy-pages`](./.github/workflows/deploy-pages.yml) 工作流在每次推送到 `main` 时发布 `dist/`。
## 仓库布局
```
oak/
├── README.md
├── DISCLAIMER.md # legal-positioning disclaimer
├── LICENSE-content # CC-BY-SA 4.0 — applies to tactics/, techniques/, examples/
├── LICENSE-code # MIT — applies to tools/, .github/, scripts
├── CONTRIBUTING.md # PR-based Technique submission process
├── CODE_OF_CONDUCT.md # community norms
├── SECURITY.md # split disclosure policy
├── COVERAGE.md # honest per-Technique coverage matrix
├── TAXONOMY-GAPS.md # what v0.1 deliberately does NOT cover, and why
├── PRIOR-ART.md # positioning vs adjacent frameworks (OWASP SC Top 10, academic SoK)
├── ROADMAP.md # v0.2/v0.5/v1.0 work-item backlog
├── CHANGELOG.md # release history
├── tactics/ # one file per Tactic (T1–T14)
├── techniques/ # one file per Technique (Tn.NNN)
├── actors/ # Threat Actors / Groups (OAK-Gnn)
├── mitigations/ # Mitigations (OAK-MNN) — many-to-many with Techniques
├── software/ # Software / tools / malware (OAK-SNN)
├── data-sources/ # Data Sources (OAK-DS-NN)
├── GLOSSARY.md # defender-perspective vocabulary
├── examples/ # worked case studies (one file per incident)
├── tools/ # JSON export, validators
├── citations.bib # canonical citation database
└── .github/workflows/ # markdown-lint, link-check, citation-format, validate-export
```
## 许可证
OAK 采用双重许可:
- `tactics/`、`techniques/`、`examples/` 和 `citations.bib` 中的**知识内容**采用 [Creative Commons Attribution-ShareAlike 4.0 International (CC-BY-SA 4.0)](./LICENSE-content) 许可。您可以重复使用、改编和重新分发,包括商业用途,前提是您必须注明出处并在相同许可下共享衍生作品。
- `tools/`、`.github/` 和任何脚本中的**工具代码**采用 [MIT License](./LICENSE-code) 许可。
OAK 文字商标和徽标是 OAK 项目维护者的商标;商标申请正在进行中。
## 参考实现
| 实现内容 | 覆盖范围 | 状态 |
|---|---|---|
| [`mg-detectors-rs`](https://github.com/MeatGrinder-MG/mg-detectors-rs) | 第一个 Rust 参考实现;开放核心,Apache 2.0 | 跟踪 v0.1 |
| `mg-onchain-analysis` (商业版) | 最完整的 v0.1 覆盖范围,带有校准阈值和聪明钱管道 | 闭源 |
诚挚邀请其他供应商(GoPlus、RugCheck、Chainalysis、TRM、MetaSleuth 等)发布其各自的 OAK 覆盖范围映射,并通过 PR 提交参考实现条目。
## AI 集成 — `oak-mcp`
[`oak-mcp`](https://github.com/onchainattack/oak-mcp) 是一个 Model Context Protocol 服务器,将 OAK 语料库作为可查询工具暴露给 AI 编码代理(Claude Desktop、Cursor、Cline、Zed 及任何其他支持 MCP 的环境)。通过 `npx` 一键安装;每个版本附带嵌入的快照以供离线使用。
```
{
"mcpServers": {
"oak": { "command": "npx", "args": ["-y", "@onchainattack/oak-mcp"] }
}
}
```
10 个工具:`oak_search`、`oak_get_technique` / `oak_get_tactic` / `oak_get_mitigation` / `oak_get_software`、`oak_find_mitigations_for_technique`、`oak_find_software_for_technique`、`oak_find_relationships`、`oak_list_techniques`、`oak_dataset_info`。有关客户端特定的配置代码段,请参见 `oak-mcp` README。
## 维护者
初始作者和策展人:**Dmytro Chystiakov** ([@iZonex](https://github.com/iZonex))。
到 v0.5 时,将从贡献者社区中邀请联合维护者。
## 真实的范围与先前成果
OAK v0.1 涵盖了完整的操作员行为杀伤链 (T1–T8)、智能合约漏洞利用类 (T9)、跨链及跨链桥类 (T10)、托管与签名基础设施入侵 (T11;即 Bybit 2025 年 2 月、DMM Bitcoin 2024 年 5 月、Radiant Capital 2024 年 9 月等事件背后的链下入口向量)、NFT 特有模式 (T12)、账户抽象攻击 (T13;ERC-4337) 以及验证者/质押/再质押攻击 (T14)。填充了六个维度:战术 × 技术(矩阵)、缓解措施(40 个可重用防御)、软件(40 个具名工具和恶意软件家族)、威胁行为者(18 个具有明确归因强度说明的跟踪操作员集群)、数据源(12 个遥测输入标识符)和关系图(416 条连接它们的机器可读边)。有关剩余的空白清单,请参阅 [`TAXONOMY-GAPS.md`](./TAXONOMY-GAPS.md),有关计划的发展轨迹,请参阅 [`ROADMAP.md`](./ROADMAP.md)。
**关于细分领域。** 加密领域的威胁面并不是传统 IT 信息安全的子集。公共账本的终局性意味着,如果没有操作员层面的行动,丢失的资金将无法追回;对手默认是匿名的,其主要目标是获取资金及洗钱;智能合约是攻击面,且没有可修补的终端;洗钱通道(混币器、跨链桥、隐私链、CEX 充值地址分层、NFT 洗盘交易)本身就是攻击链的一部分。现有的 IT 安全框架描述的是企业网络的对手行为,很难适应这一领域。OAK 是专门为该细分领域构建的。
**关于相关工作。** OAK 的矩阵形态(战术作为列,技术作为单元)是一种成熟的分类结构,在整个安全行业中得到广泛应用。与 OAK 最接近的现有框架是 **OWASP Smart Contract Top 10**,它位于合约漏洞层面,与 OAK 是**互补的**而非重叠的。OAK 仅在 T9(智能合约漏洞利用)与其有直接重叠;OAK 技术与 OWASP SC Top 10 类别之间的 v0.x 交叉对照是计划中的对齐面。有关更广泛的概况(学术 SoK 文献,来自 Chainalysis / TRM Labs / SlowMist / EigenPhi / Elliptic 的行业情报来源),请参见 [`PRIOR-ART.md`](./PRIOR-ART.md)。
## 状态
**v0.1 — 预发布 / 社区草案。** 内容广度已达到一定程度,相较于发布前的验证工作,增加更多详细案例的边际收益正在递减。六个维度已填充完毕,关系图是机器可读的,每个战术支柱都有规范的详细案例锚点,每个主要攻击者类别都已覆盖,批量 URL 审核已完成(0 个条目处于 `pending verification` 状态),并且验证器在解析所有引用的键时均通过。剩余的发布前工作有: 针对 `onchainattack.org` 的 DNS 配置和登录页部署; 通过 `PEER-REVIEW.md` 进行同行评审宣传; OAK ™ 的防御性商标注册。标记的发布版本、公开公告和商标申请将随 v0.1 截止版一同进行。
**当前总计。** 14 种战术 · 62 种技术 · 40 种缓解措施 · 40 个软件 · 18 个威胁行为者 · 12 个数据源 · 142 个详细案例 · 964 条引文 · 416 个关系。
发布说明请参阅 [`CHANGELOG.md`](./CHANGELOG.md)。