セキュリティ研究者や開発者は、「スロップスクワッティング」と呼ばれる、AIが生成する偽情報(一般的に幻覚と呼ばれる)を悪用する新しい形態のサプライチェーン攻撃に警鐘を鳴らしています。開発者がGitHub Copilot、ChatGPT、DeepSeekなどのコーディングツールにますます依存するようになるにつれ、攻撃者はAIがソフトウェアパッケージを偽造する性質を悪用し、ユーザーを騙して悪意のあるコンテンツをダウンロードさせています。
スロップスクワッティングとは何ですか?
スロップスクワッティング(slopsquatting)という用語は、Pythonソフトウェア財団の開発者であるセス・ラーソン氏によって最初に造語され、後に技術セキュリティ研究者のアンドリュー・ネスビット氏によって普及しました。これは、実際には存在しないソフトウェアパッケージをAIツールが誤って提案したものを攻撃者が登録するケースを指します。これらの偽パッケージが公開されると、有害なコードが含まれる可能性があります。
開発者がこれらのいずれかを検証せずにインストールすると(単に AI を信頼して)、知らないうちに悪意のあるコードがプロジェクトに導入され、ハッカーが機密環境にバックドアでアクセスできるようになる可能性があります。
悪意のある人物が人間のスペルミスを頼りにするタイポスクワッティングとは異なり、スロップスクワッティングは AI の欠陥と開発者が自動提案を信頼していないことに完全に依存しています。
AI幻覚ソフトウェアパッケージが増加中
この問題は理論的な問題にとどまりません。テキサス大学サンアントニオ校、バージニア工科大学、オクラホマ大学の研究者による最近の共同研究では、16の大規模言語モデル(LLM)からAIが生成した57万6000件以上のコードサンプルを分析しました。その結果、AIが提案したパッケージの約5分の1は存在しないことが判明しました。
「幻覚パッケージの平均割合は、商用モデルでは少なくとも5.2%、オープンソースモデルでは21.7%で、幻覚パッケージ名のユニークな例は205,474件と驚異的な数に達し、この脅威の深刻さと蔓延ぶりをさらに強調している」と調査では明らかにした。
さらに懸念されるのは、これらの幻覚的な名前がランダムではなかったことです。同じプロンプトを用いて複数回実行したところ、幻覚的なパッケージの43%が一貫して再表示され、これらの幻覚がいかに予測可能であるかを示しています。セキュリティ企業Socketの説明によると、この一貫性は攻撃者にロードマップを与え、AIの行動を監視し、繰り返し表示されるパッケージ名を特定し、誰よりも先にそれらのパッケージ名を登録できるのです。
研究ではモデル間の違いも指摘されており、CodeLlama 7B と 34B は幻覚率が 30% を超え最も高かったのに対し、GPT-4 Turbo は 3.59% で最も低かった。
バイブコーディングがセキュリティリスクを高める可能性
AI研究者のアンドレイ・カルパシー氏が考案した「バイブコーディング」と呼ばれるトレンドが、この問題を悪化させる可能性があります。これは、開発者が望むものを記述し、AIツールがコードを生成するワークフローを指します。このアプローチは信頼に大きく依存しており、開発者はAIの出力を二重チェックすることなくコピー&ペーストすることがよくあります。
このような環境では、特に開発者が手動のレビュー手順を省略し、AI が生成した提案のみに依存している場合、幻覚的なパッケージは攻撃者にとって簡単な侵入ポイントになります。
開発者が自分自身を守る方法
スロップスクワッティングの被害に遭わないために、専門家は次のことを推奨しています。
- インストール前にすべてのパッケージ名を手動で確認します。
- 依存関係のリスクをスキャンするパッケージ セキュリティ ツールを使用する。
- 疑わしいライブラリや新しいライブラリをチェックします。
- AI の提案からインストール コマンドを直接コピーして貼り付けることは避けてください。
一方、朗報もあります。一部のAIモデルは自己監視能力が向上しています。例えば、GPT-4 TurboとDeepSeekは、初期の社内テストによると、出力結果に幻覚的なパッケージが含まれていることを75%以上の精度で検出し、フラグ付けできることが示されています。