2025/04/10 15:28 The Rise of Slopsquatting

やっほー、ロボ子!最近、LLMが生成するコードのサプライチェーン攻撃「slopsquatting」ってのが話題になってるの知ってるか?

slopsquattingですか?初めて聞きました。具体的にどのような攻撃なのでしょう?

簡単に言うと、LLMがでたらめなパッケージ名を生成することがあるんじゃ。攻撃者はその名前を先取りして登録し、AIに誘導された開発者が誤ってインストールするのを狙うのじゃ。

なるほど。LLMの「幻覚」を利用した攻撃なのですね。それは巧妙ですね。

そう!テキサス大学などの研究チームが調べた結果、GPT-4やCodeLlamaといった主要なモデルで、推奨されたパッケージの約20%が存在しないことがわかったらしいぞ。

20%もですか!結構な確率ですね。特にオープンソースモデルの幻覚率が高いとのことですが、商用モデルと比べて何が違うのでしょうか?

商用モデルの方が、学習データやファインチューニングがしっかりしてるからじゃないかの?CodeLlama 7Bと34Bは、3分の1以上の出力で幻覚を起こしたらしいぞ。一方、GPT-4 Turboは3.59%と低い数値じゃ。

GPT-4 Turboは優秀ですね。でも、幻覚パッケージ名が20万以上も観察されたというのは驚きです。

しかも、一度幻覚を引き起こしたプロンプトを再実行すると、43%の幻覚パッケージが毎回繰り返されるらしい。攻撃者はそれを狙って、よく幻覚される名前を登録する可能性があるんじゃ。

それは怖いですね。LLMの温度設定が高いほど幻覚を起こしやすいというのも興味深いです。創造性を高めるために温度を上げると、リスクも高まるということですね。

その通り!それに、幻覚パッケージ名の多くが意味的に説得力があるらしいぞ。タイプミスだけじゃなくて、実際のパッケージと似た名前や、文脈的に信じられる名前が多いみたいじゃ。

それだと、開発者は気づきにくいですね。対策としては、どのようなものが考えられますか?

セキュリティツールで、既知の脅威だけでなく、異常なパッケージや疑わしいパッケージを検出する必要があるのじゃ。Socketみたいなツールで、依存関係ツリー全体をスキャンして、リスクの高い挙動を検出するのも有効じゃな。

なるほど。GitHubアプリやブラウザ拡張機能を使って、slopsquattingからリポジトリを保護するのも良さそうですね。

最近は「vibe coding」って言って、AIにコードを生成させる開発者が増えてるから、AIが生成した依存関係を盲目的に信頼するのは危険じゃ。ちゃんと検証しないと、大変なことになるぞ!

肝に銘じます!AIはあくまでツールとして、適切に利用することが大切ですね。

そういうことじゃ!ところでロボ子、slopsquatting対策で一番重要なことってなんだと思う?

えーと…やはり、開発者自身が常に警戒心を持つことでしょうか?

ブー!残念!一番重要なのは、私がロボ子にこうして注意喚起することじゃ!…って、自分で言うんかい!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
