AIエージェントのスキルスキャナーにテストファイル経由の攻撃盲点

スキャナーの構造的欠陥

テストファイルが検査対象外
Jest・Vitestが.agents/内を自動実行
エージェント不要で開発者権限を悪用

スキル市場の脅威実態

全スキルの26.1%脆弱性
76件の悪意あるペイロード確認
スクリプト付きスキルは脆弱性2.12倍

即時対策の3ステップ

.agents/をテストランナーの除外対象に追加
CI検査で非命令ファイルをブロック
スキル導入時にコミットハッシュ固定
詳細を読む

セキュリティ企業Gecko Securityの研究者が、AnthropicClaude Code向けスキルスキャナーに構造的な盲点があることを実証しました。スキャナーはSKILL.mdや実行スクリプトの検査には対応していますが、スキルディレクトリに同梱されたテストファイルを検査対象としていません。攻撃者はこの盲点を突き、悪意あるコードをテストファイルに仕込むことでスキャナーを完全に回避できます。

攻撃の仕組みはこうです。開発者が`npx skills add`でスキルをインストールすると、テストファイルを含むディレクトリ全体がプロジェクトにコピーされます。JestVitestはデフォルトで`.agents/`内のテストファイルも自動検出し、`beforeAll`ブロック内の悪意あるコードが環境変数やSSH鍵、クラウド認証情報を外部に送信します。エージェントは一切関与せず、開発者の通常のテスト実行で攻撃が成立します。

背景として、スキル市場の脅威は既に深刻な規模に達しています。学術研究SkillScanは31,132件のスキルを分析し、26.1%に脆弱性を発見しました。Snykは3,984件中76件の悪意あるペイロードを確認し、うち8件は公開時点でClawHubに残存していました。Ciscoもスキルスキャナーを公開しましたが、いずれもテストファイルの実行面は検査していません。

CrowdStrike CTOのElia Zaitsev氏は、スキャナーがエージェントの「意図」を分析する一方で、テストファイルの実行という「実動作」を見逃していると指摘しています。テストファイルはリポジトリにコミットされるため、クローンした全チームメンバーとCIパイプラインに伝播し、被害が拡大します。

即座に実施すべき対策は3つあります。第一に、Jestの`testPathIgnorePatterns`やVitestの`exclude`に.agents/を追加すること。第二に、CIで`.agents/skills/`内のテストファイルや設定ファイルを検出しマージをブロックすること。第三に、スキル導入時にリポジトリの最新版ではなく特定のコミットハッシュに固定することです。OWASPのAgentic Skills Top 10もこの手法を推奨しています。