Facebook宣布開源Instagram安全工具Pysa
2020上半年,Pysa在Instagram服務器端的Python代碼中檢測到了44%的安全漏洞。今天,Facebook宣布正式將這款安全工具開源,以便廣大開發者在應用程序龐大的Python代碼庫中進行bug查找和修復。作為一款靜態分析器,其原理是在代碼運行/編譯之前,以靜態的形式掃描代碼、查找潛在已知的錯誤模式、然後幫助開發者標註出潛在的問題。

(圖自:FB)
Facebook 表示,該工具最初由內部開發,但通過不斷完善,其現在認為已經足夠成熟。比如在2020 上半年,Pysa 就幫助該公司在Instagram 服務器端的Python 代碼中檢出了所有安全漏洞中的44% 。
作為Pysa 幕後的功臣,Facebook 安全團隊付出了相當多的努力。其基於Pyre 項目的開源代碼打造,但根據FB 安全團隊的實際需求而進行了構建。具體說來是,Pysa 可追踪程序中的數據流通。

(圖自:FB)
現如今的大多數安全漏洞,都利用了未經過濾、或不受控制的數據流。以當前最嚴重的錯誤類型之一的遠程代碼執行(RCE)為例,其本質就是讓某種輸入抵達了代碼庫中不需要的部分。
作為應對,Pysa 工具可在後台對數據的通路進行分析,對其如何跨代碼庫進行傳輸而提供一些見解,尤其是那些由成千上萬行複雜代碼組成的大型代碼庫。
儘管這個概念並不新鮮,但Facebook 還是藉助Zoncolan 對其進行了完善。後者是該公司於2019 年8 月發布的用於Hack 的靜態分析器,主要面向類似於PHP 的編程語言。

(來自:Github)
兩者都可對輸入代碼庫的數據“源”和“接收器”進行查找,追溯其在代碼庫匯總的移動方式,並找到危險的“接收器”部分,比如可執行代碼或檢索敏感用戶數據的函數。
當在輸入源和危險的接收器之間發現連接時,Pysa 和Zoncolan 就會向開發者發出警示,以便其展開相應的調查。在持續數月的內部測試期間,FB 安全團隊也有密切參與。
最後,除了專注於效率和麵向大型代碼庫而設計,Pysa 還具有可擴展的特性,可為運行不同的Instagram 組件和功能支持奠定基礎。