OAK — OnChain Attack Knowledge

Document

Changelog

Upgrade path
rewrite OAK-T12.004 → OAK-T16.006 and OAK-T12.005 → OAK-T16.001 in coverage maps, detector configs, and any stored classifications. No content is lost in either move.

All notable changes to OAK are documented here. The format follows Keep a Changelog and OAK's versioning is independent of any calendar cadence — minor versions ship when content reaches a coherent next state, not on a fixed schedule.

[0.8.0] — 2026-09-07 — first content line since going out of draft

The first release entry since 0.7.0. Content between 2026-06-24 and 2026-09-07 landed commit-by-commit without a CHANGELOG record; this entry backfills it, because one of those changes was a deprecation whose upgrade path consumers had no documented way to find (VERSIONING.md § Backwards-compatible deprecation, step 3). Nothing here is breaking: no OAK ID was renamed or removed, and the two deprecated IDs remain resolvable.

Snapshot counts at 0.8: 17 Tactics · 154 Techniques · 153 detection specs · 20 Threat Actors · 48 Mitigations · 41 Software · 13 Data Sources · 693 worked examples · 1555 bibtex entries. Content snapshot snapshot/2026-09-07.

Deprecated — read this first if you consume OAK IDs

Two IDs were deprecated on 2026-07-17. Both are retained, resolvable, and not reused; removal is deferred to the next schema major, per VERSIONING.md. The IDs were misfiled under T12 (NFT-Specific Patterns), which does not reach a governance-layer concern.

Deprecated ID Read instead Why
OAK-T12.004 — Timelock-Free Protocol Upgrade Execution OAK-T16.006 — Timelock-Free Governance Execution Misfiled parent. Content moved to T16 (Governance / Voting Manipulation) intact, apart from the parent, renamed self-references, and one dangling-reference fix.
OAK-T12.005 — Flash-Loan Governance Vote Manipulation OAK-T16.001 — Vote Takeover via Flash-Loan Duplicate and misfiled. Same mechanism as T16.001, overlapping alias sets, both anchored on Beanstalk (2022-04) — one Technique under two IDs splitting a single example population. Its two additional anchors (Fortress Protocol, Elephant Money) were carried across.

Added — Techniques (146 → 154)

  • OAK-T5.009 — Physical-Coercion Extraction ("wrench attack"). Anchored at the 2025-01 Ledger co-founder kidnapping. Detection signals and detection spec added later in the line.
  • OAK-T9.015 — Degenerate-Input Signature-Verification Bypass. Anchored at 2026-07 Bonzo Lend / Supra on-demand oracle verifier (~$9.05M, Hedera), where an all-zero signature field against a zero-point public-key reference satisfied the pairing equation trivially. Preserves the distinction OAK cares about: application-layer check missing (T10.002) vs cryptographic primitive returning true on degenerate input (T9.015) — different owners, different audit scopes, different fixes.
  • OAK-T10.002.001 — Off-chain Observer Source-Event Forgery (sub-Technique of T10.002), promoted to emerging.
  • OAK-T10.009 — Cross-Chain Token Configuration-Role Capture. Promotion also corrected two mappings it exposed.
  • OAK-T12.006 — NFT-Collateral Lending Manipulation (XCarnival 2022-06, Omni Protocol 2022-07), OAK-T12.007 — Mint-Outcome Reroll / Revert-Until-Rare (Meebits 2021-05), and OAK-T12.008 — Hybrid Fungible / Non-Fungible Accounting Divergence (Flooring Protocol 2026-06) — wave one of the 2026 Q3 focus quarter on T12 NFT-fi. Scope is deliberately NFT-fi rather than the 2021–2022 marketplace surfaces; see RESEARCH-CADENCE.md.
  • OAK-T16.006 — Timelock-Free Governance Execution. Receives the content of the deprecated T12.004.

Added — Mitigations (43 → 48)

  • OAK-M44 seed-phrase-disclosure refusal · OAK-M45 inbound-contact refusal · OAK-M46 small-test-withdrawal invariant · OAK-M47 first-party acquisition · OAK-M48 unsolicited-code quarantine (shipped with a T15.001 detection rewrite).
  • The Mitigations axis gained a retail-user audience and a user-behavioural class. Most of OAK's mitigation catalogue addresses protocol operators; M44–M47 are the first written for the person holding the keys.

Changed — per-item maturity

  • OAK-T9.014 (Protocol-Client Consensus Bug): emergingstable (2026-09-07). Promotion basis is the VERSIONING.md bar of ≥ 3 anchored worked examples plus multi-vendor agreement, read as in the T11.004 precedent — multi-source attestation of the forensic chain rather than the existence of a runtime detector. Anchors: Bitcoin 2010 value overflow (CVE-2010-5139), Zcash Orchard 2026-06 disclosure, and the 2026-09 Liquid Network unbacked L-BTC peg-out (~$320M), the second full-exploit anchor and the first outside Bitcoin Core. No rename, no scope change. Recorded with the caveat that stable describes the settled class definition and not a mature detection surface: T9.014 still has no runtime reference implementation and carries an explicit coverage gap.

Added — worked examples (642 → 693)

Fifty-one incidents across monthly sweeps (late June, July, August in two passes, and 2026-08-24 → 09-07), plus backfills: Nobitex 2025, WEMIX 2025-02, the T11.004 entropy-collapse cohort (Coldcard, Milk Sad, Ill Bloom, with the CryptoJS root cause added later), SecondFi Cardano, and the Tangem / Ledger Donjon physical-access disclosures.

Fixed — corrections to published content

A knowledge base's corrections are part of its record, so they are listed rather than folded away.

  • Fabricated-fixture sweep. Commit c28e744 had introduced example mechanisms that no source supported; the sweep audited its descendants, found 1 fabrication among 10 live entries, and deleted the affected Uniswap-frontend case. The diagnostic tell is recorded for future review: single-incident-shaped, sourceless, hypothetical mechanism.
  • Figure corrections. Spektor $6.5M → ~$16M (Brooklyn DA indictment added as primary source). QuadrigaCX restated to 26,500 BTC owed / 104 BTC in cold wallets per the EY monitor. Two $300M+ figures that had collapsed into a single line separated. One unsupported mechanism claim on the $282M case withdrawn; the Malone Lam name corrected; a corrupted 65-hex-character transaction hash fixed.
  • Structural integrity. tools/check_tags.py added, and 38 examples that declared no resolvable Technique were fixed. Repo-wide tactic-name sweep surfaced a misfiled Technique pair. TAXONOMY-AUDIT.md findings B (attribution-strength contradictions) and C (two mislabelled-mechanism pairs) resolved. Four redundant duplicate examples removed and the remainder recorded as open findings.

Changed — exports and tooling (consumer-facing)

  • tools/oak.json now carries the worked-example corpus. Until 2026-08-27 the export emitted taxonomy only, so the incident corpus — the largest thing OAK has — was not published to downstream consumers at all. examples, groups, and data_sources are now top-level keys. Additive: no existing key changed shape, so consumers pinned to the prior schema continue to resolve, and anyone who concluded OAK had no machine-readable example data should re-pull.
  • tools/build_backlog.py no longer routes contributors to anchor deprecated Techniques.
  • Site: every route is pre-rendered so the corpus is indexable without JavaScript; 12 missing routes published; sitemap and Bing verification added.
  • LICENSE-content synced with README; contributor licensing grant added. Audit-competition findings (Code4rena / Sherlock) evaluated and recorded in PRIOR-ART.md.

Known gaps at 0.8

  • tools/check_coverage.py fails on 30 reverse-drift edges — vendors named in Technique prose that are absent from coverage/manifest.yml. Pre-existing and unrelated to any change above; the documented remedy is tools/sync_coverage.py.
  • schema_version in tools/oak.json is "2" while this history table counts OAK versions in 0.x. The two numbering systems are not reconciled; consumers should pin on schema_version for shape and on the content snapshot tag for content, as VERSIONING.md § How to pin already directs.

[0.7.0] — 2026-06-22 — out of draft

OAK leaves draft status and becomes a released (pre-1.0) knowledge base. tools/oak.json is promoted from a draft schema to a released schema, the public version label moves off 0.1.0-draft, and the first non-draft content snapshot (snapshot/2026-06-22) is cut. This is a status/maturity promotion, not a structural change — no OAK ID was renamed and no field semantics changed, so consumers pinned to the 0.6 schema shape continue to resolve. The taxonomy spine (17 Tactics) is settled and every Tactic, Technique, Threat Actor, Mitigation, Software, Data Source, and sub-Technique is anchored by at least one worked example. The hard ID-stability freeze and the formal "stable taxonomy" commitment remain reserved for v1.0 (see ROADMAP.md): ~52% of Techniques are still emerging per their per-item maturity, which is why this lands at 0.7 and not 1.0.

Snapshot counts at 0.7: 17 Tactics · 146 Techniques (100% detection-spec coverage) · 19 Threat Actors · 43 Mitigations · 41 Software · 12 Data Sources · 642 worked examples · 1555 bibtex entries. All structural gates pass (linkage, backlinks, integrity, specs, citations, markdownlint).

[0.1.0 – 0.6] — initial release line (2026-04 → 2026-06)

The initial release line. v0.1 expanded mid-development from the original "operator-behaviour kill chain only" scope to also include the smart-contract-exploit Tactic (T9) and a Threat Actors axis (actors/), making the framework substantially more useful than a launching point that left the largest classes of public losses unaddressed. Content was complete and self-consistent against the launch criteria; the framework was promoted out of draft at 0.7 (above).

Phase ZA additions — Detection-spec axis at 100% Technique coverage (schema-minor 0.5 → 0.6)

