国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

8年心血差點“一夜清零”!只因“自己人”裝了個「龍蝦」,4個核心倉庫被投毒

0
分享至

在開源生態(tài)高度繁榮的今天,一行代碼、一個權(quán)限、一款插件,都可能成為引爆供應(yīng)鏈安全危機的導(dǎo)火索。本文作者親歷了自己維護(hù) 8 年的知名開源項目 Neutralinojs 遭遇惡意攻擊,且他的經(jīng)歷并非個例,而是一個典型信號:供應(yīng)鏈攻擊已經(jīng)從“攻擊代碼”,演變?yōu)椤肮粜湃侮P(guān)系”。它不再依賴傳統(tǒng)Bug,而是潛伏在協(xié)作者權(quán)限、開發(fā)流程乃至 AI 插件生態(tài)之中,悄無聲息地發(fā)生。

原文鏈接:https://levelup.gitconnected.com/my-8-year-old-open-source-project-was-a-victim-of-a-major-cyber-attack-24af7eb3a82b

作者 | Shalitha Suranga 編譯 | 鄭麗媛

出品 | CSDN(ID:CSDNnews)

很多時候,我們總是擔(dān)心想象中的風(fēng)險,卻很少直面現(xiàn)實中的恐懼。可當(dāng)你最擔(dān)心的事以完全意想不到的方式發(fā)生時,你該如何應(yīng)對?

最近,我就親身經(jīng)歷了這一切。我在 GitHub 上維護(hù)的一個熱門開源項目,卷入了一場大規(guī)模軟件供應(yīng)鏈攻擊。而這次被攻破的原因非常特殊 —— 竟是我們開發(fā)工作流里的一個Bug。

如果你也是開發(fā)者,那么這種事情完全有可能發(fā)生在你身上。運氣差一點,你耗時十年的心血可能在一天之內(nèi)毀于一旦,項目口碑也會徹底崩塌,再也無法挽回。

下面,就是我開源生涯中最驚險的一次事故,以及我是如何在安全團隊和一點點“運氣”的幫助下,救回這個 8 年老項目的。



項目背景:一個對標(biāo) Electron 的輕量級方案

這個項目叫 Neutralinojs。它是一個輕量級的跨平臺桌面應(yīng)用開發(fā)框架,2018 年我和其他幾位開發(fā)者一起啟動了這個項目,但很快就變成了我一個人維護(hù)。

過去幾年,我投入了大量時間打磨這個項目,并逐步建立起社區(qū)生態(tài),它曾三次入選 Google Summer of Code(GSoC):2022、2024、2026 年。

簡單來說,它的定位就是:Electron 的輕量替代方案。如今已有成千上萬的跨平臺應(yīng)用基于它構(gòu)建,開發(fā)者社區(qū)還在持續(xù)壯大,核心貢獻(xiàn)者也一直在積極推動項目迭代。

這個項目一直強調(diào)兩件事:極簡設(shè)計和性能優(yōu)先。對于很多程序員來說,Neutralinojs 不僅是工具,更是一種工程理念。


災(zāi)難的開始:一條 LinkedIn 私信

我平時不怎么刷 LinkedIn,但會認(rèn)真查看私信 —— 很多人會來咨詢 Neutralinojs、GSoC,或是邀請我參加技術(shù)分享。

3 月 5 日早上,我收到了一條來自 OpenSourceMalware(OSM)安全團隊成員的 LinkedIn 私信。內(nèi)容大概是:

“你的主代碼倉庫已經(jīng)被植入惡意 JavaScript 代碼,我們已經(jīng)提交了一個 PR 用于清除它?!?/blockquote>

看到這條消息,我整個人直接懵了。因為我最擔(dān)心的事情就是:自己誤合并了帶惡意代碼的 PR,所以甚至連 GitHub Dependabot 自動生成的 PR,我都會仔細(xì) review。

我的第一反應(yīng)是:我的 GitHub token 被盜了?還是賬號被入侵了?但我對安全一向很謹(jǐn)慎,自認(rèn)賬號幾乎不可能出問題。

但很快,我就確認(rèn)代碼庫是真的被入侵了:項目四個核心倉庫全部被注入惡意 JavaScript 代碼。而且攻擊手法非常隱蔽:這些惡意代碼經(jīng)過重度混淆,還利用大量空格巧妙隱藏,在 GitHub 代碼查看器里,肉眼幾乎無法察覺異常。

