コンピュータセキュリティ AI幻覚がソフトウェアサプライチェーンに新たな脅威をもたらす

AI幻覚がソフトウェアサプライチェーンに新たな脅威をもたらす

コーディングに人工知能(AI)を利用する開発者や組織にとって、恐ろしい新たな展開として、研究者らはコード生成モデルにおけるAIの幻覚によって生み出される、サプライチェーンに対する新たな脅威を発見しました。スロップスクワッティングと呼ばれるこの新たな攻撃ベクトルは、大規模言語モデル(LLM)によって幻覚化された架空のパッケージを悪用することで、悪意のある攻撃者がソフトウェアエコシステムに侵入することを可能にする可能性があります。

危険なのは、LLMがパッケージを「幻覚化」することが多い点です。つまり、実際には存在しないソフトウェア依存関係への参照を提案したり挿入したりします。テキサス大学サンアントニオ校、オクラホマ大学、バージニア工科大学が共同で行った研究では、テスト対象となった16種類の人気LLMのいずれも、この現象の影響を受けないことが判明しました。

スロップスクワッティングとは何ですか?どのように機能しますか?

スロップスクワッティングは、この幻覚的な欠陥を武器に転用します。LLMがコード生成中に存在しないパッケージを提案した場合、サイバー犯罪者はその名前で悪意のあるパッケージを迅速に登録できます。公開されると、AI生成コードを鵜呑みにした開発者は、知らないうちに悪意のあるパッケージをインポートして実行してしまう可能性があります。これは個々のプロジェクトを危険にさらすだけでなく、感染したコードが再利用または共有された場合、ソフトウェアサプライチェーン全体に拡散する可能性があります。

調査の結果、PythonとJavaScriptのテストシナリオで生成された223万個のパッケージのうち、約44万個(約19.7%)が幻覚的であったことが判明しました。このうち、実に205,474個が架空の固有のパッケージ名でした。幻覚的パッケージの大半(81%)は、それを生成した特定のモデルに固有のものであり、異なるLLM間で動作に一貫性がないことを示しています。

商用AIモデルは少なくとも5.2%のケースでパッケージを幻覚的に認識しましたが、オープンソースモデルではその割合が著しく低く、幻覚率は21.7%に達しました。驚くべきことに、これらのエラーは単なる一過性の偶然の産物ではありませんでした。幻覚的に認識されたパッケージの半数以上(58%)は、わずか10回の反復処理で繰り返し出現し、明確な持続性を示しました。

ソフトウェア開発におけるAI生成コードのリスクの高まり

これまでの研究では、誤入力や誤解を招くパッケージ名を悪用するタイポスクワッティングの脅威が認識されていますが、この新たなスロップスクワッティング攻撃は、見過ごされがちで、潜在的にはるかに危険な亜種です。人為的なミスを狙うタイポスクワッティングとは異なり、スロップスクワッティングはAI生成コードの権威性や信頼性を悪用します。

研究者たちは、LLMが自身の幻覚の多くを認識できることを発見した。これは、将来の安全メカニズムに活用できる、未開拓の自己制御能力の存在を示唆している。また、モデル内に欠陥のあるコードや危険なコードの流通を防ぐための検出ツールを導入できる可能性も示唆している。

開発者がAIパッケージの幻覚から身を守る方法

この脅威に対抗するため、研究者らは様々な緩和策を提案している。これには、検索拡張生成(RAG)、プロンプトチューニング、自己改良といった高度なプロンプトエンジニアリング技術が含まれる。モデル開発面では、教師ありファインチューニングや改良されたデコードアルゴリズムといった戦略が、幻覚発生率の低減に役立つ可能性がある。

生成AIがソフトウェア開発を変革し続ける中、この調査は利便性が犠牲になる可能性があることを痛烈に示唆しています。開発者は、特に依存関係の管理において、AI生成コードに対して常に注意を払い、批判的に検討する必要があります。推奨パッケージをインストールする前に、静的解析ツールと手動レビューを統合することが、これまで以上に重要になっています。

脅威の状況は急速に進化しており、この調査が示すように、私たちの防御策も進化する必要があります。かつてはSFのように思われていた、AIが存在しないソフトウェアを想像するという話は、今や広範囲にわたる影響を及ぼす、極めて現実的なサイバーセキュリティ上の懸念事項となっています。

読み込んでいます...