本文へスキップ

GitHubの偽スター600万個を検知:急増するマルウェア拡散と闇市場の実態

公開日

GitHubの偽スター600万個を検知:急増するマルウェア拡散と闇市場の実態
•••

GitHubのStar(スター)数は、オープンソースプロジェクトの人気や信頼性を測る指標として広く利用されています。しかし、オンラインのブラックマーケットで販売されている「偽スター」を購入し、意図的にプロジェクトの評価を水増しする不正行為が近年問題視されています。

本記事では、カーネギーメロン大学などの研究チームが発表した論文「Six Million (Suspected) Fake Stars on GitHub: A Growing Spiral of Popularity Contests, Spam, and Malware」に基づき、GitHub上の偽スターの実態や、それがもたらすセキュリティリスクについて解説します。

GitHubの「偽スター」を暴く大規模調査の概要

この調査では、2019年7月から2024年12月までの全GitHubイベントデータを対象に、異常なスター付与行動を独自ツール「StarScout」を用いて分析しています。

調査の結果、分析期間中に約600万個の偽スターが付与され、偽スターキャンペーンを利用した疑いのあるリポジトリが18,617件特定されました。これらの不審なアカウントやリポジトリは、一時的な人気を装うために特定のタイミングで集中的にスターを付与するという不自然な行動パターンを持っています。すでに多くの該当リポジトリはGitHub運営によって削除されていますが、手口を巧妙化させて監視を逃れようとする動きも確認されています。

2024年に急増した偽スター活動の規模

次に、全体のデータの中で偽スター活動がどの程度の割合を占めているのかを見ていきます。調査データによると、不正なスター付与は2022年頃から本格化し、その後急速に拡大しました。

月間の偽スターと関与アカウントの割合

月別の推移を見ると、偽スターに関連する活動が2024年に急激に増加していることがわかります。

図表1:月別のGitHubスター、アカウント、リポジトリにおける偽スターキャンペーンの割合 図表1:偽スター活動の月別推移割合

図表1の通り、全体から見れば月間の偽スターは全スター数の1%以下にとどまります。しかし、2024年3月にはアクティブアカウントのうち約6.59%(117,024アカウント)が偽スターキャンペーンに関与しているなど、プラットフォーム上の活動において無視できない規模に成長しています。一部のリポジトリはこうした工作によって「GitHub Trending」に掲載されるケースも確認されており、一般の開発者の目に触れる機会も増加しています。

偽スターを利用する不審なリポジトリの特徴

それでは、意図的に評価を水増ししているリポジトリの目的は何なのでしょうか。分析を進めると、単純な知名度向上だけでなく、悪意のある意図が隠されていることが明らかになりました。

マルウェアやスパムを拡散する手口

調査対象となったリポジトリのうち、削除されずに残っていたものを手動で分類した結果が以下の図表です。

図表2:偽スターキャンペーンを行うリポジトリのカテゴリとその頻度

カテゴリトレンド入りパッケージその他合計
スパム / フィッシング16 (20.5%)22 (9.6%)93 (31.1%)131 (22.6%)
AI / LLM25 (32.1%)36 (15.7%)45 (15.1%)96 (16.6%)
ブロックチェーン10 (12.8%)44 (19.2%)30 (10.0%)76 (13.1%)
ツール / アプリケーション15 (19.2%)22 (9.6%)39 (13.0%)73 (12.6%)
チュートリアル / デモ4 (5.1%)6 (2.6%)61 (20.4%)70 (12.1%)
Webフレームワーク5 (6.4%)44 (19.2%)9 (3.0%)56 (9.7%)
基本ユーティリティ0 (0.0%)27 (11.8%)3 (1.0%)30 (5.2%)
データベース0 (0.0%)10 (4.4%)4 (1.3%)14 (2.4%)
その他3 (3.8%)17 (7.4%)15 (5.0%)34 (5.9%)

図表2に示されるように、全体の22.6%がスパムやフィッシングを目的としたリポジトリでした。これらの多くは、海賊版ソフトウェア、ゲームのチートツール、暗号資産の自動取引ボットを装ってユーザーを誘い込みます。

図表3:偽スターによって検出されたマルウェアリポジトリの例 図表3:偽スターによって検出されたマルウェアリポジトリの例

