Agent Skills の危険性とその対処方法

-- Views

May 13, 26

スライド概要

profile-image

「持続可能なソフトウェア」の探求がライフワーク。C#、.NET、WPFあたりが住処。Microsoft MVP for Development Technologies(2017/01〜)。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

SECURITY LT / 2026.05 Agent Skills の 危険性とその対処方法 AI コーディングエージェント利用者向け 5 分 LT SPEAKER ATSUSHI NAKAMURA / DATE 2026.06

2.

01 SECTION 01 / DEFINITION Agent Skills とは WHAT IT IS SKILL.md + スクリプト + 参照資料 を束ねた、 コーディングエージェント向けの 再利用可能な実行パッケージ 01 02 03 共通仕様化 パッケージ管理普及 Progressive Disclosure 主要エージェント (Claude Code / 2025年10月 Anthropic 仕様公開 → context を節約しつつ多領域に対応 Codex CLI / Cursor / Gemini CLI / 2026年に できる設計 Copilot) が gh skill / Microsoft APM 登場 agentskills.io として対応 9 SLIDES 配布ハードルの低さと スクリプト同梱を含む実行権限の広さ が、本日扱うセキュリティリスクの背景となっている。

3.

02 SECTION 02 / MECHANISM 3 段階でロードされる HOW IT WORKS STEP STEP STEP メタデータ SKILL.md 本文 同梱スクリプト name / description が エージェン エージェントが 「関連あり」と SKILL.md から呼ばれたときに ト起動時にシステムプロンプト 判断したときに全文ロード 実行 — 攻撃者の最終目標 01 02 03 へ Skill = スクリプト・リソースを含むパッケージ。①② のテキストは indirect prompt injection の入口、③ のス クリプト実行が最終的な攻撃面となる。 9 SLIDES 配置場所はホストごとに異なる: Claude Code は .claude/skills/、 Codex は ~/.agents/skills/ など。

4.

03 SECTION 03 / RISK ① 統計データ エコシステムは既に汚染されている STATS 9 SLIDES SOURCE A — 2026.02 SOURCE B — 2026.01 Snyk ToxicSkills レポート arXiv 2601.10338 (Liu et al.) 3,984 Skill を機械+人間レビュー 31,132 件を分析 13.4% Critical 脆弱性 26.1% 脆弱性あり 36.8% 何らかのセキュリティ問題 5.2% 明確な悪意あり 91% プロンプトインジェクション併 用 悪意 Skill の 91% で確認 13.3% データ流出が最多 含意 534 個。重大リスクとして分類 1,467 個。全体の約 1/3 超 分析対象の約 1/4 高重大度として分類 権限昇格 11.8% が続く コーディングエージェントは資格情報・コード・FS・API への同時アクセス権を持つため blast radius が大きい。Agent Skills は npm / PyPI と同等のサプライチェーンとして扱う必要がある。

5.

