AIエージェントのスキルスキャナーにテストファイル経由の攻撃盲点
詳細を読む
セキュリティ企業Gecko Securityの研究者が、AnthropicのClaude Code向けスキルスキャナーに構造的な盲点があることを実証しました。スキャナーはSKILL.mdや実行スクリプトの検査には対応していますが、スキルディレクトリに同梱されたテストファイルを検査対象としていません。攻撃者はこの盲点を突き、悪意あるコードをテストファイルに仕込むことでスキャナーを完全に回避できます。
攻撃の仕組みはこうです。開発者が`npx skills add`でスキルをインストールすると、テストファイルを含むディレクトリ全体がプロジェクトにコピーされます。JestやVitestはデフォルトで`.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もこの手法を推奨しています。