SAST 的基本概念
SAST 全稱為靜態應用程式安全測試。這類工具在程式實際運作之前直接掃描原始碼,尋找潛在的安全缺陷或漏洞。這就像寫文章時使用的拼字檢查軟體,只是它檢查的是程式邏輯與安全性。透過這種方式,開發者能在程式碼合併到主分支前發現問題,降低修復成本。
GitHub 內的程式碼掃描功能
GitHub 透過程式碼掃描功能提供 SAST 服務。這項功能主要基於 CodeQL 引擎,它將程式碼視為資料進行查詢,藉此找出複雜的漏洞路徑。當開發者提交程式碼或發起拉取請求時,系統會自動啟動掃描。如果發現漏洞,GitHub 會直接在該行程式碼標註警告並說明原因。
Copilot Autofix 輔助修復
在 2026 年,GitHub 深度整合人工智慧技術。當 CodeQL 偵測到漏洞,Copilot Autofix 功能會分析問題並自動生成修復建議。開發者只需確認建議內容正確,即可一鍵套用修改。這大幅縮短解決問題的時間,並減輕開發團隊處理安全漏洞的壓力。
掃描原理與常見範例
SAST 掃描器主要分析資料流。例如它會追蹤使用者在網頁表單輸入的內容,確認這些內容進入資料庫前是否經過適當過濾。如果沒有處理,就可能發生 SQL 注入攻擊。它也能找出程式碼中不小心寫進去的機密金鑰,防止這些重要資訊外洩到網路中。
第三方工具整合與應用
除了官方提供的引擎,GitHub 也支援多種第三方 SAST 工具整合。只要工具產出的結果符合國際通用的 SARIF 格式,就能匯入 GitHub 的安全性分頁中。這讓開發團隊能根據專案需求選用不同的專業掃描工具,同時在 GitHub 介面上統一管理所有安全警示。