セキュリティ

GitHubに数百万件もの「悪意のあるコードを埋め込んだ既存リポジトリのコピー」がアップロードされていたという報告


GitHubは世界最大級のソフトウェア開発プラットフォームであり、メジャーなものからニッチなものまで多種多様なリポジトリが公開されています。ところが、GitHubでは2023年半ばから大規模な「repo confusion(リポジトリかく乱攻撃)」キャンペーンが行われており、最大で数百万件もの「既存リポジトリに見せかけた悪意のあるリポジトリ」がアップロードされていたと、セキュリティ企業・Apiiroの研究者であるマタン・ギラディ氏とギル・デイヴィッド氏が報告しました。

Over 100,000 Infected Repos Found on GitHub
https://apiiro.com/blog/malicious-code-campaign-github-repo-confusion-attack/


GitHub besieged by millions of malicious repositories in ongoing attack | Ars Technica
https://arstechnica.com/security/2024/02/github-besieged-by-millions-of-malicious-repositories-in-ongoing-attack/

GitHub under attack — millions of malicious cloud repositories bombard website | TechRadar
https://www.techradar.com/pro/security/github-under-attack-millions-of-malicious-cloud-repositories-bombard-website

リポジトリかく乱攻撃では、攻撃者が既存のリポジトリを複製し、悪意のあるコードを埋め込んだ上でプラットフォームにアップロードします。もし、他のユーザーが既存のリポジトリと誤認して悪意のあるリポジトリをダウンロードして実行すると、埋め込まれた悪意のあるコードが実行されてしまうというわけです。


ギラディ氏らによると、攻撃者は以下のような手順で悪意のあるリポジトリをGitHub上で氾濫させているとのこと。

1:既存リポジトリ(TwitterFollowBot、WhatsappBOT、discord-boost-tool、Twitch-Follow-Botなど)を複製する。
2:マルウェアローダーを埋め込む。
3:悪意のあるリポジトリを既存リポジトリと同じ名前でGitHubにアップロードし直す。
4:自動化システムを用いて悪意のあるリポジトリを数千回もフォークする。
5:フォーラムやDiscordでひっそりと悪意のあるリポジトリを宣伝する。

だまされた開発者がうっかり悪意のあるリポジトリを実行すると、7つの難読化レイヤーが施された悪意のあるコードが解凍され、悪意のあるPythonコードを受信して攻撃を実行します。悪意のあるコードは主にオープンソースの情報窃取ツール「BlackCap-Grabber」の修正版で構成されており、さまざまなアプリから認証Cookieやログイン資格情報を収集し、攻撃者のサーバーに送信するとのことです。


GitHubでは2023年5月からリポジトリかく乱攻撃キャンペーンが行われていたそうですが、5月の第1段階と7~8月の第2段階では標的が比較的少数のリポジトリにとどまっていたとのこと。しかし、11月~2024年2月にかけて10万件を超える悪意のあるリポジトリが検出されており、ギラディ氏らは実際にアップロードされた悪意のあるリポジトリの数が数百万件に達すると推定しています。

GitHubには自動化されたプロセスでアップロードされたリポジトリを識別・削除するツールがあるため、悪意のあるリポジトリのほとんどはアップロードから数時間以内に削除されます。しかし、一部の悪意のあるリポジトリはツールから見逃されており、わずか1%が生き残るだけでも数千~数万件以上の悪意のあるリポジトリがGitHub上に存在することになります。

ギラディ氏らは、「このキャンペーンは範囲が広いため、時には素直なユーザーがマルウェアを拡散していることに気づかないまま悪意のあるリポジトリをフォークすることで、二次的なソーシャル・エンジニアリング・ネットワーク効果をもたらしています。自動化に大きく依存した後のステップで、人間によってマルウェアが拡散されるというのは皮肉なものです」と述べました。攻撃者らは比較的ニッチなリポジトリを標的にしているため、無防備な開発者が間違いを犯しやすいとのこと。

すでにギラディ氏らはGitHubに問題を通知しており、悪意のあるリポジトリのほとんどが削除されたそうですが、依然としてリポジトリかく乱攻撃キャンペーンは続いているとギラディ氏らは警告しています。


テクノロジー系メディアのArs Technicaによると、ソフトウェア開発プラットフォームのリポジトリを狙ったサプライチェーン攻撃は、少なくとも2016年から存在していたとのこと。他にも、広く使われるライブラリパッケージが乗っ取られ、悪意のあるバージョンを公開するソフトウェアの依存関係を狙った攻撃手法も登場するなど、ソフトウェアのサプライチェーンは攻撃者にとって有望な標的であり続けています。

GitHubはArs Technicaの質問に答えませんでしたが、声明で「GitHubは4億2000万件以上のリポジトリと1億人以上の開発者をホストしており、開発者に安全でセキュアなプラットフォームを提供することを約束します。GitHubでは利用規定に違反するコンテンツやアカウントを検出・分析・削除する専門チームがあります。私たちは機械学習を使用し、常に進化し続ける敵対的な戦術に対応する手動レビューと大規模な検出を採用しています。また、顧客やコミュニティメンバーには、不正使用やスパムを報告することを奨励しています」とコメントしました。

なお、GitHubは2月29日のブログで、すべてのユーザーに対してプッシュ保護をデフォルトで有効にしたと報告しました。これにより、コミットにAPIキーやトークンなどの機密情報が含まれていることが検出された場合は自動的にコミットがブロックされ、事故による機密情報の流出を防いでくれるとのことです。

Keeping secrets out of public repositories - The GitHub Blog
https://github.blog/2024-02-29-keeping-secrets-out-of-public-repositories/


GitHub enables push protection by default to stop secrets leak
https://www.bleepingcomputer.com/news/security/github-enables-push-protection-by-default-to-stop-secrets-leak/

この記事のタイトルとURLをコピーする

・関連記事
多数のGitHubリポジトリでマルウェアを仕込んだ「セキュリティ検証用コード」が発見される、なんと10個に1個は悪意のあるリポジトリ - GIGAZINE

GitHubがサイバー犯罪者によるマルウェア配信の温床として悪用されているという指摘 - GIGAZINE

メルセデス・ベンツの従業員のGitHubトークンがパブリックリポジトリに置かれていて誰でも知的財産がダウンロード可能な状態にあったことが判明 - GIGAZINE

Dropboxが130のGitHubリポジトリからコードを盗まれた被害を公表 - GIGAZINE

「10年かけてGitHubリポジトリが集めた5万4000個ものスターをうっかりミスで失ってしまった」という体験談 - GIGAZINE

GitHubで「偽のスター」を購入して信用度を偽装しているプロジェクトの見分け方 - GIGAZINE

プログラマーが誤って約40万人にGitHubの通知を送信 - GIGAZINE

GitHubで採用されなかった実績バッジ「+1だけのコメントを100件投稿する」「force pushで他人のコミットを消滅させる」「README.mdだけのプロジェクトを5年寝かせる」などを妄想するプロジェクト - GIGAZINE

in ソフトウェア,   ネットサービス,   セキュリティ, Posted by log1h_ik

You can read the machine translated English article here.