AI Package Hallucinationとは
AI Package Hallucinationとは、コード生成AIが実在しないライブラリ名やパッケージ名を、もっともらしく提案してしまう現象です。開発者が確認せずに使うと、存在しないはずの部品名を攻撃者が先回りして登録するサプライチェーン攻撃につながる恐れがあります。
日本語表記:パッケージ幻覚
AIの「それっぽい部品名」を信じない
プログラム開発では、外部のパッケージを取り込んで機能を足すのが普通です。AIにコードを書かせると、その文脈に合いそうなパッケージ名を出すことがあります。しかし、LLM Misinformationの一種として、実在しない名前を自然なコードの中に混ぜることもあります。
問題は、失敗がエラーで終わらない場合です。攻撃者が同じ名前の悪意あるパッケージを公開していれば、開発者はAIの提案どおりにインストールしてしまうかもしれません。プロンプトインジェクションのようにAIへ直接攻撃するのではなく、AIが作った候補を人間が信じる隙を突く形です。実在しそうな偽名を先回りで登録するこの手口は、近年スロップスクワッティング(slopsquatting)とも呼ばれます。
社内開発での防ぎ方
対策は難しい魔法ではありません。AIが出したパッケージ名は、公式リポジトリ、保守状況、ダウンロード元、ライセンス、脆弱性情報で確認します。ロックファイル(使う部品名とバージョンを固定する一覧)、依存関係スキャン、レビューを通し、AI生成コードをそのまま本番へ入れない運用が要ります。
経営側が見るべきなのは、AIコーディングの速さだけではありません。AIが書いたコードにどの部品が入り、誰が確認したかを追跡できるか。AI Package Hallucinationは、AI導入のリスクが「回答内容」だけでなく、開発プロセスそのものへ広がることを示しています。
Topic空の偽パッケージでもダウンロードされてしまう
Lassoの調査では、AIが提案しやすい存在しない名前として「huggingface-cli」が取り上げられました。研究者が同名の空パッケージを公開したところ、3か月で3万件超の本物のダウンロードがあったと報告しています。AIの幻覚が、人間のインストール操作に変わるところがこのリスクの怖さです。
AI Package Hallucinationに関するよくある質問
- AI Package Hallucinationと普通のハルシネーションは何が違いますか?
- AIが間違える点は同じですが、こちらは存在しないソフトウェア部品名が開発手順に入り込む点が特徴です。確認せずにインストールすると、セキュリティ事故へつながります。
- 非エンジニアの経営者は何を確認すればよいですか?
- AI生成コードを本番投入する前に、依存関係のレビュー、パッケージの出どころ確認、脆弱性スキャンが運用に入っているかを確認します。速度だけでなく確認フローを見ます。