GitHub 3.5萬個(gè)代碼庫被黑?謠言,只是被惡意復(fù)制
2022年,8月3日,軟件工程師 Stephen Lacy 在社交媒體上發(fā)布消息稱,Github 正在遭受大規(guī)模惡意軟件攻擊,超 3.5 萬個(gè)代碼庫受影響,波及范圍涵蓋 Crypto、Golang、Pyhon、js、bash、Docker 和 k8s 等領(lǐng)域。
該惡意軟件被發(fā)現(xiàn)添加到 npm 腳本、Docker 圖像和安裝文檔中。Stephen Lacy 提醒,此攻擊可能會(huì)將被攻擊者的多種密鑰泄露給攻擊者,并建議用戶使用 GPG 簽署所有提交。
但是事實(shí)與此相反,GitHub 上的“35000 個(gè)項(xiàng)目”并未受到任何影響或損害,crypto、golang、python、js、bash、docker、k8s等官方項(xiàng)目不受影響。
另一名軟件工程師注意到Stephen Lacy 在 Twitter 上分享的代碼中的以下 URL:
hxxp://ovz1.j19544519.pr46m.vps.myjino[.]ru
而在GitHub 上搜索此 URL 時(shí),有 35000 多個(gè)搜索結(jié)果顯示包含惡意 URL 的文件。因此,該圖表示可疑文件的數(shù)量而不是受感染的存儲(chǔ)庫:
惡意URL的 GitHub 搜索結(jié)果顯示超過35000個(gè)文件
進(jìn)一步搜索后發(fā)現(xiàn),在這3.5萬個(gè)惡意URL文件中,超過1.3萬個(gè)來自一個(gè)名為“redhat-operator-ecosystem”的存儲(chǔ)庫。目前這個(gè)存儲(chǔ)庫已經(jīng)從GitHub 中刪除,搜索結(jié)果顯示“404”。Stephen Lacy工程師也對(duì)他的原始推文進(jìn)行了更正和澄清。
惡意軟件為攻擊者遠(yuǎn)程攻擊提供后門
雖然“GitHub 3.5萬個(gè)代碼庫被攻擊”是一個(gè)烏龍事件,但是有軟件工程師發(fā)現(xiàn),大約有數(shù)千個(gè)GitHub代碼庫正在被惡意復(fù)制。
克隆開源代碼庫是一種常見的開發(fā)實(shí)踐,也是很多開發(fā)人員的基本操作。攻擊者正是利用了這一點(diǎn),悄悄地在被復(fù)制的代碼庫中隱藏了惡意軟件,以此進(jìn)行分發(fā)、推廣,一旦開發(fā)人員使用了被污染的代碼庫,那么將會(huì)被惡意軟件攻擊。
在收到軟件工程師的報(bào)告后,GitHub已經(jīng)清除了大部分惡意存儲(chǔ)庫。但仍需提高警惕,安全專家提醒,此次攻擊者的主要目標(biāo)就是那些防備心理不強(qiáng)的初級(jí)開發(fā)人員。
開發(fā)人員 James Tucker指出,包含惡意URL文件的GitHub存儲(chǔ)庫不僅泄露了用戶的環(huán)境變量 ,而且還包含一個(gè)單行后門。
克隆代碼庫存在惡意軟件
環(huán)境變量的泄露本身可以為攻擊者提供重要的秘密,例如用戶的 API 密鑰、令牌、Amazon AWS 憑證和加密密鑰等。單行指令(上面的第 241 行)則進(jìn)一步允許遠(yuǎn)程攻擊者在所有安裝和運(yùn)行這些惡意克隆的人的系統(tǒng)上執(zhí)行任意代碼。
據(jù)軟件工程師披露,絕大多數(shù)復(fù)制的存儲(chǔ)庫在上個(gè)月的某個(gè)時(shí)候被惡意代碼更改——時(shí)間從 6-20 天不等,甚至還觀察到了一些可追溯到2015年惡意提交的存儲(chǔ)庫。
最新的惡意URL提交者主要是來自安全專家,包括威脅情報(bào)分析師弗洛里安·羅斯 (Florian Roth),他提供了Sigma規(guī)則檢測環(huán)境中的惡意代碼。具有諷刺意味的是,一些 GitHub 用戶在看到 Sigma 規(guī)則中存在惡意字符串(供防御者使用)時(shí),開始錯(cuò)誤地將由 Roth 維護(hù)的 Sigma GitHub 存儲(chǔ)庫報(bào)告為惡意。