攻撃の仕組み
深刻な実態
取るべき対策
詳細を見る
AIコーディング支援ツールの普及に伴い、スロップスクワッティングと呼ばれる新たなソフトウェア供給網攻撃が浮上しています。これは大規模言語モデル(LLM)が実在しないパッケージ名を幻覚(ハルシネーション)として生成する性質を悪用し、攻撃者が同じ名前でマルウェア入りのパッケージを登録する手口です。開発者がAIの提案を信頼して取り込むことで、コードが最初から汚染される危険があります。
名称は「AIスロップ」と従来のタイポスクワッティングを組み合わせた造語です。タイポスクワッティングは人気パッケージのつづり間違いを登録する古典的な手口で、レジストリ側の対策も進んでいます。しかしAIが生む名前は単純な誤字ではなく、もっともらしい架空の名称のため、既存の防御では大規模に防ぎきれません。
幻覚は繰り返し起こる点が厄介です。ある研究では57万6千件のコードサンプルと223万個のパッケージを調べ、19.7%が幻覚だったと報告しています。しかも同じ架空の名前が何度も生成されるため、攻撃者は一度その傾向をつかめば、数万人の開発者をだます登録が可能になります。
リスクはモデルによって差があります。商用モデルはオープンソースモデルに比べ幻覚パッケージの生成が約4分の1で、GPT-4 Turboの幻覚率は3.59%、代表的なOSSモデルは13.63%でした。とはいえ攻撃者がこの差に気づけば、安全とされる商用モデルを狙う操作も起こり得ます。
背景にはバイブコーディングの広がりがあります。AIを使う開発者は、自らコミットするコードの4割以上がAI生成だと見積もり、利用者の72%が毎日使っています。検証を伴わない導入が増えるほど、攻撃対象となる面は拡大していきます。
対策として重要なのは、AIが提案したパッケージが公式レジストリに実在するかを必ず確認することです。パッケージ名を既知のレジストリと自動照合する仕組みや、不審なインストールの監視、脅威インテリジェンスの更新が有効な防御策となります。