為什麼團隊合作很重要?
程式碼庫的複雜性
隨著智能合約的發展,它們往往變得越來越複雜。程式碼庫由分佈在各個模組和庫中的數百甚至數千行程式碼組成,這種情況並不罕見。獨自應對如此複雜的情況可能令人難以承受,並且容易受到監督。
感謝您閱讀 Verichains!免費訂閱以接收新帖子並支持我的工作。
全面覆蓋
為了確保深入檢查,必須涵蓋程式碼庫的所有方面。由於涉及多個團隊成員,每個成員都帶來了自己獨特的觀點和專業知識,因此忽略關鍵漏洞的機會會大大降低。
知識共享
協作程式碼審查促進團隊成員之間的知識分享。透過討論和批評彼此的發現,團隊成員可以加深對安全最佳實踐和新出現威脅的理解。
交叉檢查不同的觀點
不同的人以不同的方式解決問題。透過利用團隊的集體智慧,程式碼審查可以從不同的角度受益,從而形成更強大的安全措施。
促進協作的工具
智慧合約自動化安全工具
對於使用智慧合約的項目,專門的自動化工具可以檢測區塊鏈特定的漏洞。將這些工具的輸出整合到程式碼審查過程中可以提供額外程度的安全檢查。
Slither、Semgrep 和 4naly3er 等常見工具都支援 SARIF 匯出以在其他工具上渲染。
SARIF 格式、資源管理器和查找管理
靜態應用程式安全測試 (SAST) 工具通常以靜態分析結果交換格式 (SARIF) 產生結果。這種標準化格式允許跨不同工具和平台無縫共享和解析安全結果。
Trailofit 在 VSCode 上的新工具可探索 SARIF 檔案和管理錯誤: https://marketplace.visualstudio.com/items ?itemName=trailofbits.sarif-explorer
該工具的主要功能是能夠在表格上呈現結果、描述發現的詳細資訊以及標記錯誤或誤報。
利用專門用於管理安全結果的插件或平台可以簡化追蹤和解決已識別問題的流程。這些工具通常支援分配任務、設定優先順序和監控進度等功能,以確保及時解決漏洞。
Trailofbit 的另一個工具可以管理結果,也與 SARIF 瀏覽器整合: https://marketplace.visualstudio.com/items ?itemName=trailofbits.weaudit
主要功能是突出顯示以將區域標記為錯誤或進行註釋、管理發現、描述這些發現的詳細資訊以及團隊成員透過 GitHub 共享。
它在實踐中是如何運作的
將自動化工具結果匯出為 SARIF 格式:執行自動安全掃描後,將結果匯出為 SARIF 格式以標準化結果。
在 SARIF Explorer 中呈現結果:使用 SARIF Explorer 視覺化和探索安全結果。團隊成員可以瀏覽調查結果、標記誤報並確定問題的優先順序以進行進一步調查。
將錯誤轉發到查找管理外掛:一旦發現,應立即將安全性錯誤轉發到查找管理外掛程式或平台。這可確保系統化地追蹤、分配和處理它們。
描述 WeAudit 插件的調查結果的詳細信息,包括嚴重性、可能性、漏洞類型、利用場景以及修復建議。
與團隊成員共用 .vscode 資料夾:為了促進協作,請共用包含工作區設定的.vscode
夾,包括用於安全程式碼審查的任何自訂配置或擴充功能。
一天結束時,每個團隊成員都會記下每日筆記並透過 Github 相互同步 .vscode 資料夾。
改進建議
1. 利用 SARIF 進行管理清單
將 SARIF 的使用擴展到不僅僅將結果視覺化。利用其結構化格式建立和管理安全審查清單,確保系統地遵循所有必要的步驟。
SARIF 瀏覽器是否允許 make bug,也提供 make 檢查列表,審核員可以逐步檢查。
2. 每日記筆記,不標示已審查的文件
鼓勵團隊成員保留每日筆記或日記,記錄他們的程式碼審查活動和發現。這可以作為追蹤進度和與團隊分享見解的寶貴參考。
透過採用協作團隊合作並利用適當的工具和方法,組織可以提高其安全程式碼審查流程的有效性和效率。透過共同責任和集體專業知識,團隊可以更好地保護其軟體免受潛在的安全威脅和漏洞的影響。