圖片來源: 

ESLint

JavaScript工具套件出版商ESLint周四(7/12)透露,駭客盜用了該套件維護人員的npm帳號,並上傳了含有惡意程式的版本,以竊取其它用戶的npm憑證,在短短的幾小時內,即有4,500個帳號的存取令牌(access token)遭竊,為了避免災情擴大,npm撤銷了所有在昨天以前建立的存取令牌。

npm的全名為Node Package Manager,是Node.js預設的軟體套件管理系統,而ESLint則是JavaScript套件供應商,主要出版JavaScript程式分析工具。

意外的發生來自於ESLint的一名套件維護人員重複使用了已外洩的電子郵件及密碼作為npm帳號的憑證,而且未啟用雙因素驗證,使得駭客輕易地就登入了該名工程師的npm帳號,建立新的npm存取令牌,並於npm上出版含有惡意程式的eslint-scope@3.7.2與eslint-config-eslint@5.0.2。

一旦安裝了上述任一個版本,惡意程式即會自pastebin.com下載與執行一個可將用戶的.npmrc檔案傳送給駭客的功能,該檔案通常含有npm的存取令牌。

儘管這兩個偽造檔案從上傳到被下架的時間不到3個小時,但根據npm的估計,已有約4,500個帳號的存取令牌遭竊。

為了防範災情蔓延或造成連鎖效應,npm撤銷了在昨天以前所建立的所有存取令牌,也呼籲npm的註冊用戶必須重新取得npmjs.com的驗證與產生新的存取令牌。

ESLint則奉勸所有的npm套件維護人員都應避免使用重複的憑證,最好啟用npm的雙因素驗證機制,以及限制有權在npm出版套件的人數,另也建議應用程式開發人員應該利用工具來拑制新套件的自動安裝能力。


Advertisement

更多 iThome相關內容