メディア

GitHubの解説読んだだけなのに……まさかのトロイの木馬に感染、一体なんで?:885th Lap

開発者が日常的に利用するGitHub。その信頼性を逆手に取り、本物そっくりのリポジトリへ誘導する大規模な攻撃が確認された。なぜ約1万件もの偽リポジトリが見過ごされ、攻撃者はどのように検知を逃れていたのか。

» 2026年06月26日 07時00分 公開
[キーマンズネット]

 もし、ソフトウェアの「README」(プロジェクトの概要や利用方法などを記載した説明ファイル)を読み、手順通りに作業しただけでトロイの木馬に感染していたら……。「公式のリポジトリから入手したものだから大丈夫」「怪しいファイルは実行していないのに」。多くの開発者がそう考えるはずだ。だが、そうした信頼を悪用する事案が実際に起きた。

 あの「GitHub」に本物のプロジェクトと見分けがつかないコピーリポジトリが約1万件も存在し、そのREADMEには不正なZIPファイルへ誘導するリンクが仕込まれていたという。

 なぜ、これほど多くの偽リポジトリが長期間にわたって公開され続けていたのか。攻撃者はどのようにしてセキュリティ対策をすり抜けたのか。

 GitHubは開発者にとって身近な情報源だ。5億件を超えるとされるリポジトリからソースコードを探したり、ツールを入手したりと日常的に利用されている。そして、その多くにはプロジェクトの説明書ともいえる「README」(README.md)が添えられている。今回明らかになったのは、このREADMEを悪用した大規模なマルウェア配布の実態だ。

 この問題を公表したのは、OSS開発者のオーキッド氏(ハンドルネーム)だ。同氏は2026年6月18日、自身のブログ「orchidfiles.com」に「I discovered a large-scale malware distribution campaign on GitHub」(GitHubで大規模なマルウェア配布キャンペーンを発見した)と題する記事を投稿した。この内容は複数のエンジニアコミュニティーやセキュリティニュースサイトで取り上げられ、大きな注目を集めた。

 発端は、オーキッド氏が自身のリポジトリが検索エンジンにインデックスされているかを確認したことだった。その際、自身のプロジェクトと同じ内容のリポジトリが第三者によって公開されていることを発見。不審に思って調査したところ、READMEに不審なZIPファイルへのリンクが追加されていた。

 さらに調査を進めると、同様のコピーリポジトリが多数存在することが分かった。これらはソースコードだけでなくコミット履歴まで複製されており、一見すると正規のプロジェクトと見分けがつかない。その一方で、READMEにはZIPファイルへのリンクが仕込まれており、ダウンロードしたユーザーがそのファイルを解凍し実行すると、トロイの木馬型マルウェアがインストールされる仕組みになっていた。

 特徴的だったのは更新パターンだ。一定間隔で「Update README.md」というコミットが繰り返され、READMEだけが更新されていた。また、古いコミットが削除され、新しいコミットに置き換えられるケースも多く確認された。オーキッド氏は、こうした手法がマルウェア検知の回避を目的としている可能性が高いと考えた。

 同氏はGitHubのイベントデータを分析し、不審なリポジトリを抽出するスクリプトを作成。その結果、同様のリポジトリが約1万件に上ることが判明した。中には数カ月〜1年以上にわたり公開され続けていたものもあり、この活動が一時的ではなく、継続的かつ大規模に行われていた可能性が高いという。

 攻撃者の狙いは、GitHubの検知システムを回避しながら検索結果やタグ経由で利用者を誘導することにあるとみられる。また、コミット履歴や貢献者情報まで複製することで、悪意あるリポジトリを正規のプロジェクトに見せかけ、ユーザーの信頼を得ようとしていた可能性が高い。

 README内の誘導リンクを「VirusTotal」で確認しても問題は検出されなかった。だが、実際にダウンロードされるZIPファイルからはトロイの木馬が検出されており、巧妙な手口であることが分かる。

 一方でオーキッド氏は、GitHubサポートの対応の遅さも指摘。自身のコピーリポジトリについて削除を依頼したものの、2週間以上返答はなく、削除完了の連絡が届いたのは約1カ月後だったという。同氏は、自身の調査がGitHub APIの制限を受ける一方で、運営側であればより広範な分析が可能なはずだと主張している。

 その後も同様のコピーリポジトリは作成され続け、対策は十分とはいえない状況だ。ただし、ブログ記事が拡散された影響かは不明ながら、記事には後日「GitHub運営が問題のあるリポジトリの削除を開始し、多くが消え始めている」との追記がある。

 今回の事例は、多くの開発者が信頼を寄せるGitHubであっても、大規模かつ巧妙なマルウェア配布の場になり得ることを示した。一見すると正規のプロジェクトと区別がつかないケースもあり、利用者自身がダウンロードリンクや配布ファイルの安全性を慎重に確認する姿勢がこれまで以上に求められている。


上司X

上司X: GitHubで、ニセのリポジトリを使ったマルウェア配布が横行していた、という話だよ。


ブラックピット

ブラックピット: なんと、まさかREADMEを悪用するとは。


上司X

上司X: ああ。READMEといえばそのリポジトリのトリセツであって、ある意味「顔」みたいなものだからな。


ブラックピット

ブラックピット: まさか、そこにマルウェアダウンロードのきっかけがあるとは。


上司X

上司X: GitHub運営も不審なリポジトリの検知はしているはずなんだけどな。それもかいくぐるやり口だったようだ。


ブラックピット

ブラックピット: そもそも、リポジトリをコピーしている時点で許せませんけどね!


上司X

上司X: 数時間から長くても数日でコミットを更新して、中身のリンクも変更していたらしい。それで運営のセキュリティチェックを逃れていたようだ。


ブラックピット

ブラックピット: なんとも、ずる賢い。オーキッド氏みたいな正規の開発者に成り済まして信用を盗むなんて。他人の看板を勝手に使って商売するようなものじゃないですか! それにしても、GitHubに置いてあるから安心、という時代でもなくなってきたんですね。


上司X

上司X: そういうことだな。怪しい個人サイトだけを警戒していれば良かった時代は終わったのかもしれん。でもまあ、オーキッド氏の記事のせいかGitHub運営も対策を強めているみたいだし、いずれ犯人も明らかになるのかもな。しかし、GitHubにあるリポジトリもREADMEも、いちいち疑ってかからないといけないっていうのはなんとも世知辛いものだな。

川柳

ブラックピット(本名非公開)

ブラックピット

年齢:36歳(独身)
所属:某企業SE(入社6年目)

昔レーサーに憧れ、夢見ていたが断念した経歴を持つ(中学生の時にゲームセンターのレーシングゲームで全国1位を取り、なんとなく自分ならイケる気がしてしまった)。愛車は黒のスカイライン。憧れはGTR。車とF1観戦が趣味。笑いはもっぱらシュールなネタが好き。

上司X(本名なぜか非公開)

上司X

年齢:46歳
所属:某企業システム部長(かなりのITベテラン)

中学生のときに秋葉原のBit-INN(ビットイン)で見たTK-80に魅せられITの世界に入る。以来ITひと筋。もともと車が趣味だったが、ブラックピットの影響で、つい最近F1にはまる。愛車はGTR(でも中古らしい)。人懐っこく、面倒見が良い性格。


Copyright © ITmedia, Inc. All Rights Reserved.

会員登録(無料)

製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。

アイティメディアからのお知らせ