|
4 | 4 | `data/ethereum_vulns.parquet` by `scripts/make_figures.py`; n = 2,225 curated |
5 | 5 | security fixes across the eleven production Ethereum clients.* |
6 | 6 |
|
7 | | -> **Summary.** The corpus is dominated by *silently patched* fixes (≈94% ship |
8 | | -> with no advisory), its vulnerability profile is **availability- and |
9 | | -> consensus-centric** rather than the memory-corruption profile of generic C/C++ |
10 | | -> datasets, its fixes are **localized** (43% single-file), its **severe classes are the ones most often patched silently**, and it spans **six |
11 | | -> languages implementing one protocol** — a diversity axis absent from prior |
12 | | -> vulnerability datasets. We interpret each finding against the |
13 | | -> vulnerability-dataset literature (CVEfixes, BigVul, Devign, CrossVul, |
14 | | -> DiverseVul, PrimeVul, and Croft et al.'s data-quality framework). |
| 7 | +> **Key takeaways.** For anyone auditing Ethereum clients (or other blockchain / |
| 8 | +> consensus systems), the data says: (1) the **historical fix record — not the |
| 9 | +> CVE list — is the real map**, since ~94% of fixes ship silently; (2) the threat |
| 10 | +> profile is **availability- and consensus-centric** (untrusted network input |
| 11 | +> crashing or diverging a node), not the memory-corruption profile of generic |
| 12 | +> C/C++ datasets; (3) severe bugs concentrate in a few regions — **crypto, the |
| 13 | +> EVM, and the consensus state-transition** for chain-split/value bugs, **p2p / |
| 14 | +> sync / RPC** for DoS — and severity tracks **reachability × blast radius** (led |
| 15 | +> by integer-overflow, consensus-divergence, resource-exhaustion); (4) fixes are |
| 16 | +> **localized** (43% single-file); and (5) because **one spec is implemented |
| 17 | +> eleven ways in six languages**, a fix in one client is a variant lead for the |
| 18 | +> other ten. The actionable version is the audit field guide |
| 19 | +> ([`security_report.md`](./security_report.md)); below, each finding is |
| 20 | +> cross-checked against the vulnerability-dataset literature (CVEfixes, BigVul, |
| 21 | +> Devign, CrossVul, DiverseVul, PrimeVul, Croft et al.). |
15 | 22 |
|
16 | 23 | ## 1. Data and method |
17 | 24 |
|
@@ -112,7 +119,7 @@ across implementations. It is the diversity dimension DiverseVul and CrossVul |
112 | 119 | argue reduces overfitting, obtained here **within a single well-specified |
113 | 120 | domain**. |
114 | 121 |
|
115 | | -## 7. A security-researcher reading — what raises severity |
| 122 | +## 7. What raises severity |
116 | 123 |
|
117 | 124 | Severity here is the **Ethereum Foundation bug-bounty** grade (network-scale |
118 | 125 | impact × single-packet/tx reachability), not CVSS. Only **6.4%** of rows were |
|
0 commit comments