顯然,這不是普通攻擊,這是精心設(shè)計的供應(yīng)鏈攻擊。我立刻和 OSM 成員協(xié)作,第一時間保障貢獻(xiàn)者、應(yīng)用開發(fā)者和用戶的安全。


緊急止血:第一時間做了什么?

雖然當(dāng)時還不清楚這段惡意代碼的破壞力,但我直接按最高危漏洞處理:

(1)合并 OSM 的 PR,清理所有倉庫中的惡意載荷;

(2)刪除已構(gòu)建的 nightly 版本,禁用 nightly 構(gòu)建工作流;

(3)吊銷我之前創(chuàng)建的所有 GitHub Token;

(4)禁止所有受影響倉庫默認(rèn)分支的直接推送—— 這正是我們 Git 工作流里最致命的漏洞!

(5)檢查 GitHub 發(fā)布?xì)v史和 NPM 包(@neutralinojs/neu、@neutralinojs/lib);

(6)在所有受影響倉庫添加重大安全公告,并通過 Discord 高優(yōu)先級消息通知社區(qū);

(7)啟動全面安全審計:檢查代碼、活躍 Fork、倉庫設(shè)置、GitHub Actions、開發(fā)工具等所有關(guān)聯(lián)環(huán)節(jié)。

以上這些的核心目標(biāo)只有一個:阻止惡意代碼繼續(xù)擴散。

根據(jù) OSM 的報告 + 我的分析,最終結(jié)論如下:

  • 攻擊發(fā)生在 3 月 2 日很短一段時間內(nèi);

  • 只有 Neutralinojs 組織下的 4 個倉庫被強制推送、篡改歷史 Git 提交,其他倉庫安全;

  • 所有 GitHub 發(fā)行版和 NPM 包都是干凈的;

  • 只有在 3 月 2–5 日之間 pull 代碼的人可能中招;

  • 攻擊源頭來自朝鮮,惡意代碼會連接 C2(指揮控制)服務(wù)器(部署在 Vercel,已被移除)。

換句話說:這是一場差一點就炸掉整個生態(tài)的攻擊!

幸運的是,在 OSM 團隊支持下,我通過清理 Git 記錄、開啟 GitHub 分支保護(hù)規(guī)則,徹底解決了這次危機。


破案時刻:真正的入侵路徑

盡管如此,但事情還沒結(jié)束,我開始化身“偵探”,繼續(xù)調(diào)查這件事情的源頭:攻擊者居然還能訪問其他倉庫(雖然主倉庫已經(jīng)禁止直接推送),這到底是怎么做到的?

我一開始以為是自己的某個 GitHub Token 被盜,但事實并非如此。我發(fā)現(xiàn):注入惡意代碼的強制推送,來自 Neutralinojs 組織非常早期的一位“老成員”,而且他的 GitHub 賬號竟然還擁有所有倉庫的寫入權(quán)限!

我立刻吊銷了他的權(quán)限,重新檢查所有倉庫,并同步給 OSM 團隊。

隨后,我在他的個人 GitHub 倉庫里也找到了同款惡意 JavaScript 載荷——真相大白:是他的賬號被攻陷了,不是我的 Token 或賬號泄露。

我馬上聯(lián)系他,他回復(fù):

“我剛裝了 OpenClaw,還給了 GitHub 權(quán)限,可能就是這個原因?!?/blockquote>

事后,OSM 發(fā)布了最終報告,重新掃描所有倉庫后確認(rèn):Neutralinojs 代碼庫已完全安全。我也同步通知了所有貢獻(xiàn)者,并給可能受影響的開發(fā)者提供了修復(fù)方案。

一天后,這位賬號被黑的“老成員”確認(rèn):他是最近名為 ClawHavoc 供應(yīng)鏈攻擊的受害者之一,病毒通過被入侵的 OpenClaw 插件擴散。目前,同款惡意 JavaScript 載荷仍在通過其他被盜賬號在 GitHub 上擴散,并且出現(xiàn)了多個變種。

據(jù) OSM 披露:該惡意軟件會從區(qū)塊鏈交易中獲取 C2 服務(wù)器地址。即便主服務(wù)器被 Vercel 下架,攻擊者依然可以新建服務(wù)器,并把地址寫入?yún)^(qū)塊鏈,繼續(xù)控制受害者電腦。