04 SECTION 04 / RISK ② OWASP AST10 草案より上位 3 つ 主要リスク 3 種 TOP RISKS A 悪意あり 悪意ある Skill が紛れ込む 普通の Skill に隠し指示/スクリプト → ファイル外部送信・任意コマンド実行 例:公式 PowerPoint Skill に 1 行追加で機密流出 (arXiv 2510.26328) / Unicode タグ文字で人間に見 えない指示 (Embrace The Red) B 配布元侵害 配布元の乗っ取り/偽物を掴む 本物が侵害/typosquatting → 気づかず悪意 Skill を取得 例:GitHub Actions 上で Claude Code / Gemini CLI / Copilot Agent の 3 社で同手口成立 / 人気 VS Code 拡張が 8 時間だけ汚染、約 4,000 名影響 C 過剰権限 Skill 権限が広すぎる .env 等への過剰アクセス → API キー流出・削除後も残るバックドア 例:天気 Skill が裏で .env を読む / Skill が CLAUDE.md に勝手追記し削除後も指示が残る 9 SLIDES AST03 補足:Skill 側の allowed-tools は標準仕様で experimental・Claude Code でも未強制報告あり (Issues #18837 / #37683)。確実な 制限は エージェント側 permissions.deny + OS サンドボックス。

6.

05 SECTION 05 / RISK ③ SIMON WILLISON, 2025.06 Lethal Trifecta — 3 条件揃うと漏洩 TRIFECTA ① ② ③ 秘密データへの 未信頼コンテンツ 外部通信 アクセス の読込 能力 .env SSH 鍵 トークン ソースコー ド Issue PR SKILL.md 依存パッ ケージ curl git push WebFetch gh コーディングエージェントは構造的に 3 条件を同時に満たしやすい → EXFILTRATION 実害例 Trail of Bits (2025.10):go test / git show の引数経由で任意スクリプト実行、Claude Code 含む複数製品で再現。 9 SLIDES 3 条件のどれか 1 つを確実に断つ 設計で防げる ─ 次スライドへ。

7.

06 SECTION 06 / 対処方法 5 項目 監査済み Skill を、最小権限で、隔離環境で MITIGATION 鉄則 — 監査済み Skill を、最小権限 で、隔離環境 で動かす # 対処 A B C D AST 01 AST 02 AST 03 TRIFECTA 1 自作 / 社内 fork を第一選択 公開 Skill は設計参考に留め再実装 ○ ○ — — 2 監査 + commit SHA ピン留め gh skill install owner/repo@<sha> -- — ◎ — — pin 9 SLIDES 3 権限の最小化 permissions.deny + OS サンドボックス (Seatbelt / bubblewrap) — — ◎ ○ 4 危険な権限モード禁止 bypassPermissions / --dangerously-skippermissions 禁止 ◎ — — ○ 5 Defense in depth Dev コンテナ / ephemeral CI / egress allowlist — — ○ ◎ 凡例:◎ 主対策 / ○ 補助 / — 対象外。 #2 ピン留めの効く範囲:監査済みの版を保つ仕組み。初回流入は #1 / 静的解析、実行時リスク は #3〜#5 で別途カバー。

8.

07 SECTION 07 / 支援ツール × リスク対応表 どのツールが何を守るか TOOLING ツール / 機能 A B C D AST 01 AST 02 AST 03 TRIFECTA rulesync — ○ — — Microsoft APM ○ ◎ △ △ gh skill △ ◎ — — Cisco AI Skill Scanner ◎ ○ △ △ Snyk Agent Scan ◎ ○ △ △ Claude Code 標準 (permissions / hooks / sandbox) △ — ◎ ◎ Dev Container / ephemeral runner / egress 制御 △ — ◎ ◎ A 9 SLIDES / B を守る APM + gh skill + 静的解析スキャナ。スキャナ単独では 意味的攻撃を完全捕捉できない ─ 人間レビュー + スキャ ナ + SHA ピン留めの三層。 C / D を守る Claude Code 自身の permissions / hooks / sandbox + Dev コンテナ等の実行環境分離。配布ツールはこの領域 を直接カバーしない。

9.

08 SECTION 08 / CONCLUSION 結論 ─ 本日の 3 つの要点 SUMMARY 01 Skill = 設定ファイルではなく、スクリプト同梱ソフトウェアパッケージ npm 依存と同等の警戒度で扱う。SKILL.md の中身だけでなく、同梱スクリプトと実行時権限まで 含めて評価する。 02 外部 Skill は多層防御を組み合わせて扱う commit SHA ピン留め + 静的解析 + 実行時権限制御 + サンドボックス + egress 制御 の組み合わ せが基本。自作も有効な選択肢の一つ。Lethal Trifecta のどれかを確実に断つ設計を目指す。 03 ツールの役割を区別して組み合わせる カタログ / 同期ツールは 「監査済みのものを正しく導入する」 役割。実行時の暴走を止めるのは別 レイヤ (Claude Code 標準機能 / Dev Container)。混同しないこと。 9 SLIDES ※ 本資料の事実関係は 2026年5月時点の公開情報に基づく。Snyk / OWASP / GitHub は更新が速いため 登壇直前に再確認 を推奨。

10.

A APPENDIX A / 公式ドキュメント 公式リファレンス APPENDIX A Claude Code Security code.claude.com/docs/en/security Anthropic Agent Skills Overview platform.claude.com/docs/en/agents-and-tools/agent-skills/overview Microsoft APM ─ Docs microsoft.github.io/apm/ Microsoft APM ─ Repository github.com/microsoft/apm gh skill ─ 公式アナウンス github.blog/changelog/2026-04-16-manage-agent-skills-with-github-cli/ Snyk Agent Scan github.com/snyk/agent-scan Cisco AI Agent Security Scanner blogs.cisco.com/ai/introducing-the-ai-agent-security-scanner-for-idesverify-your-agents 各エントリのリンクをクリックするとブラウザでソースが開きます。所属組織のリンク制限環境下では別途共有資料側を参照してくだ REFERENCES さい。

11.

B APPENDIX B / 標準・カタログ・関連ツール 仕様・カタログとサポートツール APPENDIX B OWASP Agentic Skills Top 10 (草案) owasp.org/www-project-agentic-skills-top-10/ Agent Skills オープン仕様 agentskills.io anthropics/skills (公式カタログ) github.com/anthropics/skills microsoft/skills (Azure 系カタログ) github.com/microsoft/skills MicrosoftDocs/Agent-Skills github.com/MicrosoftDocs/Agent-Skills rulesync ─ AI ルール統一管理 github.com/dyoshikawa/rulesync Ruler ─ 社内配布 (Beta) github.com/intellectronica/ruler AgentAuditKit ─ 参考スキャナ github.com/sattyamjjain/agent-audit-kit Repello SkillCheck (Web) skills.repello.ai 「公式 = 安全」と過信せず、各環境での監査・テストを行うことが前提。スキャナ系は社内 Skill アップロード時のデータ取扱いに注意 REFERENCES 。

12.

C APPENDIX C / 実証研究・攻撃公表 研究と攻撃事例の一次ソース APPENDIX C Simon Willison ─ Lethal Trifecta (2025.06) simonwillison.net/2025/Jun/16/the-lethal-trifecta/ Snyk ToxicSkills レポート (2026.02) snyk.io/blog/toxicskills-malicious-ai-agent-skills-clawhub/ Embrace The Red ─ Scary Agent Skills (2026.02) embracethered.com/blog/posts/2026/scary-agent-skills/ arXiv 2510.26328 ─ aisa-group (2025.10) arxiv.org/abs/2510.26328 arXiv 2601.10338 ─ Liu et al. (2026.01) arxiv.org/abs/2601.10338 arXiv 2601.17548 ─ Maloyan/Namiot (2026.01) arxiv.org/abs/2601.17548 Claude Code Issue #18837 ─ allowed-tools 未強制 github.com/anthropics/claude-code/issues/18837 Claude Code Issue #37683 ─ allowed-tools 未強制 github.com/anthropics/claude-code/issues/37683 REFERENCES 2026 年 5 月時点で公開・検証済みのリンク。Snyk / OWASP / GitHub は更新が速いため登壇直前の再確認推奨。