已發布分析器,識別 NPM 和 PyPI 中的 200 個惡意套件

OpenSSF(開源安全基金會)由Linux基金會成立,旨在提高開源軟體的安全性,推出了開放專案Package Analysis,該專案開發了一個用於分析軟體包中是否存在惡意程式碼的系統。 該專案代碼是用 Go 編寫的,並在 Apache 2.0 許可證下分發。 使用建議的工具對 NPM 和 PyPI 儲存庫進行初步掃描,使我們能夠識別 200 多個先前未偵測到的惡意軟體包。

大部分已識別的有問題的套件操縱名稱與項目的內部非公共依賴項的交集(依賴項混淆攻擊)或使用拼寫錯誤方法(分配與流行庫的名稱類似的名稱),並且還在運行期間調用存取外部主機的腳本。安裝過程。 根據Package Analysis 的開發人員的說法,大多數已識別的有問題的套件很可能是由參與錯誤賞金計劃的安全研究人員創建的,因為發送的資料僅限於使用者和系統名稱,並且操作是明確執行的,而不是嘗試隱藏他們的行為。

具有惡意活動的軟體包包括:

  • PyPI 套件discordcmd,記錄向 raw.githubusercontent.com、Discord API 和 ipinfo.io 發送非典型請求。 指定的軟體包從GitHub下載後門程式碼並將其安裝在Discord Windows用戶端目錄中,之後它開始在檔案系統中搜尋Discord令牌並將其傳送到攻擊者控制的外部Discord伺服器。
  • colorss NPM 套件也嘗試將令牌從 Discord 帳戶傳送到外部伺服器。
  • NPM 套件 @roku-web-core/ajax - 在安裝過程中,它發送有關係統的資料並啟動處理程序(反向 shell),該處理程序接受外部連接並啟動命令。
  • PyPI 套件 secrevthird - 在匯入特定模組時啟動反向 shell。
  • NPM 套件 random-vouchercode-generator - 導入庫後,它會向外部伺服器發送請求,該伺服器會傳回命令及其應運行的時間。

套件分析的工作歸結為分析原始程式碼中的程式碼包,以建立網路連線、存取檔案和運行命令。 此外,還會監視軟體包狀態的變化,以確定在最初無害的軟體版本之一中是否添加了惡意插入。 為了監視儲存庫中新包的出現並對先前發布的包進行更改,使用了 Package Feeds 工具包,該工具包統一了與 NPM、PyPI、Go、RubyGems、Packagist、NuGet 和 Crate 儲存庫的工作。

套件分析包括三個基本組件,可以結合使用或單獨使用:

  • 用於根據包源資料啟動包分析工作的調度程序。
  • 一種使用靜態分析和動態追蹤技術直接檢查套件並評估其行為的分析器。 測試是在隔離環境中進行的。
  • 將測試結果放入 BigQuery 儲存中的載入程式。

來源: opennet.ru

添加評論