新聞

過往軟體供應鏈攻擊多半針對NPM或PyPI儲存庫而來,如今有人將目標轉移到Packagist。資安公司Socket揭露針對Packagist的供應鏈攻擊事故,有8個套件受到影響,這些套件上游的儲存庫遭到竄改,被植入相同的惡意指令碼,其功能是從特定的GitHub網址下載Linux二進位檔案,並於系統背景執行。

這些遭到滲透的套件皆屬於透過Composer安裝與管理的套件,不過Socket指出,攻擊者理應惡意程式碼植入composer.json,實際上卻選擇將其植入package.json,顯示攻擊目標鎖定同時採用JavaScript建置工具與PHP程式碼的專案。這種跨生態系統的配置引起他們的注意,原因是開發團隊或資安人員在審核PHP相依性的過程,很可能只留意Composer的中繼資料,忽略套件綁定與生命週期有關的掛鉤(lifecycle hooks)。

值得留意的是,Socket進一步在GitHub搜尋攻擊者控制的帳號,結果在17個小時內找到777個檔案,其中有許多來自Node.js儲存庫,不過,該公司尚未確認有多少來自不同的入侵、分叉或是重複的套件,但上述結果可能顯示整起攻擊活動的規模比預期的更大。

在所有惡意套件的指令碼當中,具備多種高風險的特徵,像是運用curl並停用TLS憑證的驗證機制,從GitHub下載特定的二進位檔案,將其寫入至特定資料夾,並採用偽裝成SSH處理程序的隱藏檔名。此外,該指令碼還會抑制錯誤輸出,執行特定檔案並於背景運作。Socket表示,儘管他們無法取得位於GitHub的第二階段酬載,但根據第一階段的酬載,就足以認定是惡意行為。