給所有開源維護(hù)者的安全建議

根據(jù) OSM 的說法,這類跨平臺、基于 JavaScript、利用區(qū)塊鏈獲取 C2 地址的供應(yīng)鏈攻擊正在快速激增,用 Linux / Mac 也并不代表 100% 安全。

我認(rèn)為,以下是保護(hù)你自己和項目的關(guān)鍵建議:

(1)立刻開啟分支保護(hù)規(guī)則,這是做正經(jīng)項目的第一步;

(2)永遠(yuǎn)不要讓 Git 明文存儲 Token,Linux 下可以用 libsecret 安全存儲憑證;

(3)定期檢查倉庫寫入權(quán)限,前成員離開立即回收權(quán)限;

(4)謹(jǐn)慎選擇依賴,下載前先看安全警報;

(5)仔細(xì)閱讀所有依賴的更新日志與安全說明;

(6)最小權(quán)限原則,不要無腦給全量權(quán)限;

(7)不要盲目復(fù)制粘貼網(wǎng)上代碼,尤其是終端命令;

(8)所有重要賬號(GitHub、NPM 等)務(wù)必開啟 2FA。

在此之前,我不是沒見過病毒、木馬、社會工程學(xué)等攻擊,但這種形式的供應(yīng)鏈攻擊還是第一次親身經(jīng)歷——現(xiàn)在的惡意軟件已經(jīng)進(jìn)化到恐怖的程度:你只需要執(zhí)行一條 git clone、npm install,甚至只是把某人加進(jìn)倉庫協(xié)作,電腦就可能中招。

2026 年,數(shù)字世界的每一步操作都要小心。供應(yīng)鏈攻擊,已是這個時代開發(fā)者最可怕的敵人。

同時也要謹(jǐn)慎使用 AI,使用前必須花時間了解它的工作原理。在我看來,OpenClaw 的插件生態(tài)設(shè)計非常“危險” —— 居然把原始系統(tǒng)命令存在 Markdown 文件里來擴展 AI 能力!

這一次,是 OSM 團隊救了 Neutralinojs。現(xiàn)在項目所有倉庫已經(jīng)完全干凈,我們將繼續(xù)沖擊 2026 年 GSoC!

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點推薦
選擇真的大于努力!0冠凱恩去拜仁奪3冠 17冠小蜘蛛去馬競0冠

選擇真的大于努力!0冠凱恩去拜仁奪3冠 17冠小蜘蛛去馬競0冠

智道足球
2026-04-21 18:12:38
突發(fā)!協(xié)議即將達(dá)成,28國聯(lián)手對付中國,名單公布,沒一個是善茬

突發(fā)!協(xié)議即將達(dá)成,28國聯(lián)手對付中國,名單公布,沒一個是善茬

游古史
2026-04-22 13:02:50
李夢楊力維馳援?世界杯分組,中國女籃下下簽,和美國意大利同組

李夢楊力維馳援?世界杯分組,中國女籃下下簽,和美國意大利同組

東球貓貓
2026-04-22 08:59:04
中國第二條跨省地鐵,來了

中國第二條跨省地鐵,來了

國民經(jīng)略
2026-04-22 11:40:31
臺日混血士兵遭連長罵“死日本鬼子” 顧立雄回應(yīng)了。

臺日混血士兵遭連長罵“死日本鬼子” 顧立雄回應(yīng)了。

荊楚寰宇文樞
2026-04-21 22:47:47
伊朗代表:美國解除對伊海上封鎖或可成為談判基礎(chǔ)

伊朗代表:美國解除對伊海上封鎖或可成為談判基礎(chǔ)

新京報
2026-04-22 07:35:07
美15艘軍艦封鎖霍爾木茲?中國沉默6天后,一招讓特朗普徹底破防

美15艘軍艦封鎖霍爾木茲?中國沉默6天后,一招讓特朗普徹底破防

歸史
2026-04-18 11:45:15
索尼PS5最新第一方獨占大作預(yù)載開始!高達(dá)83GB

索尼PS5最新第一方獨占大作預(yù)載開始!高達(dá)83GB

游民星空
2026-04-22 10:22:45
王亞平上天回來后,36歲為丈夫生下一個女兒,享四項優(yōu)待

