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

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

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

0
分享至

在開源生態(tài)高度繁榮的今天,一行代碼、一個權(quán)限、一款插件,都可能成為引爆供應(yīng)鏈安全危機(jī)的導(dǎo)火索。本文作者親歷了自己維護(hù) 8 年的知名開源項(xiàng)目 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)實(shí)中的恐懼。可當(dāng)你最擔(dān)心的事以完全意想不到的方式發(fā)生時,你該如何應(yīng)對?

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

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

下面,就是我開源生涯中最驚險的一次事故,以及我是如何在安全團(tuán)隊(duì)和一點(diǎn)點(diǎn)“運(yùn)氣”的幫助下,救回這個 8 年老項(xiàng)目的。



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

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

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

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

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


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

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

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

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

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

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

但很快,我就確認(rèn)代碼庫是真的被入侵了:項(xiàng)目四個核心倉庫全部被注入惡意 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ù)擴(kuò)散。

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

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

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

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

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

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

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

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


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

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

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

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

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

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

“我剛裝了 OpenClaw,還給了 GitHub 權(quán)限,可能就是這個原因。”

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

一天后,這位賬號被黑的“老成員”確認(rèn):他是最近名為 ClawHavoc 供應(yīng)鏈攻擊的受害者之一,病毒通過被入侵的 OpenClaw 插件擴(kuò)散。目前,同款惡意 JavaScript 載荷仍在通過其他被盜賬號在 GitHub 上擴(kuò)散,并且出現(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ù)你自己和項(xiàng)目的關(guān)鍵建議:

(1)立刻開啟分支保護(hù)規(guī)則,這是做正經(jīng)項(xià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è)計非?!拔kU” —— 居然把原始系統(tǒng)命令存在 Markdown 文件里來擴(kuò)展 AI 能力!

這一次,是 OSM 團(tuán)隊(duì)救了 Neutralinojs。現(xiàn)在項(xiàng)目所有倉庫已經(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)推薦
熱點(diǎn)推薦
李亞鵬復(fù)婚登上熱搜,前妻海哈金喜回應(yīng):我們都是夏夏的父母,不會不聯(lián)系和尷尬,我們都很好,謝謝大家關(guān)心

李亞鵬復(fù)婚登上熱搜,前妻海哈金喜回應(yīng):我們都是夏夏的父母,不會不聯(lián)系和尷尬,我們都很好,謝謝大家關(guān)心

魯中晨報
2026-04-24 18:00:07
不裝了?馬斯克罕見承認(rèn):美國是第一,但第二到第十全都來自中國

不裝了?馬斯克罕見承認(rèn):美國是第一,但第二到第十全都來自中國

大衛(wèi)聊科技
2026-04-23 12:13:36
魏建軍的“五分鐘暴怒”:撕開長城汽車高端化轉(zhuǎn)型的“皇帝新衣”

魏建軍的“五分鐘暴怒”:撕開長城汽車高端化轉(zhuǎn)型的“皇帝新衣”

劉曠
2026-04-24 08:54:54
張朝陽:我一不談戀愛、二不喜歡應(yīng)酬,我有得是錢,沒必要結(jié)婚!

張朝陽:我一不談戀愛、二不喜歡應(yīng)酬,我有得是錢,沒必要結(jié)婚!

說點(diǎn)事
2026-04-17 16:40:09
哇塞,這大體格太完美了,誰娶了她,定能旺三代微信

哇塞,這大體格太完美了,誰娶了她,定能旺三代微信

西莫的藝術(shù)宮殿
2026-04-17 18:12:11
施大畏文革期間的畫作,他會后悔嗎?事實(shí)上卻是他最有價值的作品

施大畏文革期間的畫作,他會后悔嗎?事實(shí)上卻是他最有價值的作品

文學(xué)之私秘
2026-04-25 00:14:26
斯諾克世錦賽26日凌晨!世界冠軍被淘汰,3連鞭,趙心童9-7丁俊暉

斯諾克世錦賽26日凌晨!世界冠軍被淘汰,3連鞭,趙心童9-7丁俊暉

帛河體育
2026-04-26 00:44:20
41歲C羅肌肉依舊炸裂!前私廚揭秘飲食紅線:牛奶堅決不碰!

41歲C羅肌肉依舊炸裂!前私廚揭秘飲食紅線:牛奶堅決不碰!

仰臥撐FTUer
2026-04-24 14:38:03
銷量大跳水!昔日中年男人的夢中豪車賣不動了?轉(zhuǎn)頭賣起70萬的表

