在原始碼與建置輸出掃描之間選擇

建立新專案時,您可以選擇只掃描原始碼或掃描建置輸出(位元組碼),視專案而定。

瞭解不同掃描方法對專案的成功來說很重要。每一種方法都有特定的用途、需求,結果也會不一樣。

僅限原始碼掃描

在軟體開發生命週期的初期,只掃描未編譯程式碼的原始碼,可以是一個有用的工具,可在專案進一步發展之前,先預防問題的發生並確認程式化方法。

僅限原始碼掃描一般而言是由開發人員執行,且需要存取原始檔,掃描速度很快,但不一定像編譯程式碼的掃描一樣準確。僅限原始碼掃描的結果會精確找出程式碼中特定幾行的漏洞,不會顯示追蹤資料。

建置輸出掃描

掃描時如果比起速度更偏好精確度,建置輸出掃描不僅可以協助您瞭解應用程式中漏洞的所在位置,也可以瞭解該漏洞會造成的影響。建置輸出掃描有時也稱為「資料流程」掃描。

建置輸出掃描需要對完整建置應用程式的存取權。掃描結果會顯示「追蹤」,其中顯示污染資料流經應用程式的流程,從進入應用程式到使用資料的點(稱為「接收槽」)都涵蓋在內。追蹤會在追蹤的每一點顯示程式碼行數以及汙染變數;其外觀類似於異常狀況堆疊追蹤。

視專案類型而定,建置輸出掃描可能具有其他要求:
  • 應用程式相依關係應該可提供最完整和精確的結果。
  • 若需要 Java 和.NET 位元組碼,則需要先建置應用程式,才能執行掃描。
  • 對於 C/C++ 而言,需要 Visual Studio 解決方案。