生成AIによるコーディング支援が普及する一方で、AIが実在しないライブラリ名を捏造し、攻撃者がそれを悪用する「Slop Squatting」という新たなリスクが浮上しています。本記事では、この攻撃手法のメカニズムと、日本企業が導入すべき「Defensive UX(防御的ユーザー体験)」および人間による介入(Human-in-the-Loop)の重要性について解説します。
AIが幻覚で生み出す「架空のパッケージ」を狙う攻撃
GitHub CopilotやChatGPTなどのLLM(大規模言語モデル)を用いたコーディング支援は、日本の開発現場でも急速に浸透しつつあります。しかし、生産性向上の裏側で、LLM特有の性質を逆手に取った新たなサイバー攻撃手法が警鐘を鳴らされています。それが「Slop Squatting(スロップ・スクワッティング)」と呼ばれる手法です。
この攻撃の起点は、LLMの「ハルシネーション(幻覚)」にあります。開発者がAIにコードの生成を依頼した際、AIは文脈的に「ありそうな名前」だが「実在しない」ライブラリやパッケージ(例えば `fast-json-parser-v2` のようなもっともらしい名前)をimport文として提案することがあります。攻撃者は、AIが提案しそうなこれらの名称を予測し、同名の悪意あるパッケージをPyPIやnpmなどのパブリックリポジトリに先回りして登録(スクワッティング)しておきます。
開発者がAIの提案を疑わずにそのままコピー&ペーストして実行すると、知らぬ間にマルウェアを含んだパッケージがインストールされ、認証情報の窃取やバックドアの設置といった被害に遭うリスクがあります。従来のタイポスクワッティング(入力ミスを狙った攻撃)とは異なり、開発者が「AIの提案だから正しいだろう」と信じ込む心理を突いている点が特徴です。
技術と心理の隙間を埋める「Defensive UX」
この問題に対処するためには、単にモデルの精度を上げるだけでは不十分です。求められるのは、システムやツールのUI/UXデザインにおいて、ユーザーがリスクに気づきやすくする「Defensive UX(防御的ユーザー体験)」という考え方です。
Defensive UXとは、ユーザーがあえて「立ち止まって確認する」プロセスをデザインに組み込むことを指します。例えば、AIがコードを生成した際、外部ライブラリのインポートが含まれている場合は警告を表示したり、そのライブラリの信頼性スコア(ダウンロード数やメンテナンス状況など)をその場で提示したりする機能が考えられます。
「Human-in-the-Loop(人間がループに入ること)」は、AIガバナンスの基本ですが、実務レベルでは形骸化しがちです。開発者が無意識に承認ボタンを押してしまうようなUIではなく、セキュリティリスクがある場合にのみ、明確な判断を人間に求めるようなインターフェース設計が、これからのAI開発ツールには不可欠となります。
日本企業の組織文化とソフトウェアサプライチェーン管理
日本企業、特に大手企業や金融機関においては、ソフトウェアのサプライチェーンセキュリティ(SBOMの管理など)への関心が高まっています。しかし、現場レベルでは「AIが書いたコード」に対する検証プロセスが追いついていないケースが散見されます。
従来のコードレビューは、ロジックの正誤やバグの発見に主眼が置かれていました。しかし、生成AI時代のコードレビューでは、「そのライブラリは本当に存在するのか」「信頼できる作者のものか」という、より根源的な確認が必要になります。特に、外部のオープンソースソフトウェア(OSS)を積極的に活用するモダンな開発環境においては、Slop Squattingは自社製品に脆弱性を埋め込む致命的なリスクとなり得ます。
日本企業のAI活用への示唆
以上のグローバルな動向とリスクを踏まえ、日本企業の意思決定者やエンジニアリングマネージャーは、以下の3点を意識してAI活用とリスク対策を進めるべきです。
1. 生成コードに対するセキュリティ基準の策定
AIが生成したコードをそのままプロダクション環境やリポジトリに含めることを禁止し、必ず依存関係のチェックを行うプロセスを義務付ける必要があります。特にnpmやpipなどのパッケージマネージャーを利用する際は、社内プロキシや脆弱性スキャンツールを通す仕組みを徹底してください。
2. 「効率化」と「安全性」のバランスを見直す教育
AI導入の目的として「業務効率化」が叫ばれがちですが、セキュリティ確認を省略して速度を上げることは本末転倒です。開発者に対し、AIは「自信満々に嘘をつく(ハルシネーションを起こす)」可能性があることを再教育し、AIの提案を鵜呑みにしない「健全な懐疑心」を組織文化として醸成することが重要です。
3. Defensive UXを意識した社内ツールの選定・開発
社内でAIチャットボットや開発支援ツールを内製・導入する場合、ユーザーインターフェースが「安全な利用」を促す設計になっているかを確認してください。ユーザーに盲目的な信頼を強いるのではなく、重要な局面で人間による検証(Human-in-the-Loop)を自然に促すようなUXデザインが、AIガバナンスの実効性を高める鍵となります。