王亞平上天回來后,36歲為丈夫生下一個女兒,享四項優(yōu)待

究竟誰主沉浮
2026-03-15 11:03:51
痛心!57歲法國知名女星泳池溺水身亡,曾搭檔李連杰出演《游俠》

痛心!57歲法國知名女星泳池溺水身亡,曾搭檔李連杰出演《游俠》

阿訊說天下
2026-04-20 10:46:31
黑粉攻擊何潤東風(fēng)波升級!博主怒撕:蹭熱度該適可而止,又老又丑

黑粉攻擊何潤東風(fēng)波升級!博主怒撕:蹭熱度該適可而止,又老又丑

小徐講八卦
2026-04-19 15:19:03
交完錢就“跑路”?海南一幼兒園突然閉園,上百家庭學(xué)費打水漂,老師工資泡湯!

交完錢就“跑路”?海南一幼兒園突然閉園,上百家庭學(xué)費打水漂,老師工資泡湯!

蓬勃新聞
2026-04-20 21:48:04
身材豐滿女生,這樣打扮既顯瘦顯腿長,又有女人味

身材豐滿女生,這樣打扮既顯瘦顯腿長,又有女人味

美女穿搭分享
2026-04-20 13:54:46
尹子維的母親曾是邵氏的頂級花旦,驚為天人的美貌,美得讓人窒息

尹子維的母親曾是邵氏的頂級花旦,驚為天人的美貌,美得讓人窒息

上官晚安
2026-04-21 08:56:51
最新:我海軍剛通過橫當(dāng)水道,日本2架軍機從兩個方向飛了過來

最新:我海軍剛通過橫當(dāng)水道,日本2架軍機從兩個方向飛了過來

消失的電波
2026-04-21 17:21:58
四川突放大招!27家銀行同一天解散,儲戶存款怎么辦?

四川突放大招!27家銀行同一天解散,儲戶存款怎么辦?

說故事的阿襲
2026-04-21 16:56:44
特朗普的中東騙局被戳穿,炸伊朗、逼談判是演戲,真正目標(biāo)藏不住

特朗普的中東騙局被戳穿,炸伊朗、逼談判是演戲,真正目標(biāo)藏不住

西樓知趣雜談
2026-04-22 11:42:50
粉底液將軍,正在毀掉一個行業(yè)

粉底液將軍,正在毀掉一個行業(yè)

難得君
2026-04-20 16:26:29
中國汽車市場份額:法系0.2%,韓系1%,美系6.9%,日系13%

中國汽車市場份額:法系0.2%,韓系1%,美系6.9%,日系13%

狐貍先森講升學(xué)規(guī)劃
2026-04-21 09:30:03
實在搞不懂,這么漂亮的女神,為啥也離婚了

實在搞不懂,這么漂亮的女神,為啥也離婚了

動物奇奇怪怪
2026-04-21 17:03:30
2026-04-22 14:36:49
CSDN incentive-icons
CSDN
成就一億技術(shù)人
26471文章數(shù) 242270關(guān)注度
往期回顧 全部

科技要聞

對話梅濤:沒有視頻底座,具身智能走不遠(yuǎn)

頭條要聞

媒體:特朗普關(guān)上了談判的大門 雙方就只剩下一個選項

頭條要聞

媒體:特朗普關(guān)上了談判的大門 雙方就只剩下一個選項

體育要聞

網(wǎng)易傳媒再度簽約法國隊和阿根廷隊

娛樂要聞

復(fù)婚無望!baby黃曉明陪小海綿零交流

財經(jīng)要聞

伊朗拒絕出席 特朗普宣布延長停火期限

汽車要聞

純電續(xù)航301km+激光雷達(dá) 宋Pro DM-i飛馳版9.99萬起

態(tài)度原創(chuàng)

旅游
藝術(shù)
親子
公開課
軍事航空

旅游要聞

春和景明 來賞讀高平版的春天

藝術(shù)要聞

無花不風(fēng)景

親子要聞

卵巢早衰吃什么保養(yǎng)品調(diào)理好?輔酶q10備孕要提前多久吃?

公開課

李玫瑾:為什么性格比能力更重要?

軍事要聞

特朗普宣布延長?;?伊朗表態(tài)

無障礙瀏覽 進(jìn)入關(guān)懷版