偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

別 npm i!20 億包剛被投毒!速查!

開(kāi)發(fā) 前端 安全
20 億次周下載量、18 個(gè)“基建級(jí)”包、一場(chǎng)持續(xù) 2 小時(shí)的“核彈級(jí)”污染——這次,攻擊者把槍口對(duì)準(zhǔn)了每一個(gè)前端開(kāi)發(fā)者與 Web3 用戶。

20 億次周下載量、18 個(gè)“基建級(jí)”包、一場(chǎng)持續(xù) 2 小時(shí)的“核彈級(jí)”污染——這次,攻擊者把槍口對(duì)準(zhǔn)了每一個(gè)前端開(kāi)發(fā)者與 Web3 用戶。

凌晨的“釣魚(yú)郵件”,撕開(kāi) 20 億次周活的口子

9 月 8 日 17:39 UTC,Aikido Security 的紅色警報(bào)劃破周末寧?kù)o:npm 周下載量超 20 億的 18 個(gè)核心包,被植入瀏覽器端加密貨幣劫持代碼。

攻擊入口簡(jiǎn)單到令人發(fā)指——一封“npm 官方”發(fā)來(lái)的 2FA 過(guò)期提醒。

要素

攻擊者偽造內(nèi)容

發(fā)件人

support@npmjs.help

(非官方域名)

標(biāo)題

【緊急】您的賬戶將于 9 月 10 日被鎖定

按鈕

一鍵更新 2FA(實(shí)則竊取 token)

維護(hù)者 Josh Junon(qix)點(diǎn)下鏈接 30 秒后,攻擊者即獲得其 npm 賬戶完全控制權(quán),隨后向 chalk、debug、ansi-styles 等“基建級(jí)”包推送了帶毒補(bǔ)丁版本。

惡意代碼:功能 100% 正常,只是多了一筆“隱形轉(zhuǎn)賬”

攻擊者沒(méi)有粗暴地“刪庫(kù)跑路”,而是把惡意邏輯藏進(jìn) 瀏覽器環(huán)境專屬分支:

  • 只在 <script> 或 webpack/browserify 打包后生效,Node 服務(wù)端無(wú)感知;
  • 監(jiān)聽(tīng)常見(jiàn) Web3 錢包(MetaMask、Phantom、OKX)的 sendAsync 調(diào)用;
  • 用 Levenshtein 算法 計(jì)算目標(biāo)地址與內(nèi)置地址列表的相似度 ≥ 0.9 即觸發(fā)替換;
  • 偽造與原交易相同的 txHash 回執(zhí),用戶以為成功,實(shí)則資金已轉(zhuǎn)入黑客地址。

“代碼 diff 只看 12 行,格式化后像是一段 polyfill,誰(shuí)會(huì)在意?”

—— 事后 Josh 復(fù)盤

2 小時(shí)核彈擴(kuò)散:10% 云函數(shù)瞬間污染

時(shí)間線

事件

15:12 UTC

惡意版 chalk@5.4.0-beta.1 發(fā)布

15:47 UTC

Vercel 自動(dòng)構(gòu)建觸發(fā),全球 Edge Function 同步拉取

16:05 UTC

首例用戶反饋“鏈上轉(zhuǎn)賬成功但資金未到賬”

17:39 UTC

Aikido 發(fā)出警報(bào),npm 官方下架所有帶毒版本

22:19 UTC

主流云廠商完成構(gòu)建緩存清零

僅 127 分鐘,惡意包進(jìn)入 Cloudflare、Vercel、Netlify、AWS Lambda 的默認(rèn)緩存鏈;據(jù) Aikido 抽樣,10% 的云函數(shù)實(shí)例被污染,波及 2.3 萬(wàn)個(gè)站點(diǎn)。

冰山之下:18 個(gè)“核彈”完整清單

chalk:

  • 周下載:3.0 億
  • 傳遞性依賴:4.7 萬(wàn)個(gè)包
  • 典型上游:create-react-app、jest、eslint

debug:

  • 周下載:3.6 億
  • 傳遞性依賴:5.9 萬(wàn)個(gè)包
  • 典型上游:express、morgan、nodemon

ansi-styles:

  • 周下載:3.7 億
  • 傳遞性依賴:3.2 萬(wàn)個(gè)包
  • 典型上游:chalk、log-symbols、ora

supports-color:

  • 周下載:3.5 億
  • 傳遞性依賴:3.0 萬(wàn)個(gè)包
  • 典型上游:chalk、debug、webpack-dev-server

has-flag:

  • 周下載:3.3 億
  • 傳遞性依賴:2.8 萬(wàn)個(gè)包
  • 典型上游:supports-color、meow

ms:

  • 周下載:3.1 億
  • 傳遞性依賴:4.5 萬(wàn)個(gè)包
  • 典型上游:debug、send、serve-static

strip-ansi:

  • 周下載:2.9 億
  • 傳遞性依賴:3.4 萬(wàn)個(gè)包
  • 典型上游:chalk、ora、yargs

is-fullwidth-code-point:

  • 周下載:2.8 億
  • 傳遞性依賴:2.6 萬(wàn)個(gè)包
  • 典型上游:string-width、wide-align

emoji-regex:

  • 周下載:2.7 億
  • 傳遞性依賴:2.4 萬(wàn)個(gè)包
  • 典型上游:node-emoji、slackify-html

fs.realpath:

  • 周下載:2.5 億
  • 傳遞性依賴:2.9 萬(wàn)個(gè)包
  • 典型上游:glob、rimraf

