AIのハルシネーションが「スロップスクワッティング」というサプライチェーン脅威を生む

大規模言語モデル(LLM)に頼ってコードを作成する開発者は、知らず知らずのうちに新たな種類のサプライチェーン攻撃にさらされている可能性があると、セキュリティ専門家が警告している。

サイバーセキュリティベンダーのSocketによれば、「スロップスクワッティング(Slopsquatting)」という言葉は、Python Software Foundation(PSF)のレジデンス開発者であるSeth Larsonによって最初に提唱された。

これは、脅威アクターがフィッシングキャンペーンで用いる一般的な手口「タイポスクワッティング(typosquatting)」をもじったものだ。タイポスクワッティングでは、正規ドメインのわずかなスペル違いのドメインを登録する。

この新しい手口では、脅威アクターがLLMにコード生成を促す。返ってくるコードには、存在しないオープンソースソフトウェアパッケージが含まれることがある――これはAIにありがちな問題だ。

しかし脅威アクターは、そのハルシネーションで生成されたものと同じ詳細を持つ偽パッケージを公式リポジトリに公開し、その中に悪意のあるコードを仕込める。別のユーザーが同じLLMにコード生成を促し、同じハルシネーションの回答が返ってくれば、被害者は悪意あるパッケージを ダウンロードするよう誘導されてしまう。

AIコードについて詳しく読む:多くのサイバーリーダーは、AI生成コードがセキュリティリスクを高めることを懸念

バージニア工科大学およびオクラホマ大学、テキサス大学の研究者によるパッケージのハルシネーションに関する研究によれば、これは見た目ほど起こりにくい話ではない。

研究者らは16のコード生成LLMをテストし、576,000件のPythonおよびJavaScriptのコードサンプルを生成させた。

その結果、推奨されたパッケージの平均で5分の1が存在しないことが判明し、ユニークなハルシネーションのパッケージ名は205,000件に上った。

さらに重要なのは、同じプロンプトを各10回ずつ再実行したところ、同一のハルシネーションパッケージの43%が毎回 提案され、58%は複数回繰り返されたことだ。再び現れなかったのは39%にとどまった。

「この一貫性により、スロップスクワッティングは想像以上に実行可能になる」とSocketは主張した。

「攻撃者は膨大なプロンプトログをスクレイピングしたり、候補名を総当たりしたりする必要はない。LLMの挙動を観察し、よくハルシネーションされる名前を特定して登録すればよいのだ。」

リスクの増大

ハルシネーションされたパッケージは「意味的にもっともらしい」 ため、開発者が見た目だけで見抜くのは難しい。さらに、LLMの「温度(temperature)」が高いほど――言い換えれば、よりランダムな応答を生成する設定になっているほど――作られやすい傾向があった。

これは、開発者がAIの内容を盲目的に信頼しがちな「バイブコーディング(vibe coding)」 という考え方に強く依存する人々にとって、特に大きなリスクとなる。

Socketは「この脅威はスケールする。単一のハルシネーションパッケージがAIツールによって広く推奨されるようになり、攻撃者がその名前を登録していれば、広範な侵害が起こり得る」と警告した。

「そして、多くの開発者が厳密な検証なしにAIツールの出力を信頼していることを踏まえると、攻撃の機会は大きく開かれている。」

ベンダーは結論として、スロップスクワッティングを緩和する最善の方法は、開発者があらゆる依存関係を 能動的に監視し、プロジェクトに追加する前に依存関係を精査するツールを使用することだと述べた。

翻訳元: https://www.infosecurity-magazine.com/news/ai-hallucinations-slopsquatting/

ソース: infosecurity-magazine.com