A new specs/ axis lands carrying vendor-neutral, language-agnostic YAML detection specs alongside techniques/. Each spec captures the Technique's detection logic as orthogonal PATH A / PATH B / ... pseudocode plus data_sources, parameters, test_fixtures.{positive,negative}, false_positive_modes, mitigations cross-refs, and reference_implementations (named candidate vendors per chain — labelled aspirational where the link is not yet wired). Schema is declarative detection-rule shape — the closest analogue is Sigma (vendor-neutral YAML detection rules aligned to MITRE ATT&CK), with OAK specs aligned to OAK Techniques the same way. The specs are the primary detection artefact and are language-/runtime-portable; named reference implementations are secondary demos. Per VERSIONING.md this is a schema-minor bump (0.5 → 0.6); existing axes unchanged, the addition is additive.

  • 98 specs / 98 Techniques — 100% coverage across all 17 Tactics. Maturity distribution post-calibration: 36 stable / 21 observed / 37 emerging / 4 draft. The conservative draft floor is held only where the Technique is itself draft and no positive fixture exists yet; the validator (tools/build_specs.py) refuses stable without a positive fixture.
  • New tooling. tools/build_specs.py parses specs/*.yml with required-field validation, technique-ID cross-checks against oak.json, fixture-existence checks against examples/, and a 5-value maturity vocabulary aligned with Phase Z fix 2 (draft / emerging / observed / stable / deprecated). tools/check_specs.py is the per-Tactic coverage validator with --strict / --require-maturity / --json / --gaps-only / --by-tactic modes; wired into npm run site:data as advisory.
  • Embedded snapshot extension. tools/embedded.json (consumed by oak-mcp v0.3+ and the React UI) gains specs, specs_by_technique, and spec_yaml fields. Per-Technique pages on the website now render a DetectionSpecSection block with the spec body, parameters table, and reference-impl candidates note.
  • MCP server v0.3. oak-mcp ships a new oak_get_detection_spec(id, include_yaml?) tool exposing the spec axis to LLM clients; tests at 17/17 (12 prior + 5 new). See oak-mcp/CHANGELOG.md.
  • Pseudocode style convention. All specs use PATH A / PATH B / PATH C ... orthogonal-detection-path naming with consistent emit-shape (emit(PATH_X, ..., severity=...)); parameters carry type + default; mitigations cross-reference the existing OAK-M01..M40 catalogue (no new mitigation IDs introduced by Phase ZA).
  • Reference-implementation labelling. Named vendor targets are listed in reference_implementations with chain qualifier; url: "" indicates an aspirational / not-yet-wired entry rather than a live integration. The UI surfaces this distinction to avoid the false-credibility trap of fabricated URLs.

Validators (build_specs.py, check_specs.py) and npm run site:data pass clean. Schema 0.6 is additive; downstream consumers pinned to 0.5 must update to 0.6 to consume the specs/ axis but no field semantics on prior axes changed.

Phase Z additions — TAXONOMY-AUDIT cheap fixes (schema-minor 0.4 → 0.5)

Additive doc-level fixes from TAXONOMY-AUDIT.md (8 items). Per VERSIONING.md this is a schema-minor bump (0.4 → 0.5). No OAK ID renamed; no worked examples beyond the T11.004 backfill cross-references touched. The fixes resolve the v0.4 audit's "cheap (additive, schema-minor)" action plan; the three "expensive (breaking, schema-major)" items are deferred to v1.0.

  • Fix 1 — T11.004 backfill. New file techniques/T11.004-insufficient-entropy-key-generation.md (Maturity: stable). Anchored at Wintermute / Profanity (September 2022) plus the paired Profanity vanity-address cohort case. The slot was reserved in TAXONOMY-GAPS through v0.1–v0.4; promoted to stable because the forensic chain is multi-source-attested (1inch disclosure, Halborn post-mortem, Cointelegraph cohort tracking) and the structural definition is unambiguous. Worked-example files updated with T11.004 cross-refs: examples/2022-09-wintermute.md (canonical large-institutional anchor) and examples/2022-09-wintermute-profanity-cohort.md (population-scale cohort case). TAXONOMY-GAPS reservation entry trimmed.
  • Fix 2 — Maturity vocabulary widening. VERSIONING.md § "Per-item maturity (controlled vocabulary)" widened from four canonical values to five: stable / emerging / observed / draft / deprecated. The observed value was already in use across ~18 files for single-anchor in-the-wild patterns awaiting cross-vendor agreement; v0.5 canonicalises it. The single developing instance (techniques/T13.002-bundler-mev.md) normalised to emerging.
  • Fix 3 — Phase controlled vocabulary. New file tactics/README.md documents the six canonical phases: Pre-positioning / Pre-launch-Launch / Targeted compromise / Realization / Post-extraction / Cross-cutting. Each Tactic's **Phase:** line normalised to one of the six. T1 → Pre-launch / Launch (style-cased). T2 (Launch) → Pre-launch / Launch. T3 (Launch / growth) → Pre-launch / Launch. T6 (Concurrent with T1–T5) → Cross-cutting. T8 (Cross-incident) → Post-extraction. T9 (Realization (protocol-layer)) → Realization. T10 (Realization (cross-chain infrastructure layer)) → Targeted compromise. T11 (Realization (custody-and-signing-infrastructure layer)) → Targeted compromise. T12 (Realization (NFT-marketplace and collection layer)) → Realization. T13 (Realization (account-abstraction infrastructure layer)) → Targeted compromise. T14 (Realization (consensus and staking-infrastructure layer)) → Targeted compromise. T16 (Holder-state-derived control) → Realization. T17 (Realisation (cross-asset / market-mechanism)) → Realization. T4 / T5 / T7 / T15 already canonical; left unchanged.
  • Fix 4 — Parent Techniques / Adjacent Techniques cross-reference fields. Optional fields documented in tactics/README.md and CONTRIBUTING.md per-Technique template. Applied to: T11.002Parent Techniques: OAK-T15.002; T10.001Parent Techniques: OAK-T11.001, OAK-T11.003; T7.004T12.001 → mutual Adjacent Techniques declaring shared on-chain artefact / different motive; T11.001Parent Techniques: OAK-T15.002; T9.003Adjacent Techniques: OAK-T16.001, OAK-T16.002, OAK-T16.003, OAK-T16.005. No ID renamed; the field is additive after **Parent Tactics:**.
  • Fix 5 — T9.003 scope refinement. techniques/T9.003-governance-attack.md ## Description rewritten to make the scope split explicit: T9.003 covers governance-contract-bug exploitation (the contract itself has a bug); T16.x covers voting-power abuse against a working contract. Adjacent-Techniques cross-reference added to T16.001 / T16.002 / T16.003 / T16.005. Maturity unchanged (stable).
  • Fix 6 — T11.001 scope cleanup. techniques/T11.001-third-party-signing-vendor-compromise.md ## Description narrowed to the on-chain manifestation (UI substitution → cold-to-warm transfer redirection signed by the customer's intact signing-set). The off-chain pre-positioning phase delegated explicitly to T15.001 / T15.002 / T15.003 / T15.004. Parent Techniques: OAK-T15.002 added (the wallet-binary distribution / signing-vendor build-pipeline sub-shape is a sub-class of supply-chain compromise). Maturity unchanged (stable).
  • Fix 7 — T8 human-readable name update. tactics/T8-operational-reuse.md H1 updated to "OAK-T8 — Operator Continuity / Attribution Signals" with ## Scope rewritten to clearly say T8 captures cross-incident attribution signals, not new attacker actions. The OAK-T8 ID and the filename are unchanged. src/App.tsx TACTIC_NAMES_SHORT[T8] updated to "Operator Continuity / Attribution"; tools/build_backlog.py and tools/check_targets.py COVERAGE_TARGETS row name string updated. The fix makes the categorical difference between T8 (forensic markers across incidents) and T1–T7 / T9–T17 (adversarial actions) explicit at the human-readable level without ID renames.
  • Fix 8 — T6 sub-cluster documentation. tactics/T6-defense-evasion.md ## Scope rewritten to acknowledge the two operationally-distinct sub-clusters: T6.001–T6.004 cover pre-deployment / off-chain claim falsification (audit-fakery, source-mismatch); T6.005–T6.007 cover operational defense-evasion (proxy-upgrade malicious switching, counterfeit token impersonation, trust-substrate shift). Defenders working in either cluster face different mitigation surfaces.

Validators (check_citations.py, check_linkage.py, check_backlinks.py) and npm run build (which includes tsc --noEmit and vite build) pass at 0 hard failures. Schema 0.5 is additive only; downstream consumers pinned to schema-minor 0.4 must update to 0.5 to consume the new Parent Techniques / Adjacent Techniques fields and the canonicalised Phase / Maturity vocabularies, but no field semantics changed.

Phase Y additions — T17 Market Manipulation Tactic (schema-minor 0.3 → 0.4)

Additive cross-cutting Tactic introduction; per VERSIONING.md this is a schema-minor bump (0.3 → 0.4), not major. Existing T1–T16 IDs unchanged; existing parent-Tactic mappings on T3.002 / T3.003 / T3.004 / T5.004 / T9.001 / T9.006 / T9.006.001-004 preserved. T17 is added as an additional parent on each cross-referenced sub-Technique, never in place of the existing parent. The new T17.001-004 sub-Techniques cover market-manipulation patterns that did not have a Technique-level home at v0.3.

  • 1 new Tactic (T17) in tactics/ — Market Manipulation. Phase: Realisation (cross-asset / market-mechanism). Adjacent: T3 (launch-time wash / pump-and-dump primitives also load-bearing inside post-launch market-manipulation kill-chains), T5 (T5 = direct on-chain extraction; T17 = market-distortion-mediated extraction), T9 (T9 = code-mechanism exploitation; T17 = market-mechanism exploitation, no contract bug required), T16 (T16 = voting-power-against-protocol; T17 = price/order-book/window manipulation against other market participants), T8 (cohort-attribution applied to wash-traders / liquidation bots / spoof cohorts). T17 is the OAK editorial response to the v0.3 TAXONOMY-AUDIT observation that market-manipulation patterns were the largest single un-Tactic'd cross-cutting cohort in the corpus.
  • 4 new sub-Techniques (T17.001T17.004) in techniques/:
    • T17.001 — Cross-Venue Arbitrage-Driven Price-Discovery Distortion (Maturity: draft) — multi-venue spread exploitation that produces market-wide price-discovery distortion as the attack outcome (distinct from T5.004 sandwich-MEV which extracts within a single block; distinct from T9.001 which manipulates the oracle's input venue). No canonical extraction-scale anchor at v0.4; documentation gap honestly noted.
    • T17.002 — Liquidation-Cascade Engineering (Maturity: emerging) — predatory bots that intentionally trigger liquidation cascades to harvest at distressed prices. Anchored against existing depeg-cascade worked examples (Lido stETH June 2022, Renzo ezETH April 2024, Lido stETH / Aave queue-saturation cascade July 2025) and broader predatory-liquidation-bot cohort literature.
    • T17.003 — Spoofing / Cancel-Flood Order-Book Manipulation (Maturity: draft) — DEX limit-order books and perpetuals order books manipulated via spoof orders + last-second cancellation. Anchored conceptually against the CFTC / Sarao 2015 equity-futures CME enforcement record; no canonical extraction-scale crypto-venue anchor at v0.4.
    • T17.004 — TWAP / Time-Window Manipulation Against DAO Treasury / Vesting Math (Maturity: draft) — manipulating TWAP windows or vesting-cliff timing such that the downstream contract's settlement math executes at a manipulator-shaped reference (distinct from generic T9.001 oracle manipulation: the load-bearing surface is the downstream contract's window-selection primitive). Documented at academic / audit-finding layer; canonical extraction-scale anchor not yet landed.
  • 10 existing sub-Techniques cross-referenced with T17 added as additional parent (no existing mappings removed): T3.002-wash-trade-volume-inflation.md, T3.003-pump-and-dump-coordination.md, T3.004-influencer-amplified-promotion-and-dump.md, T5.004-sandwich-mev-extraction.md, T9.001-oracle-price-manipulation.md, T9.006-subjective-oracle-resolution-manipulation.md, T9.006.001-dvm-vote-capture.md, T9.006.002-resolution-spec-ambiguity-exploitation.md, T9.006.003-off-chain-resolution-source-coercion.md, T9.006.004-operational-insider-trading.md. Existing T3 / T5 / T9 parent edges preserved on every cross-referenced sub-Technique.
  • COVERAGE-TARGETS.md + tools/build_backlog.py + tools/check_targets.py: T17 added to the table and to the COVERAGE_TARGETS constants. Active since 2020 (cohort-level wash-trade / pump-and-dump / oracle-manipulation activity since the early-DeFi window). Min per active year: 3.
  • src/App.tsx: T17 added to TACTIC_NAMES_SHORT, TACTIC_ORDER, and TacticGlyph (17th unique SVG glyph — candlestick cluster with cross-venue arrow distorting price discovery, using only the existing path / circle / rect / polygon SVG primitives matching the other 16 glyphs).
  • VERSIONING.md: schema-version-history table extended with a 0.4 row.
  • Total counts after Phase Y: 17 Tactics, 97+ Techniques (existing 93 + 4 new T17.x). Validator + build clean.

Phase X additions — T16 Governance / Voting Manipulation Tactic (schema-minor 0.2 → 0.3)

Additive Tactic introduction; per VERSIONING.md this is a schema-minor bump (0.2 → 0.3), not major. Existing T1-T15 IDs unchanged; existing worked-example mappings preserved. The new T16.x cross-references on anchor cases are added alongside the existing primary T9.003 / T9.001 / T9.002 / T8.001 / T5.005 mappings, never in place of them. The T9.003 (generic Governance Attack class) sub-Technique remains in place inside T9; T16.x sub-Techniques are operational refinements of the T9.003 class lifted to Tactic-level so the breadth of distinct sub-patterns has Tactic-level visibility.

  • 1 new Tactic (T16) in tactics/ — Governance / Voting Manipulation. Phase: Holder-state-derived control. Adjacent: T3 (launch-time holder concentration; T16 = post-launch operational use), T9 (T16.x are operational refinements of T9.003), T8 (cluster-attribution applied to delegation flows), T5 (treasury egress at T16.002), T11 (multisig-to-governance pivots cross the T16 / T11 boundary). T16 lifts the governance-attack sub-class structure that v0.1 OAK had to enumerate as a "deferred sub-class structure" footnote inside T9.003 to a Tactic-level home so future worked examples can map to the operational sub-pattern explicitly.
  • 5 new sub-Techniques (T16.001T16.005) in techniques/:
    • T16.001 — Vote Takeover via Flash-Loan (Maturity: emerging) — same-block flash-borrow of governance tokens to acquire majority voting power, vote, execute, repay all within atomicity. Anchors: Beanstalk April 2022 (~$182M canonical case); Curio DAO March 2024 (overlap with T16.005 storage-collision sub-shape). Cross-references T9.002 (flash-loan precondition), T9.003 (generic class).
    • T16.002 — Hostile-Vote Treasury Drain (Maturity: emerging) — acquisition of voting power via legitimate market means (or via T9.001 oracle-inflation upstream) used to pass a treasury-affecting proposal that benefits the proposer. Anchor: Mango Markets October 2022 (~$47M retained post-settlement-vote). Cross-references T9.001 (upstream value-inflation), T5.005 (treasury egress framing), T9.003 (generic class).
    • T16.003 — Delegation-Cluster Vote Takeover (Maturity: emerging) — voting-power acquisition via delegation pull from a multi-wallet cohort. Anchor: Compound Proposal 289 July 2024 (Golden Boys / Humpy cohort; ~$24M attempted but prevented in the timelock review window). Cross-references T8.001 (cluster-reuse signal), T9.003 (generic class).
    • T16.004 — Snapshot / Off-chain Voting Exploitation (Maturity: draft) — Sybil / signature-replay / off-chain-vote-without-binding patterns at Snapshot.org-class platforms. No canonical extraction-scale anchor at v0.1; the v0.1 documentation gap is honestly documented on the technique page. Promotion to emerging requires a public-record case at the dollar-loss scale comparable to T16.001-003 anchors.
    • T16.005 — Malicious Proposal Snowballing (Maturity: emerging) — proposal-text-vs-payload divergence (hidden delegatecall, self-modifying contract, storage-layout collision) that converts a legitimate vote into a malicious effect. Anchors: Tornado Cash governance May 2023 (canonical self-modifying-contract sub-shape); Audius July 2022 (canonical storage-collision sub-shape); Curio DAO March 2024 (MakerDAO-fork-substrate variant). Cross-references T9.003 / T9.004 (generic + post-passage privilege escalation), T6.001 (source-verification mismatch — adjacent class).
  • 5 anchor worked examples cross-referenced with T16.x mappings alongside their existing primary T9.003 / T9.001 / T9.002 mappings. Cases updated: 2022-04-beanstalk.md (T16.001 added); 2022-10-mango-markets.md (T16.002 + T5.005 added); 2024-07-compound-vote-takeover.md (T16.003 + T16.002 added); 2023-05-tornado-cash-governance.md (T16.005 added); 2022-07-audius.md (T16.005 added); 2024-03-curio.md (T16.001 + T16.005 added). No existing T9.003 mappings removed.
  • COVERAGE-TARGETS.md + tools/build_backlog.py + tools/check_targets.py: T16 added to the table and to the COVERAGE_TARGETS constants. Active since 2021 (Beanstalk April 2022 is earliest anchor; rounded to 2021 per the convention); min per active year: 2.
  • src/App.tsx: T16 added to TACTIC_NAMES_SHORT, TACTIC_ORDER, and TacticGlyph (16th unique SVG glyph — ballot box with ballot dropping in, using only the existing path / circle / rect / polygon SVG primitives matching the other 15 glyphs).
  • VERSIONING.md: schema-version-history table extended with a 0.3 row.
  • Total counts after Phase X: 16 Tactics, 68 Techniques (existing 63 + 5 new T16.x). Validator + build clean.

Phase W additions — T15 Off-chain Entry-Vector / Pre-Positioning Tactic (schema-minor)

Additive Tactic introduction; per VERSIONING.md this is a schema-minor bump, not major. Existing T1-T14 IDs unchanged; existing worked-example mappings preserved. The new T15.x cross-references on anchor cases are added alongside the existing primary mappings, never in place of them.

  • 1 new Tactic (T15) in tactics/ — Off-chain Entry-Vector / Pre-Positioning. Phase: pre-positioning. Adjacent: T4 / T9 / T10 / T11 (downstream on-chain manifestations) + T8 (operator-cluster attribution). T15 lifts the off-chain entry-vector phase from the on-chain Tactic footnotes (where v0.1 had it as paragraphs inside T11.001 / T4 worked examples) to a Tactic-level home so the kill-chain reads correctly: a Bybit-class incident now reads as T15.001 → T15.003 → T11.001 (entry vector → endpoint state → on-chain extraction) rather than as a single T11.001 paragraph that conflates upstream and downstream.
  • 5 new sub-Techniques (T15.001T15.005) in techniques/, all Maturity: emerging:
    • T15.001 — Social Engineering of Operator Personnel — LinkedIn fake-job-offer / Telegram fake-recruiter / fake-investor / fake-trading-bot / fake-former-contractor / fake-staking-partner pretexts targeting developers / signers / executives. Anchor cases: Ronin (2022, LinkedIn), DragonEx (2019, WFC Proof), Concentric (2024, fake-investor), DMM Bitcoin (2024, LinkedIn coding test), Radiant Capital (2024, Telegram audit-report ZIP), Bybit (2025, Safe{Wallet} developer), SwissBorg (2025, Kiln staking-partner trust-substrate).
    • T15.002 — Supply-Chain / Vendor-Pipeline Compromise — wallet-vendor build pipeline + npm/PyPI/GitHub-org package-registry + third-party signing-platform UI build pipeline + vendor-internal-comms sub-shapes. Anchor cases: Atomic Wallet (2023), Ledger Connect Kit (2023), Solana web3.js (2024-12), Bybit / Safe{Wallet} (2025-02), Polymarket trader-tooling (2026-01), DMM Bitcoin / Ginco (2024).
    • T15.003 — Operator-Endpoint Compromise — developer workstation / signing machine / employee laptop endpoint state. Anchor cases: Bybit (2025), Radiant Capital (2024 INLETDRIFT), Concentric (2024 multisig signer dev-machine), Bithumb (2017, employee laptop with customer-data DB — the active-since marker for T15).
    • T15.004 — Operator-Side Credential Compromise — DNS / registrar / cloud / SSO / IDP / package-publisher credential surfaces. Anchor cases: Curve DNS-hijack (2022), Galxe DNS (2023), CoinStats Snap (2024), Ledger Connect Kit (2023, publisher-credential surface), Solana web3.js (2024, npm-publisher credentials), Polymarket trader-tooling (2026, GitHub-org credentials).
    • T15.005 — Operator-Communication-Channel Takeover — Discord moderator / X (Twitter) brand handle / Telegram / Instagram operator-channel compromise distributing malicious links to the operator's audience. Anchor cases: Solana brand-X-account compromise cohort (2025-02 — Jupiter / Pump.fun / DogWifCoin), BAYC Discord + Instagram wave (2022-04 / 2022-06 / 2024-08), Yuga Otherside Discord (2022-08), Ronin Discord followup (2022-04).
  • ~10 anchor worked examples cross-referenced with T15.x mappings alongside their existing primary T11.x / T4.x / T9.x / T10.x mappings. No existing mappings removed.
  • COVERAGE-TARGETS.md + tools/build_backlog.py + tools/check_targets.py: T15 added to the table and to the COVERAGE_TARGETS constants. Active since 2017 (Bithumb employee-laptop is the earliest anchor); min per active year: 3.
  • src/App.tsx: T15 added to TACTIC_NAMES_SHORT, TACTIC_ORDER, and TacticGlyph (15th unique SVG glyph — laptop with phishing hook entering the screen, using the same SVG primitives as the other glyphs).
  • Total counts after Phase W: 15 Tactics, 63 Techniques (existing 58 + 5 new T15.x). Validator + build clean.

Phase U additions (parallel-agent run, 10 agents — partial completion before rate-limit)

Continuation of comprehensive coverage push. 9 of 10 agents hit Anthropic rate limit during the summary step but most had already written their files before failing; 38 new files landed.

  • 3 new Threat Actors (OAK-G15OAK-G17) — RansomHub (post-ALPHV-exit-scam absorber; CISA AA24-242A); Akira (Conti-codebase-related RaaS; CISA AA24-109A; ~250+ confirmed victims); BlackByte (Conti splinter; CISA TA22-039A; San Francisco 49ers + critical-infrastructure targeting). Note: G18 Karakurt did not land before rate-limit; deferred to Phase V.
  • 3 new Software entries (OAK-S33OAK-S35) — Akira ransomware (G16); RansomHub ransomware (G15); BlackByte ransomware (G17). Note: S36 Karakurt + S37 Cobalt Strike + S38 IcedID/Pikabot did not land before rate-limit; deferred to Phase V.
  • 5 new Mitigations (OAK-M32OAK-M36) — Bug Bounty Programs (operational, ~$1.5B+ Immunefi cumulative payouts); Decentralized Insurance Protocols (Nexus Mutual / Sherlock Cover); Pause-by-Default + Emergency Pause (architecture; OpenZeppelin Pausable); Whitehat Rescue Coordination (operational; Euler / ParaSpace / Ronin / Tapioca canonical cases); Proof-of-Reserves Cryptographic Auditing (venue; FTX 2022 + Mt. Gox as anti-pattern anchors).
  • 27 new worked examples spanning 2014–2025:
    • Pre-2017 historical: Cryptsy 2014, MintPal 2014, BTER Feb 2015.
    • 2021-2022 bridge / NFT: THORChain Jul-Aug 2021 cluster, Qubit Bridge Jan 2022, Meter Bridge Feb 2022, Frosties NFT Jan 2022 rug + DOJ arrests, BAYC Discord wave Apr-Aug 2022, Premint Jul 2022 phishing, Pixelmon May 2022 reveal-rug, Ronin Discord followup Apr 2022.
    • 2023: Ledger Connect Kit Dec 2023 npm supply-chain, MEV-Boost equivocation Apr 2023 (DOJ Peraire-Bueno indictment Sep 2024).
    • 2024 H1: FixedFloat Feb 2024 (G01 inferred-strong), BitForex Feb 2024 exit-scam, Pike Finance Apr 2024.
    • 2024 H2: Compound Vote Takeover Jul 2024 (governance-attack non-flash-loan subclass), Nexera Aug 2024, Bittensor coldkey cohort Aug 2024, EigenLayer restaking airdrop dispute May 2024.
    • 2025 H1: ZKLend Feb 2025 (Starknet empty-market subclass), Infini Feb 2025 (HK arrest March 2025), 1inch resolver Mar 2025 (patch-not-propagated cohort), ERC-4337 paymaster Apr 2025, ZKsync airdrop Apr 2025, KiloEx Apr 2025, Loopscale Apr 2025.
  • ~140 new BibTeX entries added as auto-generated stubs (OAK v0.1 — pending verification); validator passes (888 entries / 866 cited / all resolved).
  • Total counts after Phase U partial: 14 Tactics, 58 Techniques, 36 Mitigations, 35 Software, 17 Threat Actors, 12 Data Sources, 128 Worked Examples, 888 Citations, 338 Relationships. Validator + build clean.
  • Phase V (rate-limit-blocked items to redispatch after reset): G18 Karakurt + S36 Karakurt + S37 Cobalt Strike + S38 IcedID/Pikabot + ~12 worked examples (2024 missed: Galxe DNS, Concentric, Curio, CoinStats, DEXX, Clipper Finance, Bithumb credentials companion + others).

Phase T additions (parallel-agent run, 10 agents — comprehensive coverage push)

Largest single content phase to date — comprehensive coverage push toward "everything publicly known up to 2026" goal. 49 new files across Threat Actors, Software, and Worked Examples; ~280 new BibTeX stubs (most marked pending verification for pre-launch URL audit); validator clean.

  • 4 new Threat Actors (OAK-G11OAK-G14) in actors/:
    • G11 Black Basta — Russian-language RaaS; Conti splinter post-ContiLeaks Feb-May 2022; confirmed via CISA AA24-131A (May 2024) + Mandiant UNC4393 + Microsoft Storm-1811 + ~$107M Bitcoin tracked by Elliptic; canonical Ascension Health May 2024 healthcare incident; February 2025 BlackBastaLeaks internal-chats archive structurally parallel to ContiLeaks 2022; dormant late-2024 → Q1 2025 with affiliate dispersal into RansomHub / Akira / Cactus.
    • G12 Scattered Spider / UNC3944 — English-speaking financially-motivated affiliate-collective (distinct from G10 ALPHV operator-brand); confirmed via DOJ Nov 2024 five-defendant indictment + CISA AA23-352A + Mandiant UNC3944 + Microsoft Octo Tempest + Group-IB 0ktapus + Krebs reporting; rotating affiliate of multiple RaaS tooling (ALPHV 2023, RansomHub 2024, DragonForce/Qilin 2025); MGM/Caesars Sep 2023 + Twilio/0ktapus Aug 2022 + 2025 UK retail wave.
    • G13 Iranian crypto operators — composite cluster-set: MuddyWater (MOIS) + Charming Kitten / APT35 (IRGC-IO) + Pioneer Kitten / Fox Kitten / Lemon Sandstorm (IRGC-affiliated); confirmed via CISA AA22-055A + AA22-257A + AA20-259A + FBI Aug 2024 Pioneer Kitten Flash + multiple OFAC designations 2018-2024 (foundational Nov 2018 SamSam-laundering SDN designation introduced cryptocurrency-address SDN identifiers); canonical Pay2Key Nov-Dec 2020 Iranian-state-aligned ransomware-with-crypto-payment case.
    • G14 Cl0p / Clop / TA505 / FIN11 — Russian-language mass-exploitation operator; signature managed-file-transfer-product zero-day cadence (Accellion 2020-21 → GoAnywhere Feb 2023 → MOVEit June 2023 = >2,500 victims → Cleo late-2024); confirmed via OFAC June 2023 + CISA AA23-158A + AA23-039A + Ukrainian Cyber Police arrests June 2021 + Mandiant FIN11; mid-2023 data-extortion-only operating-model pivot.
  • 6 new Software entries (OAK-S27OAK-S32) in software/:
    • Ransomware binaries: S27 Black Basta (used by G11; Conti-codebase lineage), S28 Royal/BlackSuit (defunct-operator; Conti-Zeon fork; rebrand Royal→BlackSuit June 2023; OFAC Dec 2023).
    • DPRK Contagious Interview / Wagemole campaign: S29 BeaverTail (G01/G08; npm/PyPI supply-chain malware; canonical Unit 42 July 2023); S30 InvisibleFerret (G01/G08; Python second-stage backdoor following BeaverTail loader).
    • DPRK / Kimsuky persistence backdoors: S31 TigerRAT (G09 Andariel; Windows; KrCERT/CC + AhnLab 2022); S32 AppleSeed (G07 Kimsuky; Windows; HWP-document-borne delivery; Talos / ESET / Mandiant / KISA tracking 2019-present).
  • 39 new worked examples in examples/ spanning 2015–2025:
    • 2015-2019 historical exchange compromises (5): BitGrail Feb 2018 (17M NANO; confirmed-by-court Florence ruling); Coinrail Jun 2018 ($40M+; G01-cohort); Zaif Sep 2018 ($60M; FSA Japan order; Fisco-absorbed); DragonEx Mar 2019 ($7M; G01 inferred-strong); Upbit Nov 2019 (~342k ETH; confirmed-attribution Nov 2024 by Korean NPA + US extradition request).
    • 2020 DeFi (already covered Phase S) — no additions this phase.
    • 2022 Solana ecosystem (5): Cashio Mar 2022 ($48M; canonical Solana T9.004 input-validation case; $28M wealth-bracketed return); Crema Finance Jul 2022 ($8.78M; 10% bounty + $7.18M return); Nirvana Finance Jul 2022 ($3.5M; self-referential pricing T9.001 sub-class anchor); OptiFi Aug 2022 ($661k locked; canonical operator-side T9.004 human-error case); Cypher Aug 2023 ($1M; DOJ Jan 2025 arrest of "Hailey").
    • 2022 bridge expansion: Binance BSC Token Hub Oct 2022 (~$586M extracted, ~$110M unrecovered; canonical T10.005 IAVL+ proof-soundness flaw); Wintermute-Profanity cohort Sep 2022 (cohort case alongside the canonical Wintermute single-incident).
    • 2023 DeFi (10): BonqDAO Feb 2023 ($120M nominal; Tellor optimistic-oracle); Platypus Feb 2023 ($8.5M; confirmed-by-arrest French police); Yearn V2 Feb 2023 ($11.6M; configuration-rot subclass); Hope Finance Feb 2023 ($2M rug); ParaSpace Mar 2023 (whitehat rescue $5M; confirmed defender BlockSec); Sentiment Apr 2023 ($1M; read-only reentrancy; full recovery); Allbridge Apr 2023 ($573k; partial recovery); Hundred Finance Apr 2023 ($7.4M; canonical first-appearance of empty-market rounding-error cohort case for Hundred → Midas → Sonne → Onyx); Steadefi Aug 2023 ($1.1M deployer-key compromise); KyberSwap Nov 2023 ($48M tick-state manipulation + operator-extortion message).
    • 2023 cross-chain: HTX/HECO Bridge Nov 2023 (~$110M+ pair; G01 inferred-strong via Chainalysis/SlowMist/Match Systems).
    • 2024 H1 (10): WOOFi Pro Mar 2024 ($8.5M sPMM-curve manipulation); Prisma Mar 2024 ($11.6M MigrateTroveZap delegatecall); Hedgey Apr 2024 ($44.5M cross-protocol contagion via shared infrastructure); Sonne May 2024 ($20M empty-market subclass; cohort with Hundred/Midas/Onyx); UwU Lend Jun 2024 ($20M + $3.6M recurring-target); Gala Games May 2024 ($200M reverse-mint recovery via former-employee key); Velocore Jun 2024 ($6.8M zkSync underflow + L2-sequencer-pause as bounded-delay primitive); Holograph Jun 2024 ($14M minter-key compromise); Loopring Jun 2024 ($5M smart-wallet 2FA-bypass); Bittensor Jul 2024 (~$8M PyPI supply-chain compromise; cohort with 3CX 2023).
    • 2024 H2 incidents (5): DeltaPrime Sep 2024 ($5.98M proxy-admin-key compromise multi-chain); Indodax Sep 2024 ($22M; G01 inferred-strong); Banana Gun Sep 2024 ($3M oracle-messenger info-leak); Tapioca Oct 2024 ($4.7M; 94% bounty-negotiated return); Thala Nov 2024 ($25.5M Move-language farming-contract; confirmed-by-arrest Hong Kong police; ~100% Aptos validator-coordinated freeze).
    • 2024 bridge: Orbit Bridge Jan 2024 (~$81.5M; 7-of-10 simultaneous signer compromise; G01 inferred-strong).
  • ~280 new BibTeX entries in citations.bib. Government anchors (CISA AA22-055A / AA22-257A / AA20-259A / AA22-321A / AA23-039A / AA23-061A / AA23-158A / AA23-352A / AA24-131A; OFAC SamSam 2018 + APT39 2020 + IRG cyber 2022 + Cl0p affiliates 2023 + Royal/BlackSuit 2023; FBI Pioneer Kitten Flash 2024; DOJ Scattered Spider Nov 2024 indictments; HHS Ascension 2024; Hong Kong Police Thala 2024; Korean NPA Upbit 2024; Ukrainian Cyber Police Cl0p 2021; Tribunale di Firenze BitGrail civil + bankruptcy 2019; Japan FSA Zaif 2018) verified manually. Vendor / industry forensic sources (BlockSec / Halborn / PeckShield / SlowMist / Cyfrin / OtterSec / Mandiant / Microsoft / Sophos / Trend Micro / SentinelOne / Unit 42 / CrowdStrike / Talos / ESET / AhnLab / KrCERT/CC / Kaspersky / Group-IB / Check Point / ClearSky / Recorded Future / Stairwell / Verichains / MoveBit / ReversingLabs / Jamf / Merkle Science / Hacken / ChainLight / Inspex / ConsenSys / OpenZeppelin / Trail of Bits / Coveware / TRM Labs / Elliptic / Chainalysis / Match Systems / Cyvers / Hypernative / ZachXBT / ScamSniffer / Rekt News / The Block / CoinDesk / Decrypt / Cointelegraph / BleepingComputer / Wired / Reuters / Krebs / Korea Herald / Korea Times / Stuff NZ / RNZ / SCMP / Japan Times) marked OAK v0.1 — pending verification and require URL audit before public launch.
  • Total counts after Phase T: 14 Tactics, 58 Techniques, 31 Mitigations, 32 Software, 14 Threat Actors, 12 Data Sources, 101 Worked Examples, 751 Citations (~280 pending verification), 266 machine-readable Relationships.
  • Validator clean (tools/check_citations.py passes: 751 entries / 726 cited / all resolved). Site rebuild clean.

Phase S additions (parallel-agent run, 8 agents — content-depth expansion)

Major content-depth expansion across Threat Actors, Software, and Worked Examples. Brings the framework from foundational to substantive across the three biggest base-data dimensions.

  • 3 new Threat Actors (OAK-G08OAK-G10) in actors/:
    • G08 BlueNoroff — DPRK Lazarus financial-targeting macOS sub-cluster, distinct from G01 TraderTraitor cluster; confirmed via OFAC SM-774 (2019) + Park Jin Hyok DOJ indictment (2018) + Mandiant APT38 + Kaspersky GReAT SnatchCrypto + Jamf RustBucket + Elastic KandyKorn + SentinelOne Hidden Risk; external Group ID G0082 cross-anchor.
    • G09 Andariel — DPRK Lazarus ransomware/ICS sub-cluster; confirmed via OFAC SM-774 (2019) + CISA AA22-187A Maui ransomware (2022) + DOJ Rim Jong Hyok indictment + AA24-207A multi-government joint advisory (2024) + Mandiant APT45 + Microsoft Onyx Sleet + Symantec Stonefly; external Group ID G0138 cross-anchor.
    • G10 ALPHV/BlackCat — Russian-language Rust RaaS; confirmed via FBI Dec 2023 disruption + multiple CISA/FBI/HHS advisories + DOJ Scattered Spider indictments (2024); SEC-filing pressure-tactic novelty (MeridianLink Nov 2023) and Change Healthcare exit-scam (Feb-Mar 2024) as canonical markers; structural sibling to G05 LockBit.
  • 8 new Software entries (OAK-S19OAK-S26) in software/:
    • DPRK macOS family: S19 KandyKorn (G01, Elastic Nov 2023); S20 RustBucket (G08, Jamf Apr 2023); S21 SwiftLoader (G01+G08 cross-cluster, SentinelOne 2023-2024); S22 ObjCShellz (G08 primary, SentinelOne Nov 2023).
    • Ransomware binaries: S23 LockBit (used by G05; primary RaaS tool through Operation Cronos Feb 2024); S24 BlackCat/ALPHV (used by G10; first major Rust ransomware; exit-scam Mar 2024); S25 Maui (used by G09 Andariel; healthcare-sector targeting; CISA AA22-187A); S26 Conti (defunct lineage anchor for Black Basta / Royal-BlackSuit / Karakurt / BlackByte successors).
  • 16 new worked examples in examples/:
    • 2015-2019 historical exchange compromises: Bitstamp Jan 2015 (19,000 BTC; canonical pre-DeFi T11 spear-phishing → signing-infra access pattern); Bithumb Jun 2017 ($1M+ phishing wave + DPRK-cohort attribution); NiceHash Dec 2017 (~4,700 BTC; T11.002 engineer-workstation compromise; full repayment by Dec 2020); Cryptopia Jan 2019 (NZ$23M+; multi-week sustained drain; foundational T5.002 + T11; Ruscoe v Cryptopia [2020] NZHC 728 NZ digital-asset insolvency precedent).
    • 2020 DeFi protocol incidents: Lendf.me/dForce Apr 2020 ($25M; first major ERC-777 callback-hook reentrancy; full recovery in 4 days); Akropolis Delphi Nov 2020 ($2M; first yield-aggregator-targeting flash-loan reentrancy); Origin Dollar Nov 2020 ($7M; same-day post-mortem template that Euler/Mango later mirrored); Cred Inc. Nov 2020 ($140M+ counterparty-fraud insolvency; weak OAK fit, flagged for TAXONOMY-GAPS.md off-chain-counterparty-risk class).
    • 2022 DeFi/governance incidents: Saddle Finance Apr 2022 ($10M; canonical T9.001 virtual-price subclass); Inverse Finance Apr+Jun 2022 ($15.6M+$1.2M; recurring-target pattern within 75 days); Audius Jul 2022 ($6M; canonical T9.003 storage-collision subclass); Ankr Dec 2022 ($5M direct + ~$50M+ contagion; canonical T11.002 deployer-key compromise + ROK arrest Jan 2023).
    • 2024-2025 incidents: Cetus Sui May 2025 ($220M; Sui validator-coordinated freeze recovery primitive — L1-level recovery class with no EVM precedent); Onyx Sep 2024 ($3.8M; known-vulnerability-not-fixed pattern + cohort with Hundred Finance / Midas Capital); Ronin Bridge Aug 2024 rescue ($12M whitehat MEV-bot front-run rescue; mempool-watcher MEV bots as defensive primitive); Li.Fi Jul 2024 ($11.6M diamond-pattern facet exploit; ~150 victims; T9.004 + T4.004 amplification).
  • 156 new BibTeX entries in citations.bib: government advisories (CISA AA22-187A / AA24-207A / AA22-046A / AA21-265A / AA23-061A / AA23-165A / AA24-061A; OFAC SM-774; DOJ Rim Jong Hyok 2024 / DOJ ALPHV 2023 / DOJ Park Jin Hyok 2018 / DOJ Scattered Spider 2024 / FBI ALPHV disruption / FBI Flash CU-000167-MW; HHS Change Healthcare); industry-forensic posts (Mandiant APT45 / UNC2165 / UNC3944 / Conti leaks; Microsoft Onyx Sleet / Sapphire Sleet / Storm-0539 / BlackCat; Symantec Stonefly / Noberus; Jamf RustBucket; Elastic KandyKorn; SentinelOne ObjCShellz / Hidden Risk / SwiftLoader; Stairwell Maui; Kaspersky SnatchCrypto; CrowdStrike Wizard Spider; Sophos LockBit; Trend Micro / Unit 42 LockBit; Recorded Future Conti HSE / DPRK financial 2018; OtterSec Cetus; BlockSec Cetus / Onyx / Ronin / Li.Fi / Saddle / Akropolis / Origin / Inverse / Saddle / Audius / Ankr; Halborn Hundred / Midas / Onyx / Li.Fi / Saddle / Inverse / Audius / Ankr; Cyfrin Onyx / Li.Fi; SlowMist Cetus / Lendf.me / Onyx / Li.Fi; PeckShield Cetus / Onyx / Li.Fi / Akropolis / OUSD / Saddle / Inverse / Ankr; Hypernative Ronin; ZachXBT Ronin; Rekt Ronin / Li.Fi); industry coverage (Krebs Bitstamp; Reuters Bitstamp / NiceHash / MeridianLink SEC; CoinDesk Bitstamp / NiceHash / Lendf.me / Akropolis / OUSD / Cred; The Block Akropolis / Cred / dForce / OUSD / Alexander; Korea Herald / Korea Times Bithumb; Stuff NZ / RNZ Cryptopia; BleepingComputer / Wired Change Healthcare); legal/regulatory (Korea Communications Commission Bithumb fine 2018; Grant Thornton Cryptopia liquidator reports; Ruscoe v Cryptopia [2020] NZHC 728; In re Cred Inc. Case 20-12836; United States v Alexander; Witty testimony to House Energy and Commerce Committee; State Department Conti reward; Stroz Friedberg Bitstamp incident report; ContiLeaks insider disclosure); cross-framework anchors (external Group IDs G0082 BlueNoroff / G0138 Andariel); academic-adjacent (OpenZeppelin / ConsenSys Diligence ERC-777; Trail of Bits diamond pattern); industry-side analytics (Chainalysis Conti / DPRK-Korea 2019 / NiceHash / Andariel-Maui / Change Healthcare / ALPHV exit / Cetus / 2021 Crime Report; Elliptic Cryptopia; TRM Change Healthcare; Mandiant DPRK financial 2019).
  • Total counts after Phase S: 14 Tactics, 58 Techniques, 31 Mitigations, 26 Software, 10 Threat Actors, 12 Data Sources, 62 Worked Examples, 469 Citations, 243 machine-readable Relationships.
  • tools/oak.json regenerated; site rebuild verified clean. Validator (tools/check_citations.py) passes (469 entries / 442 cited / all resolved).

Phase R additions (parallel-agent run, 8 agents — major axis expansion)

Two new top-level axes, with reusable Mitigations / Software / Data-Components / Relationships object types. The framework now emits a machine-readable relationship graph alongside the markdown corpus, materially closing the data-model gap with mature adversary-behaviour frameworks.

  • 31 Mitigations (OAK-M01OAK-M31) in mitigations/. Reusable defences mapped many-to-many to Techniques. Five classes:
    • detection (M01-M07): source-bytecode verification, static-analysis pre-deployment, continuous bytecode-diff monitoring, funder-graph clustering, authority-graph enumeration, mempool/pre-block telemetry, cross-chain attribution-graph.
    • architecture (M09-M17): TWAP+multi-venue oracle with deviation circuit-breaker, checks-effects-interactions+ReentrancyGuard, rate-limiting+per-block caps, per-message replay binding, long challenge window with economic challenger incentives, multi-prover redundancy, threshold signing with operator separation, pre-deployment audit+formal verification, time-locked governance+multi-block quorum.
    • operational (M18-M22): out-of-band destination verification, air-gap cold-wallet signing, vendor breach-notification SLA, anti-phishing training for privileged staff, rotate-on-disclosure discipline.
    • venue (M23-M28): audit-attestation public-registry verification, out-of-band audit-engagement verification, listing-time source-verification+audit-status gate, wash-trade-rate metrics at marketplace layer, Travel Rule+KYC at privacy-chain boundary, token-unlock calendar integration.
    • wallet-UX (M08, M29-M31): per-spender approval audit+revocation, full-address verification+lookalike detection, per-dApp domain+app-store-package allowlist, EIP-712 permit display+signing-risk heuristics.
  • 18 Software entries (OAK-S01OAK-S18) in software/. Named tools, kits, and malware families separated from Threat Actor Groups (kept distinct from operator Groups). Drainer kits (S01-S07: Inferno, Angel, Pink, Monkey, Venom, Vanilla, Chick — all OAK-G02). DPRK malware families (S08-S11: TraderTraitor, AppleJeus, Manuscrypt, 3CX trojan — all OAK-G01). APT43/Kimsuky (S12 JADESNOW — OAK-G07). Commodity infostealers (S13-S15: RedLine, Lumma, AsyncRAT — ecosystem-wide). Crypto-specific tooling with documented weaknesses (S16 Profanity, S17 jaredfromsubway, S18 Pump.fun-style bundlers).
  • 209 machine-readable relationships emitted in tools/oak.json schema v2: 127 mitigates edges (M→T), 70 uses edges (S→T), 12 uses edges (G→S). Lets vendors and risk teams query OAK programmatically.
  • tools/oak.json schema bumped to v2. Tactics + Techniques retain v1 shape; new top-level keys: mitigations, software, relationships.
  • tools/export_json.py extended. Parses the two new axes and emits the relationship graph; backward compatible with consumers of the v1 Tactic/Technique slice.
  • Website MVP extended (src/App.tsx, scripts/build-site-data.mjs, src/styles.css): new Mitigations and Software workspace views with hash routes (#/mitigations, #/software); navigation menu, list grids, and document viewer integration; siteData.stats bumped with mitigations, software, relationships counts.
  • 21 new BibTeX entries in citations.bib: drainer-kit forensic sources (zachxbtmonkey2023, scamsniffer2024pink, scamsniffer2024lineage); DPRK malware-family advisories and vendor reports (cisaaa22108a, cisaaa21048a, chainalysisdprktradertraitor, chainalysiskucoinlazarus, mandiant3cx2023, mandiantucsx2023, mandiantcoincheck2018); commodity-infostealer + Pump.fun bundler sources (redlineflashpoint2021, opmagnus2024, lummasekoia2023, lummatakedown2025, clickfixproofpoint2024, asyncratorigingithub2019, asyncratmandiant2023, pumpfunbundlerbubblemaps2024, jitobundlepolicies2024, pumpfunlaunchruganalytics2024).

Phase Q additions (parallel-agent run, 6 agents)

  • 1 new Technique: T6.004 Audit-Pending Marketing Claim (4th standalone T6 entry) — operator markets a deployment as having an audit "in progress" / "scheduled" / "pending publication" without a verifiable engagement, then ships exploit-class code under the social cover the marketing claim provides.
  • 4 new worked examples (total 46): Mt. Gox 2014 (~850k BTC; T11 foundational case; transaction-malleability-narrative reframed by 2015–2020 WizSec on-chain forensics; DOJ Vinnik 2017 indictment + 2024 plea + Karpeles 2019 Japanese court verdict; 2024 trustee distributions to creditors); Bitfinex 2016 (119,756 BTC / $72M-at-time / $4.5B-at-recovery; T11.001 broadly construed via BitGo 2-of-3 multisig co-signing API compromise; DOJ Lichtenstein/Morgan 2022 arrest + 2023 guilty plea + 2024 sentencing — confirmed attribution chain; canonical socialised-loss recovery via BFX-token); Phemex January 2025 ($73M; T11 hot-wallet drain; G01-inferred-strong via Chainalysis / SlowMist / Merkle Science / ZachXBT laundering-fingerprint analysis); Vee Finance September 2021 ($35M; T9.001 + T9.002 Avalanche Pangolin-pair oracle/flash-loan exploit on a thin-input price source).
  • 1 new Threat Actor: OAK-G07 APT43 / Kimsuky (DPRK financial-funding sub-cluster, distinct from G01 TraderTraitor and G04 IT-worker scheme). Confirmed attribution: OFAC JY1938 (Nov 2023) + Mandiant March 2023 attribution report + ROK MOFA 2023 independent sanctions + BfV/NIS 2023 joint German-Korean cybersecurity advisory. external Group ID G0094 cross-anchor.
  • 39 new citations across Mt. Gox (9), Bitfinex (10), Phemex (6), Vee Finance (9), and G07 Kimsuky (5) contexts.

Phase K additions (parallel-agent run, 6 agents)

  • 1 new Technique: T2.004 Initial-Liquidity Backdoor (operator-retained backdoor authority embedded at pool-creation transaction; distinct from T2.001/T2.002/T2.003).
  • 4 worked examples (total 25): The DAO June 2016 (T9.005 historical foundational case; ~$60M / ~$5B at 2024 ETH; Ethereum hard fork July 2016); KuCoin September 2020 (T11 + G01-attributed; ~$281M; ~84% recovered via coordinated industry response — high-water mark for exchange-hack recovery rate); Wintermute September 2022 (T11 broadly construed; ~$160M via Profanity vanity-address vulnerability disclosed by 1inch 5 days prior — known-vulnerability-not-rotated failure mode); Mixin Network September 2023 (T11.001 broadly construed; ~$200M via cloud-database compromise; flagged for v0.x T11.001 sub-classification).
  • 1 new Threat Actor: OAK-G04 DPRK IT-Worker Placement Scheme. Confirmed attribution: 2022 joint advisory (Treasury/State/FBI), 2023 OFAC designation of Chinyong IT Cooperation Company, 2024 DOJ conviction of Christina Marie Chapman (laptop farm; 102-month sentence Jul 2025), 2026 OFAC designation of six individuals + two entities for ~$800M in 2024 DPRK IT-worker fraud. Distinct from OAK-G01 (direct cyber attacks).
  • 24 new citations added across The DAO, KuCoin, Wintermute, Mixin, G04, T2.004 contexts.

Phase J additions (parallel-agent run, 6 agents)

  • 4 new Techniques: T1.005 Hidden Fee-on-Transfer (gradient extractive cost via static-but-conditional fee logic), T6.003 Audit-of-Different-Bytecode-Version (audit-firm certificate exists but for a different bytecode than deployed), T7.006 DeFi Yield-Strategy Laundering (yield-user persona as cover), T10.005 Light-Client Verification Bypass (cryptographic-primitive layer flaws in zk-bridge / light-client architectures; canonical example: Verichains "Dragonberry" Cosmos-SDK ICS-23 disclosure 2022).
  • 1 worked example: examples/2024-10-inferno-drainer-handover.md — service-level operator-profile of the Inferno Drainer ecosystem and its October 2024 transfer of operations to Angel Drainer (~22-43% drainer-service market share through 2024 per SlowMist).
  • 1 new Threat Actor: OAK-G03 Russian-attributed crypto-laundering-infrastructure cluster (Garantex / Grinex / A7A5 lineage). Confirmed attribution: OFAC designations Apr 2022 + Aug 2025; DOJ EDVA indictment Feb 2025 naming Aleksej Besciokov and Aleksandr Mira Serda; multinational coordinated takedown March 2025; arrest in Kerala India March 12 2025. Distinct from OAK-G01 (DPRK-state-aligned) and OAK-G02 (drainer-as-a-service).
  • 9 new citations: verichainsdragonberry2022, soksnarkvulns2024, xie2022zkbridge, zkbugtracker (T10.005); ofac2022garantex, doj2025garantex, treasury2025garantexnetwork, chainalysis2025garantex, trmlabs2025grinex (G03).

Added — taxonomy

  • 10 Tactics: T1 Token Genesis, T2 Liquidity Establishment, T3 Holder Capture, T4 Access Acquisition, T5 Value Extraction, T6 Defense Evasion, T7 Laundering, T8 Operational Reuse (operator-behaviour kill chain); T9 Smart-Contract Exploit (protocol-layer attacks); T10 Bridge and Cross-Chain (bridge-infrastructure attacks). T9 and T10 collectively cover the two largest classes of public DeFi losses by aggregate dollar value.
  • 43 Techniques across the 11 Tactics, each with the full per-Technique template populated (Description, Observed indicators, Detection signals, Real-world examples, Reference implementations, Mitigations, Citations, Discussion).
  • T2.003 Cross-Chain Locked-Liquidity Spoof — extends T2.002 to setups where the lock receipt is on a different chain from the actual liquidity pool; cohort-scale framing per TM-RugPull / SolRPDS / Chainalysis (no canonical headline incident at v0.1).
  • T5.005 Treasury-Management Exit — substantive misuse of legitimate team-multisig authority. Canonical regulatory-record case: SafeMoon (cross-referenced from examples/2023-11-safemoon-charges.md); cohort reference: Polywhale Finance soft-rug pattern.
  • T5.006 Vesting Cliff Dump — coordinated team / investor token sales at scheduled vesting unlock events. Cohort framing per token-unlock-tracker data (TokenUnlocks/Tokenomist, CryptoRank, DefiLlama Unlocks).

Worked examples added (3, total 20):

  • examples/2021-10-cream-finance.md — Cream Finance Oct 27 2021 incident (~$130M); canonical T9.001 + T9.002 chain via yUSDVault book-value oracle manipulation. Cream's three 2021 incidents (Feb $37M, Aug $19M, Oct $130M) form a recurring-target pattern noted in the Discussion.
  • examples/2022-06-harmony-horizon.md — Harmony Horizon Jun 23-24 2022 (~$100M); canonical T10.001 + G01 case (2-of-5 multisig key compromise; ~$96M Tornado Cash laundering; FBI Lazarus attribution Jan 2023). Together with Ronin forms the "2022 Lazarus bridge wave".
  • examples/2023-07-multichain.md — Multichain Jul 6 2023 (~$126M); canonical T10.001 broadly construed; attribution explicitly marked inferred-weak (external-compromise vs insider-action vs wind-down hypotheses publicly debated, Singapore court ruling fanned insider suspicions).
  • T9.005 Reentrancy — historical-anchor Technique (The DAO 2016 origin reference) with modern variants documented (cross-protocol reentrancy, ERC-777 / ERC-721 / ERC-1155 hook-based reentrancy). Most post-2021 variants chain with T9.002.
  • T10.004 Optimistic-Bridge Fraud-Proof Gap — architecture-class Technique covering watcher-network insufficiency, challenge-window-too-short, and dispute-game incentive failures ([hollowvictory2025] arXiv ref).
  • T7.005 Privacy-Chain Hops — third orthogonal laundering rail alongside T7.001 (mixers) and T7.003 (cross-chain bridges). Defender asymmetry is highest of the T7 class — privacy-chain leg is not on-chain-traceable by design; mitigation concentrated at venue compliance + Travel Rule + post-emergence inferential heuristics.

Worked examples added (2, total 17):

  • examples/2023-03-euler-finance.md — canonical T9.002 + T9.004 chain (~$197M; missing solvency check on donateToReserves; full recovery via on-chain message-channel negotiation with self-identified attacker "Jacob").
  • examples/2021-08-poly-network.md — canonical T9.004 case (~$611M; inter-contract privilege-boundary failure; full return within ~15 days; "Mr. White Hat" framing controversy as a teaching point on attacker-return outcomes).
  • T1.004 Blacklist / Pausable Transfer Weaponization — generic T1 + T6 modifier; admin-controlled blacklist or pausable predicate gates the transfer-logic path.
  • T4.006 WalletConnect Session Hijack — entry-vector-specific framing distinct from T4.001/T4.002; canonical case the September 2024 fake "WalletConnect" Google Play campaign (~$70K stolen via 150+ victims).
  • T6.002 Fake Audit-Claim — second standalone T6 Technique; ATMA and Lymex cases per CertiK brand-misuse advisory; adjacent reference to the Swaprum CertiK-audited rug pull illustrating the limits of audit-coverage-of-record.
  • T8.002 Cross-Chain Operator Continuity — multi-chain operator-profile attribution surface; canonical reference for modern OAK-G01 attribution methodology.

Worked example added (1, total 15):

  • examples/2024-07-wazirx.md — canonical OAK-T11.001 + T11.003 + G01 chain (~$234.9M; multisig contract modification mechanism; ~85% recovery via 2025-10 restructuring scheme).
  • T11 (Custody and Signing Infrastructure) added as a new top-level Tactic — the Bybit / WazirX / Atomic Wallet incident class. >$1.8B in losses across the three canonical cases alone. T11 elevates this attack category from off-chain footnote (in earlier v0.1 drafts) to a first-class Tactic with three Techniques: T11.001 Third-Party Signing/Custody Vendor Compromise (Bybit, WazirX), T11.002 Wallet-Software Distribution Compromise (Atomic Wallet), T11.003 In-Use Multisig Smart-Contract Manipulation (WazirX-specific contract-modification mechanism).
  • T1 expanded with T1.003 Renounced-But-Not-Really (Proxy-Upgrade Backdoor) — generic T1 + T6 modifier covering proxy-pattern, EIP-1967 admin-slot, AccessControl-role, and dependency-contract authority retention sub-patterns. Canonical case: Shido staking-contract incident (~4.3B SHIDO drained via post-renouncement proxy upgrade).
  • T6 (Defense Evasion) populated with its first standalone Technique: T6.001 Source-Verification Mismatch — generic evasion pattern that modifies T1 / T9 source-readable Techniques; deterministic-recompile-against-verified-source is the canonical detection methodology; tooling-mature for contributor implementation.
  • T4 expanded with three high-frequency sub-Techniques: T4.003 Address Poisoning (Tsuchiya et al. 2025 USENIX Security cohort: ~17.3M poisoning transfers on Ethereum since Apr 2023; canonical $68M WBTC case May 2024 per Chainalysis), T4.004 Allowance/Approve-Pattern Drainer (distinct from T4.001 Permit2-specific; on-chain Approval event is the authority artefact), T4.005 setApprovalForAll NFT Drainer (canonical: Lawliet $2.7M Bored Ape phishing Jan 2022; Discord-server-compromise as dominant entry vector).
  • T7 expanded with three high-frequency sub-Techniques: T7.002 CEX Deposit-Address Layering (canonical: 109 deposit addresses received >$10M each in illicit funds in 2023 per Chainalysis 2024 Money Laundering report), T7.003 Cross-Chain Bridge Laundering (canonical: Lazarus Group laundered the full $1.4B Bybit aftermath through THORChain in ~10 days with $12M in fees accruing to THORChain node operators per CoinDesk reporting; T7.003 is now the dominant post-Tornado-Cash-sanctions Lazarus laundering rail), T7.004 NFT Wash-Laundering (cohort: 262 users with >25 self-financed NFT sales each in 2021 per Chainalysis; ~$8.9M operator profit; <1% of total crypto-wide laundering by volume but high per-transaction value).
  • T9 Techniques: T9.001 Oracle Price Manipulation (Mango Markets canonical), T9.002 Flash-Loan-Enabled Exploit (Beanstalk and Euler canonical), T9.003 Governance Attack (Beanstalk canonical), T9.004 Access-Control Misconfiguration (Wormhole canonical).
  • T10 Techniques: T10.001 Validator/Signer Key Compromise (Ronin, Harmony Horizon, Multichain), T10.002 Message-Verification Bypass (Nomad canonical; Wormhole cross-classified), T10.003 Cross-Chain Replay (pattern characterisation).
  • T6 (Defense Evasion) intentionally has no standalone Techniques in v0.1; evasion patterns are listed as parent tactics on the Technique they modify (e.g., OAK-T2.002 lists T2 + T6). Standalone T6 entries are scheduled for a v0.x update — see ROADMAP.

Added — sources

  • 31 BibTeX entries in citations.bib. Mix of academic citations (USENIX Security, IEEE S&P, ACM SIGMETRICS, ACM CODASPY, ACM WWW, arXiv preprints, including Zhou et al. 2023 SoK as the academic taxonomy of DeFi-protocol-layer attacks), federal-court records (U.S. SEC press release and complaint, U.S. CFTC press release on Mango Markets), regulatory designations (U.S. Treasury OFAC press release on Tornado Cash), and authoritative industry references (Chainalysis, Mandiant, SlowMist, TRM Labs, EigenPhi, Elliptic, Neodyme, Solana Foundation, Cointelegraph, Decrypt, rekt.news, dYdX). No live attacker infrastructure is linked.
  • Two arXiv-tracked papers integrated as primary citations for slow-extraction and operator-cluster analysis: Tran et al. 2025 ("Fragmented Rug Pull") for OAK-T5.002 and Liu et al. 2025 (subgraph-based sybil detection, with explicit caveat about its airdrop-domain origin) for OAK-T3.001 / T8.001.

Added — worked examples

8 full case studies under examples/, each cross-linking to the relevant Technique pages:

Operator-behaviour incidents:

  • 2021-10-anubisdao.md — T5.001 → T7.001 chain (Ethereum, ~13,556 ETH / ~$60M).
  • 2021-11-squid.md — T1.001 + T5.001 + T8.001 chain (BNB Chain, ~$3.38M direct / ~$19.3M cumulative cluster).
  • 2022-08-curve-dns-hijack.md — T4.002 → T7.001 chain (Ethereum, ~$575K).
  • 2023-jaredfromsubway-mev.md — T5.004 ongoing operator profile (Ethereum, EigenPhi-tracked).
  • 2023-11-safemoon-charges.md — T2.002 (BNB Chain, U.S. SEC complaint).

Smart-contract-exploit incidents:

  • 2022-04-beanstalk.md — T9.002 + T9.003 + T7.001 chain (Ethereum, ~$182M, governance attack via $1B Aave flash loan).
  • 2022-10-mango-markets.md — T9.001 (Solana, ~$110M, oracle price manipulation; CFTC enforcement, 2025 vacatur of criminal convictions on venue/materiality grounds).

Bridge incidents:

  • 2022-02-wormhole.md — T9.004 / T10.002 boundary case (Ethereum ↔ Solana, ~$325M, missing guardian-account validation; loss replaced by Jump Crypto).
  • 2022-03-ronin-bridge.md — T10.001 + G01 (Ethereum ↔ Ronin, ~$625M, validator-key compromise via LinkedIn-delivered social-engineering payload; FBI/Treasury Lazarus attribution; >$468M laundered through Tornado Cash).
  • 2022-08-nomad-bridge.md — T10.002 (multi-chain, ~$190M, post-upgrade trusted-root vs untrusted-root collision; canonical "mob attack" multi-actor exploitation pattern; ~$22M recovered).

Off-chain entry vector with on-chain manifestation:

  • 2025-02-bybit.md — G01 Lazarus-attributed (~$1.46B, third-party-vendor supply-chain compromise of Safe{Wallet}; the single largest crypto-theft event on the public record; FBI IC3 attribution).

Coverage spans more than half of the v0.1 Techniques across 11 examples, exceeding the v0.1 launch criterion of "≥5 Techniques with named real-world example case studies."

Added — community files and process

  • README.md with prominent non-affiliation banner, scope summary, repository layout, dual-license declaration, and contribution path.
  • DISCLAIMER.md — informational-use disclaimer; trademark notice.
  • LICENSE-content (CC-BY-SA 4.0) for knowledge content; LICENSE-code (MIT) for tooling.
  • CONTRIBUTING.md — PR-based submission process, defender's-eye-view per-Technique template, writing-style rules, 7-day first-response SLA.
  • CODE_OF_CONDUCT.md — Contributor-Covenant-style; emphasises receipts over opinions and honest coverage claims.
  • SECURITY.md — split disclosure policy (vulnerabilities in OAK itself vs sensitive incident intelligence); off-list contact via subject-line prefixes.
  • COVERAGE.md — honest tactic-level + per-Technique coverage matrix against the first reference implementation. Single-implementation matrix at v0.1; expands to a two-dimensional matrix at v0.5.
  • .github/ISSUE_TEMPLATE/ — three templates for new-Technique proposals, real-world examples, and Reference-implementation coverage updates; plus a contact-link config pointing reporters to SECURITY.md and CODE_OF_CONDUCT.md for sensitive reports.
  • .github/PULL_REQUEST_TEMPLATE.md — type checklist, coverage-impact prompt, DCO sign-off reminder.

Added — tooling

  • tools/check_citations.py — parses citations.bib, validates entry structure, and cross-references every [key] citation in tactics/, techniques/, and examples/ against the bib.
  • tools/export_json.py — parses Tactic and Technique markdown and emits a single schema-versioned JSON document at tools/oak.json for vendors and downstream consumers.
  • tools/oak.json — machine-readable export of the v0.1 taxonomy (8 Tactics, 15 Techniques, parent-tactic relations, citation keys).

Added — CI

Four GitHub Actions workflows:

  • markdown-lint.yml — lints all .md files using markdownlint-cli2. Configuration in .markdownlint.json enables sensible defaults (line-length disabled, fenced code-block style, inline HTML allowed).
  • link-check.yml — runs lychee over all markdown links, with caching; weekly schedule plus per-PR runs.
  • citation-format.yml — runs tools/check_citations.py.
  • validate-export.yml — regenerates tools/oak.json and fails CI if it drifts from the committed file.

Added — Data Sources axis

OAK's fourth top-level axis, alongside Tactics, Techniques, and Threat Actors:

  • 12 OAK-DS-NN entries documented in data-sources/. On-chain telemetry: DS-01 token deployment events, DS-02 LP pool events, DS-03 ERC-20 / ERC-721 / ERC-1155 approvals, DS-04 permit signatures, DS-05 oracle price feeds, DS-06 mint / burn events, DS-07 trade / swap events, DS-08 bridge validator messages, DS-09 funder graph (derived), DS-10 cross-chain bridge flows. Mempool / pre-block: DS-11 mempool order flow. Off-chain: DS-12 off-chain CTI feeds.
  • Per-Technique pages will progressively add explicit Data Sources: references in their headers across v0.x updates; v0.1 introduces the axis without backfilling every Technique.

Added — Glossary

GLOSSARY.md — defender-perspective vocabulary covering recurring terms across tactics/, techniques/, actors/, examples/, and data-sources/. Brings a newcomer up to speed on OAK terminology without requiring them to read the relevant pages first.

Added — Threat Actors axis

A third top-level OAK axis alongside Tactics and Techniques, documented in actors/README.md:

  • OAK-Gnn identifier scheme parallel to OAK-Tn for Tactics; IDs stable for v0.x and never reused.
  • Explicit attribution-strength language (confirmed / inferred-strong / inferred-weak) on every Group page.
  • v0.1 Groups: OAK-G01 Lazarus Group / DPRK-attributed (the largest single attribution category in modern crypto theft per [chainalysis2024dprk]: ~$1.34B / 47 incidents in 2024 = 61% of all attacker-stolen value globally; ~$2.02B in 2025; ~$6.75B all-time per Chainalysis), and OAK-G02 Drainer-as-a-Service operators (Inferno → Angel → successors; service-layer continuity-of-infrastructure framing per [slowmist2024report]).
  • Intentional overlap with OAK-T8 (Operational Reuse) clarified: T8 is the defender capability that produces Group attributions; OAK-Gnn entries are the outputs of that capability when stable enough to publish.

Decisions captured

  • Naming: OAK = "OnChain Attack Knowledge". Pronounced "oak". Repo at github.com/onchainattack/oak. Domain onchainattack.org (acquired April 2026).
  • Identifier scheme: OAK-Tn for Tactics, OAK-Tn.NNN for Techniques. Stable for v0.x; new top-level Tactics deferred to v1.0+. IDs never reused; deprecations marked Maturity: deprecated with pointers to superseding Techniques.
  • License split: content under CC-BY-SA 4.0 to match Wikipedia / Creative Commons conventions for shared knowledge; tooling under MIT.
  • Detection-first framing: the per-Technique template leads with Observed indicators and Detection signals. The repository documents observable patterns from the defender's perspective, not procedures. CONTRIBUTING.md's writing-style rules make this explicit.

Once the v0.1 tag lands, this entry will be renamed [v0.1.0] with the release date.