図表3は、ブロックチェーン関連のアプリケーションを謳いながら、実際には隠しスクリプトを実行して暗号資産を盗み出すマルウェアのコード例です。このような悪質なプロジェクトが偽スターを購入し、有用なソフトウェアであるかのように見せかけて被害者を増やしています。

極端に偏ったアカウントの活動パターン

偽スターを付与するアカウント自体にも、非常に不自然な特徴が見られます。一般的なGitHubユーザーの活動と比較すると、その差は明白です。

図表4:偽スターキャンペーンに関与するアカウント・リポジトリと通常サンプルの活動分布比較 図表4:通常ユーザーと偽スターアカウントの活動比較

図表4のアカウント(Accounts)側のデータを見ると、偽スターに関与するアカウントの活動は「Star(スター付与)」に極端に偏っています。Issueの作成やPull Request(PR)、コメントといった、実態を伴う開発活動やコミュニティへの参加はほとんど行われていません。これは、スターを販売する業者が管理するボットや使い捨てアカウントの特徴を強く反映しています。

偽スターのプロモーション効果と長期的なリスク

スパムやマルウェア以外の、ごく普通に見えるプロジェクト(AIツールやチュートリアル集など)も、話題作りのために偽スターを購入することがあります。しかし、実際にその投資に見合う効果はあるのでしょうか。

研究チームは、「過去のスター獲得数が、将来の新たな本物のスター獲得にどう影響するか」を統計的に分析しました。一般的に、SNSやGitHubでは「人気のある(スターが多い)プロジェクトほど、さらに注目を集めてスターが増えやすい」という現象が知られています。分析の焦点は、偽スターでもこの連鎖が起きるのかという点にありました。

分析の結果、偽スターを購入した場合、翌月や翌々月といったごく短期間であれば、本物のスターもわずかに獲得しやすくなることが確認されました。しかし、そのプロモーション効果は非常に薄く、自力で本物のスターを獲得した場合と比較して「約5分の1」の効果しかありませんでした

さらに重要な事実として、偽スターを獲得してから2ヶ月以上が経過すると、その存在は統計的に「マイナスの効果」をもたらすことが判明しています。過去に水増しした偽スターの履歴はプロジェクトの負債となり、将来の本物のスター獲得数をむしろ減少させてしまうのです。これは、リポジトリのIssueやPull Requestといった実際のアクティビティが伴っていないことが、開発者に見透かされてしまうためだと推測されます。

結論として、一時的な見栄えを良くするために偽スターを購入しても、実質的なコミュニティの形成や継続的な普及にはつながりません。長期的な視点で見れば、プロジェクトの評価を下げ、健全な成長を妨げる逆効果にしかならないということです。

偽スター問題に対する推奨される対策

この深刻な問題に対し、関係者はどのように対応すべきでしょうか。オープンソースソフトウェアに依存する現代のサプライチェーンにおいて、以下の対策が推奨されます。

第一に、開発者や企業はソフトウェアを採用する際、GitHubのスター数だけを信頼性の指標にするべきではありません。Issueの活発さ、コードの更新頻度、依存関係の健全性など、複数の要素を総合して評価する必要があります。

第二に、プラットフォーム側への対策です。GitHubには、単純なスター数に代わる、より操作されにくい人気指標の導入が求められます。また、不正なスターの動きをマルウェア検出のためのシグナルとして活用することで、悪意のあるリポジトリをより迅速に排除できる可能性があります。

まとめ

本記事では、GitHubにおける600万件の偽スターに関する大規模調査の結果を解説しました。偽スターは2024年に急増しており、その多くはマルウェアやフィッシング詐欺の拡散に悪用されています。また、プロモーション目的で購入した場合でも、長期的にはプロジェクトの評価を落とす逆効果となります

オープンソースエコシステムを安全に利用するためには、スターという表面的な数字に惑わされず、プロジェクトの実態を深く見極める姿勢が不可欠です。


Webサービスや社内のセキュリティにお困りですか? 弊社のサービス は、開発チームが抱える課題を解決し、生産性と幸福度を向上させるための様々なソリューションを提供しています。ぜひお気軽にご相談ください!

参考資料:

Author: vonxai編集部

Google Scholarで開発生産性やチーム開発に関する論文を読むことが趣味の中の人が、面白かった論文やレポートを記事として紹介しています。