使用 PureScript 安裝程式在 npm 套件的依賴項中偵測到惡意更改

取決於具有 PureScript 安裝程式的 npm 套件 確定 當您嘗試安裝軟體包時出現的惡意程式碼 純腳本。 惡意程式碼透過依賴項嵌入 從 cwd 或 npm 載入 и 速率圖。 值得注意的是,具有這些依賴項的套件的維護是由帶有PureScript 安裝程式的npm 套件的原作者進行的,直到最近他還在維護這個npm 套件,但大約一個月前該套件被轉移給了其他維護者。

這個問題是由該軟體包的一位新維護者發現的,在與 purescript npm 軟體包的原作者發生多次分歧和不愉快的討論後,維護權轉移給了他。 新的維護者負責 PureScript 編譯器,並堅持 NPM 套件及其安裝程序應由相同維護者維護,而不是由外部方維護。 帶有 PureScript 安裝程式的 npm 套件的作者很長一段時間都不同意,但後來屈服並轉移了對儲存庫的存取權。 然而,一些依賴項仍然在他的控制之下。

上週 PureScript 0.13.2 編譯器發布了
新的維護者準備了 npm 軟體包的相應更新和安裝程序,在其依賴項中識別出了惡意程式碼。 帶有 PureScript 安裝程式的 npm 套件的作者被解除了維護者職務,他表示他的帳戶已被未知攻擊者入侵。 然而,在目前的形式下,惡意程式碼的行為僅限於破壞軟體包的安裝,這是新維護者的第一個版本。 當嘗試使用命令“npm i -g purescript”安裝軟體包而不執行任何明顯的惡意活動時,惡意操作相當於出現錯誤訊息的循環。

偵測到兩次攻擊。 在新版本的 purescript npm 套件正式發布幾個小時後,有人創建了新版本的 load-from-cwd-or-npm 3.0.2 依賴項,其中的更改導致調用了 loadFromCwdOrNpm()返回流中安裝所需的二進位檔案列表 直通,將輸入查詢鏡像為輸出值。

4 天后,在開發人員找出故障根源並準備發布更新以從依賴項中排除 load-from-cwd-or-npm 後,攻擊者發布了另一個更新 load-from-cwd-or-npm 3.0.4 ,其中惡意程式碼已被刪除。 然而,幾乎立即,另一個依賴項rate-map 1.0.3的更新發布了,它添加了阻止載入回調呼叫的修復程式。 那些。 在這兩種情況下,新版本的 load-from-cwd-or-npm 和rate-map 的變更具有明顯的破壞性質。 此外,惡意程式碼進行了檢查,僅在安裝新維護者的版本時才會觸發錯誤操作,而在安裝舊版本時不會以任何方式出現。

開發人員透過發布更新來解決該問題,其中刪除了有問題的依賴項。 為了防止在嘗試安裝有問題的 PureScript 版本後在使用者係統上出現受感染的程式碼,建議刪除 node_modules 目錄和 package-lock.json 檔案的內容,然後將 purescript 版本 0.13.2 設定為下限。

來源: opennet.ru

添加評論