Bitcoin-Core-Development
為什麼比特幣核心不使用Google的 OSS-Fuzz?
Google 為開源項目提供免費訪問其ClusterFuzz模糊測試基礎設施(通過OSS-Fuzz )。為什麼比特幣核心不利用這一點?
Bitcoin Core 不使用 OSS-Fuzz 的主要原因是,正如 Greg Maxwell 在這個 secp256k1問題中所說,有一個:
極短的時間框架強制披露(編輯:90 天)基本上使除了盲目安裝的自動更新之外的任何東西都成為部署修復程序的可行方式
Pieter Wuille在這裡添加了一些額外的上下文:
這種對實現之間精確一致性的特殊要求意味著這些類別的問題無法在軟體發布的時間範圍內得到解決,而是需要網路範圍內的協調。最相關的例子是幾年前 OpenSSL 中依賴於平台的偏離 DER 標準如何威脅到網路分裂;您可以在此處閱讀有關該問題及其時間表的資訊。在這種情況下,從發現到最終解決需要 9 個月,但我相信現在類似的問題需要更長的時間。
如果沒有Google未來的例外,使用 OSS-Fuzz 的比特幣核心是行不通的。
我不太清楚比特幣核心在Google允許例外的理論世界中使用 OSS-Fuzz 究竟能獲得多少額外價值。除了 Core 和 secp256k1 庫中的目前模糊測試狀態外,本期還對其進行了部分討論。
還需要考慮對特定公司基礎設施的依賴。開源項目並沒有被鎖定在 OSS-Fuzz 中,但是從它們的過渡通常是耗時且具有破壞性的。
2021 年 5 月 5 日更新:Bitcoin Core 已註冊使用 Google 的 OSS-Fuzz。