vibe codingの失敗事例 2025年8月3日

【Slopsquatting】AIの幻覚を悪用した新型攻撃

2025年、セキュリティ研究者Seth Larsonは、新しい攻撃手法に名前をつけました。 **Slopsquatting(スロップスクワッティング)** 「Slop」とは、AIの不正確で雑な出力を指すスラングです。

川西智也

合同会社ロイヤルピース 代表

Slopsquatting サプライチェーン攻撃

AIが「存在しないパッケージ」を推奨する

2025年、セキュリティ研究者Seth Larsonは、新しい攻撃手法に名前をつけました。

Slopsquatting(スロップスクワッティング)

「Slop」とは、AIの不正確で雑な出力を指すスラングです。

この攻撃は、AIが 存在しないパッケージ名を「幻覚」する 傾向を悪用します。


20%が存在しないパッケージ

2025年3月に発表された研究は、衝撃的な数字を示しました。

調査概要:

  • 576,000件のPythonおよびJavaScriptコードサンプルを分析
  • 複数のLLMが推奨するパッケージを検証

結果:

指標数値
存在しないパッケージの推奨率約20%
オープンソースLLM(CodeLlama等)より高い幻覚率
商用LLM(GPT-4)約5%の幻覚率

つまり、AIが推奨するパッケージの 5分の1 は、実在しないものだったのです。


攻撃の仕組みと脆弱性のメカニズム

Slopsquattingの攻撃フローは単純です。

攻撃手順:

  1. 観察 — AIが頻繁に幻覚する架空のパッケージ名を特定
  2. 登録 — そのパッケージ名をnpmやPyPIに登録
  3. 悪意のあるコード — マルウェアを仕込む
  4. 待機 — vibe coderがAIの推奨に従ってインストールするのを待つ

Typosquatting が「タイプミス」を悪用するのに対し、Slopsquatting は「AIの幻覚」を悪用します。


58%が繰り返し幻覚される

研究者たちは、さらに驚くべき発見をしました。

「幻覚されたパッケージの58%は、10回の実行で複数回繰り返された」

つまり、AIの幻覚は ランダムなノイズではなく、再現性のあるパターン なのです。

攻撃者にとっては、少数のモデル出力を観察するだけで、攻撃対象となるパッケージ名を特定できることを意味します。


huggingface-cli事件

理論ではなく、実際に起きた事例があります。

huggingface-cli事件:

  • AIが「huggingface-cli」という架空のパッケージを頻繁に推奨
  • 誰かがPyPIにこの名前でパッケージを登録(コードなし、READMEなし)
  • 3ヶ月で30,000回以上ダウンロード

幸いにも、このパッケージは悪意のあるものではありませんでした。しかし、悪意ある攻撃者がこれを行っていたら、30,000の開発環境が危険に晒されていました。


arangodbの警告

RubyGemsには、次のような説明文を持つgemが存在します。

“Do not use this! This could be a malicious gem because you didn’t check if the code ChatGPT wrote for you referenced a real gem or not.” 「使うな!これは悪意のあるgemかもしれない。ChatGPTが書いたコードが本物のgemを参照しているかどうか確認していないからだ」

この「arangodb」というgemは、執筆時点で 2,000回以上インストール されていました。

誰かが警告のためにダミーパッケージを登録しましたが、多くのvibe coderはその警告すら読まずにインストールしていたのです。


$2.3M暗号通貨窃盗

最も深刻な事例の一つが報告されています。

$2.3M Crypto Heist:

  1. フィンテックスタートアップがClaudeを使用して暗号通貨ウォレットのコードを生成
  2. 攻撃者がAI出力パターンを監視
  3. 複数のモデルが同じ架空のパッケージ名を幻覚していることを発見
  4. そのパッケージ名をnpmに登録
  5. マルウェアがすべての生成された秘密鍵をリモートサーバーに送信
  6. $2.3M(約3.5億円)の暗号通貨が窃盗

vibe codingで暗号通貨ウォレットを作る——これは最悪の選択でした。


AIの幻覚パターン分析:存在しないパッケージ推奨

研究者たちは、AIの幻覚パターンを分析しました。

幻覚の内訳:

パターン割合
実在パッケージに「触発された」名前38%
タイプミス由来13%
完全な創作51%

半分以上が「完全な創作」——つまり、どこにも存在しない、AIが勝手に作り出した名前です。


vibe codingとの相性の悪さ

Slopsquattingは、vibe codingと 最悪の相性 です。

vibe coderの行動パターン:

  1. AIにコード生成を依頼
  2. pip install xxxnpm install xxx をそのまま実行
  3. パッケージの存在を確認しない
  4. パッケージの内容を確認しない
  5. インストール後も動作確認のみ

この行動パターンは、Slopsquatting攻撃に対して 完全に無防備 です。


具体的な対策と実装方法

Slopsquattingから身を守るための対策です。

必須の対策:

  1. パッケージ名を手動で確認

    • 公式サイトで存在を確認
    • ダウンロード数、更新履歴を確認
  2. lockfileとhash検証を使用

    • 既知の信頼できるバージョンに固定
  3. SBOM(Software Bill of Materials)を活用

    • 依存関係の来歴を追跡
  4. AIの「temperature」設定を下げる

    • ランダム性を下げると幻覚が減少
  5. 隔離環境でインストール

    • Docker コンテナや一時的なVMで実行

この事例から学ぶべき教訓

Slopsquatting事件から学ぶべきことは以下の通りです。

  1. AIが推奨するパッケージは実在しない可能性がある

    • 20%が存在しないパッケージ
  2. 幻覚は再現性がある

    • 攻撃者は予測可能なターゲットを持つ
  3. vibe codingはサプライチェーン攻撃に脆弱

    • 確認なしのインストールは危険
  4. 暗号通貨・金融コードは特に危険

    • $2.3Mの窃盗事例
  5. パッケージ名は必ず手動で確認

    • AIの出力を鵜呑みにしない

まとめ:重要ポイントの振り返り

  • Slopsquattingは、AIのパッケージ名幻覚を悪用した新しい攻撃手法
  • AIが推奨するパッケージの 20% が存在しない
  • 幻覚の 58% は繰り返し発生(予測可能)
  • huggingface-cliは3ヶ月で30,000回ダウンロード
  • $2.3Mの暗号通貨窃盗事例も発生
  • 教訓:AIが推奨するパッケージは存在しない可能性がある

参考リンク・出典

実践的なスキルを習得しませんか?

ブログで学んだ知識を、研修で実践に変えましょう。