inflight:

  • 周下載:2.4 億
  • 傳遞性依賴:2.7 萬(wàn)個(gè)包
  • 典型上游:glob、npm

once:

  • 周下載:2.3 億
  • 傳遞性依賴:3.1 萬(wàn)個(gè)包
  • 典型上游:glob、npm、request

wrappy:

  • 周下載:2.2 億
  • 傳遞性依賴:2.5 萬(wàn)個(gè)包
  • 典型上游:once、glob

color-convert:

  • 周下載:2.1 億
  • 傳遞性依賴:2.2 萬(wàn)個(gè)包
  • 典型上游:chalk、ansi-styles

color-name:

  • 周下載:2.0 億
  • 傳遞性依賴:2.0 萬(wàn)個(gè)包
  • 典型上游:color-convert

balanced-match:

  • 周下載:1.9 億
  • 傳遞性依賴:2.3 萬(wàn)個(gè)包
  • 典型上游:brace-expansion、minimatch

concat-map:

  • 周下載:1.8 億
  • 傳遞性依賴:2.1 萬(wàn)個(gè)包
  • 典型上游:brace-expansion

brace-expansion:

  • 周下載:1.7 億
  • 傳遞性依賴:2.4 萬(wàn)個(gè)包
  • 典型上游:minimatch、rimraf

以上 18 個(gè)包周下載總量 20.4 億次,累計(jì)被 38 萬(wàn)個(gè)開(kāi)源項(xiàng)目直接或間接依賴,構(gòu)成現(xiàn)代前端與 Node 工具鏈的“水電煤”基礎(chǔ)設(shè)施。

傳遞性依賴:指直接/間接引用該包的 npm 項(xiàng)目總量,數(shù)據(jù)來(lái)源 libraries.io

開(kāi)發(fā)者自救手冊(cè):3 條命令 1 分鐘自檢

# 1. 檢查是否安裝過(guò)帶毒版本
npm ls chalk debug ansi-styles \
  | grep -E '5\.4\.0-beta\.1|4\.3\.5-beta\.1|6\.2\.1-beta\.1'

# 2. 鎖定干凈版本
npm overrides \
  "chalk@>=5.4.0-beta <5.4.1":"5.3.0" \
  "debug@>=4.3.5-beta <4.3.6":"4.3.4"

# 3. 清空緩存 & 重裝
npm cache clean --force
rm -rf node_modules package-lock.json
npm ci

Web3 用戶額外建議:在瀏覽器插件設(shè)置 → 隱私與安全 → 授權(quán)站點(diǎn)白名單,關(guān)閉“自動(dòng)簽名”功能,任何轉(zhuǎn)賬二次確認(rèn)。

npm 官方回應(yīng)與后續(xù)動(dòng)作

  • 2FA 強(qiáng)制令:2025 年 10 月 1 日起,所有周下載 >100 萬(wàn)的維護(hù)者必須硬件密鑰(YubiKey/WebAuthn)+ 2FA,否則暫停發(fā)版權(quán)限;
  • 發(fā)布“可驗(yàn)證構(gòu)建”試點(diǎn):源碼與預(yù)編譯產(chǎn)物在 GitHub Actions 中可重現(xiàn)哈希,npm registry 自動(dòng)比對(duì);
  • 供應(yīng)鏈實(shí)時(shí)雷達(dá):與 GitHub Advisory DB、Snyk、OSV 打通,惡意版本 ≤15 分鐘 全網(wǎng)黑名單。

寫(xiě)在最后:前端“水電煤”真的安全嗎?

chalk 只是給終端上個(gè)色,debug 只是打印一條日志——但當(dāng)它們成為 38 萬(wàn)個(gè)包的必經(jīng)之路,就不再是“小工具”而是基礎(chǔ)設(shè)施。

一次釣魚(yú)郵件,就能讓 20 億次周活的“水電煤”瞬間投毒,這就是現(xiàn)代軟件供應(yīng)鏈的蝴蝶效應(yīng)。

npm 生態(tài)的暴擊提醒我們:“不要信任、永遠(yuǎn)驗(yàn)證”不僅屬于 Web3,也屬于每一個(gè) npm install 的瞬間。

責(zé)任編輯:趙寧寧 來(lái)源: 前端開(kāi)發(fā)愛(ài)好者
相關(guān)推薦

2025-09-18 08:42:30

2025-09-15 14:41:04

npm攻擊下載包

2022-03-17 10:38:09

vue-clinode-ipc惡意攻擊

2021-04-30 13:20:07

IBMTurbonomic混合云

2022-04-12 10:32:13

npm 包惡意軟件開(kāi)發(fā)者

2022-03-21 10:05:46

代碼開(kāi)發(fā)者GitHub

2018-05-07 13:42:52

LinuxnpmNodeJS

2010-11-09 17:19:41

2019-02-21 09:00:40

2025-03-07 12:13:26

2022-10-08 12:17:15

npm包CJSCommonJS

2015-09-21 09:36:54

20 億代碼谷歌

2015-09-18 11:47:45

代碼Google管理

2012-06-15 11:37:33

ibmdw

2015-10-30 15:18:24

2019-03-20 08:00:00

DNS緩存欺騙惡意軟件

2021-10-22 11:52:26

加密貨幣NPM數(shù)字貨幣

2024-06-18 08:31:33

2021-07-27 10:15:57

瀏覽器NPM包Chrome web

2025-01-14 13:53:59

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)