ブログ一覧に戻る
ベストプラクティス2026年6月25日3分で読めます

誰もが「自分では読めないコード」を本番環境に出荷している

Everybody's shipping code they can't read

ベストプラクティス

この記事のポイント

【なぜ重要か】 AIエージェントによるコード生成が普及した結果、ソフトウェア開発の知識がない人でも簡単にアプリケーションを作れるようになった。しかしその裏では、AIが人間のレビューなしに外部パッケージを自動取得・実行しており、悪意あるサプライチェーン攻撃の格好の標的となっている。エンジニアやセキュリティ担当者は、この「誰も依存関係を確認していない」状態がもたらすリスクを正確に把握する必要がある。...

【なぜ重要か】 AIエージェントによるコード生成が普及した結果、ソフトウェア開発の知識がない人でも簡単にアプリケーションを作れるようになった。しかしその裏では、AIが人間のレビューなしに外部パッケージを自動取得・実行しており、悪意あるサプライチェーン攻撃の格好の標的となっている。エンジニアやセキュリティ担当者は、この「誰も依存関係を確認していない」状態がもたらすリスクを正確に把握する必要がある。

【ポイント】

  • AIエージェント(例:Claude)はユーザーの指示に基づき、仮想マシン上でコードを自律的に生成・実行し、必要と判断した外部ライブラリを自動的に取得する。ユーザーはそのコードを一行も目にしないまま動作するものを受け取る。
  • 実際の攻撃事例として、人気AIエージェントフレームワーク「@mastra」エコシステムの141パッケージが一夜にして45分間で悪意ある依存関係を含む形で再公開された。その悪性パッケージはインストール時にスクリプトを実行して第二のペイロードをダウンロードし、不可視のバックグラウンドプロセスとして起動した後に自身を削除して痕跡を消し、160以上のブラウザ用暗号資産ウォレットを標的にしてMac・Windows・Linux上で永続化を図った。
  • AIはパッケージ選択時に人間のような判断(ダウンロード数・最終コミット・メンテナーの確認、プルリクエストによるレビュー)を行わない。人気度に基づく選択や、存在しないパッケージ名を「幻覚(ハルシネーション)」として生成することもある。
  • AIが生成した存在しないパッケージ名を攻撃者があらかじめ予測し、そのパッケージ名にマルウェアを仕込む手法は「スロップスクワッティング(slopsquatting)」と呼ばれ、AIコーディングを利用するすべての人が警戒すべき脅威となっている。
  • 対策としては、AIツールの使用をやめることではなく、インストールが実行される場所にトラスト(信頼性検証)チェックを組み込むことが有効。具体的には、既知の悪性パッケージをインストール前にブロックすること、インストールスクリプトをデフォルト自動実行ではなくオプトイン方式にすること、「エージェントが処理した」という状態を無条件に信頼しないことが推奨されている。

【まとめ】 AIが自律的に取得・実行する依存関係は、誰もレビューしていないという構造的なリスクを抱えている。AIコーディングを安全に活用するには、パッケージのインストール前に悪性コードをブロックする仕組みを導入することが不可欠であり、Aikido Device Protectionのような対策ツールの活用や、公式の「Vibe Coding セキュリティチェックリスト」の確認を出発点とすることが推奨される。

原文を読む

Aikido Security Blog

英語で詳細な技術情報を確認

原文を読む

コメント・質問

この記事についてのコメントや質問を投稿できます

コメントを投稿するにはログインが必要です

ログインする

読み込み中...