近日谷歌開源了一款Python代碼安全漏洞掃描工具Atheris,希望開發者在漏洞被利用之前能夠用它來發現安全漏洞並修補漏洞。
Atheris介紹
Atheris目前基於Apache-2.0 License開源在github上,Atheris是一個典型的漏洞檢查工具,它支持 Python 代碼的安全掃描,也支持為 CPython 編寫的本機擴展。當檢查本地代碼時,通過為軟體應用程式提供大量隨機數據並分析其輸出異常和崩潰,為開發人員提供了有關應用程式代碼中可能的BUG的存在進行提示。
安裝使用
Atheris支持Linux(32 位和 64 位)和 Mac OS X。Atheris 依賴於與 Clang 一起分發的 libFuzzer。如果您的路徑上有足夠新版本的版本,則安裝非常簡單:clang
pip install atheris
使用示例:
import atherisimport sysdef TestOneInput(data):if data == b"bad":raise RuntimeError("Badness!")atheris.Setup(sys.argv, TestOneInput)atheris.Fuzz()
Atheris在Python3.8及以後的代碼中效果最好,在Python程式語言中添加的新功能可以幫助Atheris 發現比在較舊版本ython代碼中編寫的代碼更多的錯誤
展望未來,谷歌表示,它還計劃增加對OSS-Fuzz的Atheris漏洞掃描的支持,OSS-Fuzz是一個託管平臺,允許開發者掃描開源項目的安全缺陷。以前,這個平臺只支持C和C++,並且非常成功用於查找數千個bug每年。截至 2020 年 6 月,OSS-Fuzz 在 300 個開源項目中發現了超過 20,000 個 Bug。