8月8日、The Next Webが「Malicious AI skills hit 1.7 million installs」と題した記事を公開した。この記事では、AIエージェント向けのアドオンレジストリに悪意あるスキルが紛れ込み、累計170万インストールに達したサプライチェーン攻撃について詳しく紹介されている。
170万インストールの悪意あるスキル
セキュリティ研究企業Zenity Labsは、Black Hatカンファレンスにて調査結果を発表した。攻撃者が標的にしたのは、Vercelが運営するAIエージェント向けの公開スキルレジストリ「skills.sh」だ。skills.shはAIエージェントに機能を追加する「スキル」(自然言語の命令セット)を配布するプラットフォームであり、npmやPyPIのパッケージレジストリに相当する位置付けの新興サービスだ。
手口はタイポスクワッティング(typosquatting)——正規スキルの名前に似せた偽パッケージを登録する手法——によるものだった。だが単純なコピーではなく、攻撃者は「時間」を武器にした。偽スキルは最初のうちクリーンな状態を保ち、インストール数と信頼を積み上げる。十分に普及した後、こっそりと悪意ある命令を仕込んだ。
その命令の内容がエンジニアにとって直撃する。AIエージェントに対し、SSHキー、クラウド認証情報、データベースのログイン情報、アクセストークンを探し出し、マシンの詳細情報とともに攻撃者のサーバーへ送信せよ、というものだ。
Zenityは「170万インストール」を累計ダウンロード数であり、ユニーク被害者数ではないと強調している。ただし、すでにインストールした端末からの手動削除が必要なことに変わりはない。
エージェントが攻撃の実行者になる構造
この攻撃が通常のサプライチェーン攻撃と異なるのは、AIエージェントの「命令を忠実に実行する」という性質そのものが攻撃面になっている点だ。スキルはコードではなく命令(インストラクション)であり、エージェントは渡されたコンテンツの指示に従うのが仕事だ。有用性の源泉がそのまま脆弱性になる。
今回の調査では、危険なスキルの30%以上がClaude Codeを悪用してマルウェアを投下していたと報告されている。なお、元記事に登場する「OpenClaw」はClaude Codeと連携して動作するオープンソースのAIエージェントフレームワークであり、Claude Code単体ではカバーしきれないエージェント操作をスクリプトから制御するために用いられる。こうしたツールが攻撃者に悪用された形だ。さらに一部のスキルは「自己保存」の機能まで備えていた。
- あるスキルは、削除されても自動的に再インストールされるよう、エージェント自身のシステムプロンプトを書き換えた
- 別のスキルは、Claudeの組み込みスキル作成機能をこっそりアンインストールし、偽物に差し替えた(ユーザーには何も通知されなかった)
Zenityはさらに、将来の攻撃のために確保された空の予約パッケージ名が数百件存在することも確認している。
対応と残る課題
ZenityがVercelとMicrosoftのGitHubに開示した後、問題のスキルやリポジトリは12時間以内に削除された。しかし、コピーされた命令はダウンストリームのリポジトリや各マシン上に残存しうる。すでにインストールした利用者は手動での除去が必要だ。
Zenity CTOのMichael Bargury氏は「最も危険なスキルは、実行されるまで無害に見える」と述べている。同社はサンドボックス内でスキルを「爆発」させて挙動を観察する無償ツール「AI Total」を提供しており、今回の発表は自社製品の訴求も兼ねている点は留意が必要だ。
AIエージェントの「サプライチェーン」は広がった
今回の件はAIエージェントにおける「サプライチェーン」の定義を拡張した。もはやコードライブラリだけでなく、スキル、ツール、MCPサーバー、エージェントが読み込む任意のWebページがすべて攻撃の潜伏場所になりうる。従来のソフトウェアサプライチェーン攻撃ではコードの改ざんが主な手口だったが、AIエージェント環境では自然言語の命令そのものが実行可能な「ペイロード」になる。エージェントが命令の出所を検証する仕組みを持たない限り、この種の攻撃は形を変えて繰り返される可能性が高い。エージェントが不正なアクションを取るリスクへの対処は、特定のサービスやベンダーの問題にとどまらず、業界全体で取り組むべき構造的な課題となっている。
詳細はMalicious AI skills hit 1.7 million installsを参照していただきたい。