Bitcoin-Core-Development
什麼是模糊測試工具?
Bitcoin Core 模糊測試文件指的是“模糊測試工具”。在這種情況下,什麼是線束?
(在撰寫本文時,在2020 年 1 月和 2020年4 月,之前有兩次關於模糊測試的比特幣核心 PR 審查俱樂部會議。後者是在PR 18521上增加了一個
process_messages
工具。)
模糊測試工具是一個測試案例或特定的測試目標。這篇博文將 Harness 定義為“入口點執行檔”。當您想模糊從命令行無法訪問的輸入時,您需要編寫一個新的測試工具。
例如,如果我們想評估客戶端/伺服器應用程序的安全性,測試工具將需要執行許多操作,例如在從客戶端連接發送網路輸入之前啟動伺服器程序。或者,如果我們想對 DLL(載入庫)中函式的輸入進行模糊測試,由於沒有定義入口點,我們需要編寫一個測試工具來將命令行的輸入傳遞給 DLL 函式。
這篇部落格文章介紹了一個編寫測試工具以從文件中獲取輸入然後將該輸入傳遞給我們想要模糊測試的易受攻擊的函式的範例。
這裡還有一個模糊術語表。
感謝 Marco Falke 在 IRC 上回答這個問題。