AIの「エージェントスキル」を監査する新しいオープンソースのスキャナーが、検証されていないスキルがSSHキーやクラウドの認証情報を密かに収集できることを研究者が示したことを受け、ツールへと開発されている。このスキャナーは、キーワードフィルタ、振る舞い分析、AI駆動の推論、サンドボックス実行、および変更検知を組み合わせることで、AIを活用する開発者を標的とした次なるサプライチェーン攻撃の波を防ぐ。

なぜ今、AIスキルが重要なのか

ClaudeやGitHub Copilotなどの大規模言語モデル(LLM)アシスタントは、現在「エージェントスキル」に依存している。これは、モデルに特定のタスクの実行方法を伝える、小さく自己完結したフォルダのことである。GitHubは最近、開発者がこれらのスキルを公開リポジトリから直接取得できる1行のコマンドを追加し、AI主導のワークフローにおける事実上のパッケージマネージャーへと変貌させた。

その利便性は否定できない。スキルを使えば、「このスプレッドシートを整理して」といった曖昧な要求を、正確なAPI呼び出し、ファイル操作、またはコード編集へと変換できる。しかし、その簡便さゆえに、悪意のあるコードがバンドル内に紛れ込む隙も生まれている。

GitHubの警告ページには、スキルはインストール前に検証されないことが記されている。

隠されたペイロードがいかにして検知を逃れるか

一般的なバイナリとは異なり、AIスキルは一度にすべてがロードされるわけではない。モデルはまず短い要約を読み取り、タスクが関連していると判断されたときにのみ、完全な指示セットを取得する。この段階的なロードにより、悪意のあるファイルがモデルによって呼び出される決定が下されるまで、ユーザーに気づかれずに待機できる隙が生まれる。

概念実証(PoC)実験において、研究者はスプレッドシートの整理を謳う csv-formatter という偽のスキルを作成した。目に見えるコードは無害に見えたが、隠された指示によって「診断ステップ」が追加されていた。このステップは何も診断せず、ホスト内のSSH秘密鍵とAWSアクセス・トークンをスキャンし、その結果を外部サーバーに送信するというものだった。

この悪意のあるコマンドは、ほとんどの人間が検査することのない、しかしAIがバージョン履歴を評価する際に読み取るチェンジログ(変更履歴)ファイルにも含まれていた。開発者がそのスキルを単にデータをフォーマットしているだけだと思っている間に、AIは密かに認証情報窃取ルーチンを実行したのである。

オープンソースによる対応

この隙を埋めるため、研究者は検知ロジックをオープンソースの監査ツールとしてパッケージ化した。このスキャナーは単一の手法に頼るのではなく、複数の防御策を層状に重ねている。

  • キーワードマッチング:既知の悪