In this article
スロップスクワッティング:AIの新たなハルシネーション脅威と対策
Snyk Team
AIコーディングアシスタントが複雑な問題を解決する最適なパッケージを提案し、必要な依存関係を正確に提示してくれる——そんな魔法のような瞬間を、誰もが経験したことがあるでしょう。開発者として、私たちはこうした賢い提案を信頼するようになり、深く考えずに実装することも少なくありません。しかし、憂慮すべき現実があります。最近の調査では、テスト対象となったすべてのLLMで生成されたパッケージの19.7%がハルシネーションによるものでした。
これは単なるタイプミスではありません。攻撃者は「aws-helper-sdk」や「fastapi-middleware」のようなAIが幻覚したパッケージ名を公開リポジトリに組織的に登録し、警戒を怠った開発者を狙う巧妙な罠を仕掛けています。これはサプライチェーン攻撃の危険な進化であり、すべてのセキュリティチームが今すぐ理解すべき脅威です。

ソフトウェアサプライチェーンにおけるスロップスクワッティングを理解する
スロップスクワッティングとは?
スロップスクワッティングは、人工知能に内在する弱点を利用してソフトウェアサプライチェーンを侵害する、2024~2025年にかけて台頭している脅威です。スロップスクワッティングは、コードの依存関係におけるAI生成のハルシネーションを悪用する、新たなAI攻撃ベクトルです。理解し、対策を講じる必要があります。
この巧妙な攻撃手法は、AIが生成する提案と実際のパッケージリポジトリとの間にあるギャップを狙います。開発者がコーディングの提案をAIアシスタントに頼ると、実在しないにもかかわらず、もっともらしく聞こえるパッケージが提案されることがあります。
スロップスクワッティングの主な特徴
本物らしいパッケージ名:「aws-helper-sdk」や「fastapi-middleware」など。
高い成功率:AIが提案するパッケージのおよそ20%はハルシネーションによるものです。
複数のプラットフォームを標的:さまざまなプログラミングエコシステムが狙われます。
AI生成コードの提案に対する開発者の信頼を悪用します。
拡張可能な攻撃手法:数千ものプロジェクトを同時に標的にします。
攻撃者は、人気のパッケージ名を推測する必要がなくなりつつあります。AIの出力を監視し、ハルシネーションによって生まれた架空の依存関係を登録するだけでよいのです。
攻撃の仕組み
スロップスクワッティング攻撃は、AIを活用した開発ワークフローを計算づくで悪用するもので、MITRE ATT&CKの手法T1195.02(ソフトウェアサプライチェーンの侵害)またはT1195.001に該当します。
攻撃者は次のように攻撃を実行します。まず、人気プラットフォームにおけるAIコード生成のパターンを監視し、頻繁にハルシネーションが起きるパッケージ名を特定します。開発者が特定の作業についてAIアシスタントに尋ねると、AIは本物らしく聞こえるものの、実在しないパッケージを提案することがよくあります。
スロップスクワッティング攻撃の手順
AIが「jwt-secure-validator」のような、便利そうなパッケージを提案する。
開発者が検証せずにAIの提案を信頼する。
攻撃者が、ハルシネーションによるパッケージ名をPyPIやnpmなどのリポジトリに登録する。
開発者が提案されたコードを実行すると、悪意あるパッケージがインストールされる。
スロップスクワッティングの影響
この攻撃が特に厄介なのは、その心理的な側面です。私たちは自然とAIの提案を信頼します。特に、専門的に聞こえ、目の前の問題を解決してくれる場合はなおさらです。パッケージには悪意あるペイロードだけでなく、動作するコードも含まれていることが多く、初期テストの段階で検出するのは困難です。
攻撃者はますます巧妙になっており、正規の機能を模倣しながらバックドアを仕掛けたり、機密データを外部に流出させたりするパッケージを作成しています。AI生成コードへの依存を武器にし、生産性向上のためのツールを攻撃ベクトルへと変えているのです。
スロップスクワッティングの防御と軽減策
AIを活用した検出ツール
Snyk AI Trust Platformは、組織のスロップスクワッティング検出能力を大幅に向上させる、画期的なAI機能を提供します。強化されたDeepCode AI FixとAIを活用した到達可能性分析により、ソフトウェアサプライチェーン内の不審なパッケージを特定する方法が大きく進化しました。
予防策
強固な予防策を導入するには、スロップスクワッティング攻撃への防御で培った経験を基に、複数の層からなる対策を講じる必要があります。
実績ある予防フレームワーク:
包括的なSBOMを導入する:すべてのプロジェクトでソフトウェア部品表を作成・管理し、パッケージの由来を追跡して、不正な追加を検知します。
依存関係の許可リストを作成する:承認済みパッケージのレジストリを作成し、審査済みのソースからのみインストールできるよう制限します。
依存関係の自動検証を有効にする:パッケージマネージャーを設定し、暗号署名とチェックサムを検証します。
タイポスクワッティング検出ツールを導入する:インストール時に不審なパッケージ名を自動で確認するツールを使用します。
ステージング環境を導入する:新しい依存関係はすべて、本番環境にデプロイする前に隔離環境でテストします。
セキュリティポリシーを設定する:作成日が新しい、ダウンロード数が少ないなど、不審な特徴を持つパッケージにフラグを立てる自動ポリシーを設定します。
依存関係を定期的に監査する:プロジェクトのすべての依存関係を定期的に見直し、潜在的な脅威を特定します。
組織的な対応フレームワーク
スロップスクワッティングが発生した際の影響を最小限に抑え、再発を防ぐには、体系的な対応プロトコルを整備しておく必要があります。このフレームワークには、迅速な封じ込め手順、攻撃ベクトルを把握するためのフォレンジック分析、開発チーム間の連携したコミュニケーションが含まれます。
セキュリティトレーニングも防御戦略において重要な役割を果たします。インストール前にパッケージの真正性を確認することの重要性を徹底しましょう。
Snykでスロップスクワッティングを防ぎ、影響を軽減する
AIが開発ワークフローにますます深く組み込まれるなか、スロップスクワッティングの脅威には、世界中のセキュリティチームが早急に対処する必要があります。生産性を高めるはずのツールを直接悪用するこの新たな攻撃ベクトルを、見過ごすわけにはいきません。
組織全体でAI搭載コーディングアシスタントの導入が急速に進み、この問題への緊急性は高まっています。依存関係の管理にAIの提案を利用する開発者は誰でも、ソフトウェアサプライチェーンに脆弱性につながる侵入口を持ち込む可能性があります。
適切なAI攻撃検出ツールを活用し、この脅威に特化した予防策を導入すれば、大きな効果が期待できます。依存関係のスキャン強化、パッケージ検証プロトコルの改善、プロアクティブな監視体制など、AIの利点を活用しながら組織のセキュリティを維持するための手段が利用できるようになっています。
AI支援による開発ワークフローを見直し、パッケージ検証プロトコルを評価して、セキュリティチームがスロップスクワッティングの試みを特定し、対応できる体制を整えてください。ツールと対策はすでにあります。この脅威によってソフトウェアサプライチェーンが侵害される前に、今すぐ導入しましょう。