新聞

GitHub推出NPM套件防火牆(Package Firewall)公開預覽版,企業可在開發者電腦、CI/CD建置環境或AI程式開發代理下載套件時,依安全政策攔截高風險版本,降低惡意套件在安裝階段竊取憑證的風險。目前已開放GitHub Enterprise Cloud客戶使用。

攻擊者可能在NPM套件中加入惡意安裝指令碼,即使開發者尚未使用套件的主要功能,惡意指令仍可能在安裝時執行,竊取開發環境中的憑證。GitHub新推出的防火牆設在開發環境與上游套件儲存庫之間,除了處理實際下載請求,也會檢查查詢套件名稱、版本等資訊的請求。

企業管理員須先設定安全政策,再將開發環境、CI/CD系統或AI代理的套件下載來源改為防火牆。套件下載請求經過防火牆時,系統便會依政策判斷是否放行。

防護機制包括查詢GitHub Advisory Database中的惡意套件與漏洞通報,可封鎖已知惡意套件,並依企業設定的漏洞嚴重程度阻擋有漏洞的版本。防火牆也會比較套件版本,檢查原本具有的SLSA建置來源證明是否在新版中消失,以及新版是否新增安裝時執行的指令碼,例如preinstall或postinstall,避免在安裝階段執行未經預期的指令。

另一項機制是版本冷卻期,企業可設定新發布的套件必須經過指定天數才能安裝,避免剛上架的版本立即進入開發與建置環境。官方文件顯示,冷卻期預設為1天,可設定1至365天,也能關閉。若必要套件遭到阻擋,使用者可提出例外申請,由企業管理員審核是否允許下載。

Package Firewall目前僅支援NPM套件,適用GitHub Enterprise Cloud及其資料駐留版本客戶,公開預覽期間免費。GitHub表示,未來正式上市後將依使用量收費,計費方式類似GitHub Actions,但尚未公布具體費率。