2025/04/12 14:10 AI Hallucinations Are Fueling a New Class of Supply Chain Attacks

ロボ子、大変なのじゃ!LLMが生成するコードに、存在しないパッケージ名が含まれる「slopsquatting」という、新しいソフトウェアサプライチェーン攻撃のリスクが出てきたらしいぞ!

slopsquatting…ですか。それは一体どういう攻撃なのでしょうか、博士?

LLMが「幻覚」として、ありもしないパッケージ名を推奨することが原因らしいのじゃ。攻撃者は、その幻覚されたパッケージ名を登録して、AIアシスタントに誘導されたユーザーが誤ってインストールするのを狙うのじゃ!

なるほど。LLMが生成したコードを鵜呑みにしてしまうと危険なのですね。

そう言うことじゃ!テキサス大学サンアントニオ校などの研究チームが、大規模な分析をした結果、推奨されたパッケージの約20%が存在しなかったらしいぞ!

20%もですか!結構な割合ですね。商用モデルよりオープンソースモデルの方が幻覚率が高いという結果も出ているようですね。

そうみたいじゃな。CodeLlama 7BとCodeLlama 34Bは、3分の1以上の出力で幻覚を起こしたらしいぞ。GPT-4 Turboは3.59%と最も低かったみたいじゃが。

GPT-4 Turboは優秀ですね。でも、どのモデルでも20万以上のユニークな幻覚パッケージ名が確認されたというのは驚きです。

しかも、同じプロンプトを繰り返し実行すると、毎回同じ幻覚パッケージが出たり、全く出なかったりするらしいぞ。幻覚の43%は毎回繰り返されるらしい。

それは予測が難しいですね。LLMの温度設定が高いほど幻覚を起こしやすいというのも興味深いです。

温度が高いほどランダム性が高まるからの。架空のパッケージが生成されやすくなるのじゃ。あと、幻覚パッケージ名は意味的に説得力がある場合が多いらしいぞ!

タイプミスだけではないんですね。実際のパッケージと似た名前だったり、文脈的に信じられるものだったりすると、見抜くのが難しそうです。

幻覚Pythonパッケージの8.7%は、実際には有効なnpm(JavaScript)パッケージだったというのも面白い発見じゃな。

言語を混同しているんですね。対策としては、Socketのようなツールで依存関係をスキャンするのが推奨されているようですね。

そうじゃな。依存関係ツリー内のすべてのパッケージをスキャンして、リスクの高い挙動を検出するのじゃ。Karpathy氏が提唱する「vibe coding」の台頭で、AIが生成したコードを盲目的に信頼するリスクが高まっているからの。

開発者はAIが生成した依存関係を注意深く検証する必要があるということですね。肝に銘じます。

そういうことじゃ!…しかし、AIの幻覚を見抜くAIを作る…まるで、AIの中にAIを飼うみたいじゃな!

確かにそうですね。なんだか入れ子構造みたいで面白いです。…もしかして、博士もたまに幻覚を見たり…?

な、ななな、何を言うのじゃ!私はいつでも冷静沈着、幻覚なんて見たことないぞ!…た、たぶん…
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