銷量大跳水!昔日中年男人的夢中豪車賣不動了?轉(zhuǎn)頭賣起70萬的表

財經(jīng)八卦
2026-04-24 17:06:14
明明只是戲子,卻把自己當(dāng)大腕,論“耍大牌”,這5位明星夠丟人

明明只是戲子,卻把自己當(dāng)大腕,論“耍大牌”,這5位明星夠丟人

青橘罐頭
2026-04-22 09:59:06
毛主席去世前,留下兩大謎團(tuán),一個至今無人知曉

毛主席去世前,留下兩大謎團(tuán),一個至今無人知曉

幽州校尉
2026-03-29 08:12:28
一張嘴封神,秦昊給娛樂圈所有假客氣上了慘痛一課

一張嘴封神,秦昊給娛樂圈所有假客氣上了慘痛一課

草莓解說體育
2026-04-25 20:54:33
你威脅開戰(zhàn),我就以戰(zhàn)爭相回應(yīng)!你想毀滅中國,中國就先毀滅你!

你威脅開戰(zhàn),我就以戰(zhàn)爭相回應(yīng)!你想毀滅中國,中國就先毀滅你!

安安說
2026-03-20 11:13:04
紅旗HS6 PHEV低調(diào)上市,17.88萬起的中大型插混SUV到底值不值?

紅旗HS6 PHEV低調(diào)上市,17.88萬起的中大型插混SUV到底值不值?

EV世紀(jì)
2025-12-17 13:31:07
董潔回遼寧過年,分享年夜飯拿手好菜,不受年齡限制的美貌太吸睛

董潔回遼寧過年,分享年夜飯拿手好菜,不受年齡限制的美貌太吸睛

柒佰娛
2026-02-16 10:26:22
重磅!漢莎航空將取消約兩萬個航班

重磅!漢莎航空將取消約兩萬個航班

開元周游
2026-04-25 18:03:52
第一次對現(xiàn)金的購買力有這么清晰的概念!網(wǎng)友:不要小瞧一萬塊錢

第一次對現(xiàn)金的購買力有這么清晰的概念!網(wǎng)友:不要小瞧一萬塊錢

夜深愛雜談
2026-03-16 21:38:52
二環(huán)路每天堵車,城墻早沒了,可磚頭還在地鐵里

二環(huán)路每天堵車,城墻早沒了,可磚頭還在地鐵里

王二哥老搞笑
2026-04-24 04:33:59
他逃亡16年,靠贓款娶4個漂亮老婆生12個娃,被捕時身家有幾個億

他逃亡16年,靠贓款娶4個漂亮老婆生12個娃,被捕時身家有幾個億

小熊侃史
2026-01-12 07:30:14
被倒數(shù)第1打爆 國安7輪1勝淪為保級隊(duì)+21年尷尬 44歲少帥:我全責(zé)

被倒數(shù)第1打爆 國安7輪1勝淪為保級隊(duì)+21年尷尬 44歲少帥:我全責(zé)

風(fēng)過鄉(xiāng)
2026-04-25 22:59:11
2026-04-26 01:56:52
CSDN incentive-icons
CSDN
成就一億技術(shù)人
26482文章數(shù) 242272關(guān)注度
往期回顧 全部

科技要聞

DeepSeek V4發(fā)布!黃仁勛預(yù)言的"災(zāi)難"降臨

頭條要聞

媒體:美軍在中東罕見高密度集結(jié) 伊朗開始調(diào)整戰(zhàn)術(shù)

頭條要聞

媒體:美軍在中東罕見高密度集結(jié) 伊朗開始調(diào)整戰(zhàn)術(shù)

體育要聞

那一刻開始,兩支球隊(duì)的命運(yùn)悄然改變了

娛樂要聞

《我們的爸爸2》第一季完美爸爸翻車了

財經(jīng)要聞

90%訂單消失,中東旺季沒了

汽車要聞

2026款樂道L90亮相北京車展 樂道L80正式官宣

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

教育
房產(chǎn)
旅游
本地
健康

教育要聞

一根風(fēng)箏線,牽起一個校長的教育夢

房產(chǎn)要聞

新一輪教育大爆發(fā)來了!???,開始瘋狂建學(xué)校!

旅游要聞

美猴王VS水蜜桃,連云港、無錫文旅“雙向奔赴”

本地新聞

云游中國|逛世界風(fēng)箏都 留學(xué)生探秘中國傳統(tǒng)文化

干細(xì)胞如何讓燒燙傷皮膚"再生"?

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