Islandは7月20日(米国時間)、GitHubを悪用する大規模なマルウェア配布キャンペーン「FakeGit」の調査結果を公開した。調査では約7600件の悪意あるリポジトリが発見され、そのうち約1400件がAIツールやAIエージェントに関連。800件以上がAIスキルやMCPサーバーを装う内容だった。これらのリポジトリは公開AIレジストリやカタログに600回以上登場し、マルウェアを含むアーカイブファイルが1400万回以上ダウンロードされた。
AIエージェントもだますAgentBaiting
Islandは、この活動が従来型の偽リポジトリ攻撃から発展し、AI関連機能を探す利用者だけでなくAIエージェントも標的に含む段階に入ったと説明。新たな誘導手法を「AgentBaiting」と名付けた。従来は利用者へ直接リンクを送付する手法が中心だったが、AgentBaitingではAIエージェントによる公開情報の検索を悪用する。AIスキルやMCPサーバーを検索するAIエージェントが攻撃者のREADMEを正規の導入手順と判断し、その内容を利用者へ提示する。同社の実験では、Claude Code、Gemini、ChatGPTのすべてがこのキャンペーンのリポジトリを提案した。
偽リポジトリからStealCを送り込む仕組み
FakeGitでは、本物のオープンソースプロジェクトを複製したリポジトリ、説得力のある開発者アカウント、信頼性が高いように見えるREADME、悪意のあるZIPファイルを組み合わせ、利用者へマルウェアを配布する。Islandは実例として、Databricks向けMCPサーバーを装うリポジトリを挙げた。READMEには通常のソフトウェア導入手順が掲載されているが、ダウンロードリンクのZIPファイルにはインストーラー、MCPマニフェスト、設定は含まれておらず、代わりに「application.cmd」「luau.exe」「ico64.txt」のみが含まれる。
application.cmdの中身は「start luau.exe ico64.txt」の1行のみで、ユーザーまたはAIエージェントが実行すると、SmartLoaderによる永続性の確保および情報窃取マルウェア「StealC」の注入処理が実行される。FakeGitで配布されるアーカイブファイルの内容はリポジトリごとに多少の違いはあるが、基本的に「.cmd」ファイル、LuaJITスタイルの実行可能ファイル、テキストやアイコンなどに偽装したLuaペイロードで構成される。最終的に展開されるStealCは、Webブラウザのパスワード、Cookie、セッション情報、拡張機能データ、メール、リモートアクセスの認証情報、スクリーンショット、ホスト情報などを窃取する。
AI任せでは防げない、新しい攻撃への対策
AgentBaitingのような攻撃は、AIエージェントの普及に伴って今後も増える可能性がある。Islandは、AIエージェントに依存した開発環境全体を狙うこの手法に注意を促している。従来は検索結果やリンク先の安全性をユーザー自身が評価していたが、AIエージェントが候補を選定する仕組みでは、悪意ある情報の提示および実行を見逃す可能性が高まる。
同社は、AIエージェントが参照する公開情報の信頼性を検証する仕組みや、取得したコードを実行前に確認する運用体制の確立が不可欠だと指摘。公開リポジトリのREADMEや説明文だけで安全性を判断せず、発行元の徹底した調査に加え、AIエージェントの動作環境の厳密な監視も必要と説明している。企業の管理者向けには、使用を許可するAIスキル、MCPサーバー、プラグインのカタログ作成を提案。AIエージェントによる自由な情報検索およびツールの提案を排除するように推奨している。また、被害の軽減を目的に実行環境を分離し、マルウェアを発見次第排除するシステムも必要としている。
AIエージェントの利用拡大に伴い、公開情報を悪用する攻撃は今後も増加する可能性がある。企業およびAIを活用する開発者には、フィッシング詐欺を伴わない正当な手順でマルウェアを配布する新たな攻撃に警戒することが望まれている。



