18分で読める
AIAgentSkillsSecurity開発者ツール
AGENT SKILLS / SUPPLY CHAIN

そのSKILL.md、本当に味方のままか。

AIエージェントに新しい能力を足すとき、多くの人は「設定ファイルを一つ追加する」つもりでSkillをインストールします。

けれどSkillは、AIが読む説明文だけではありません。指示、参照資料、スクリプトがまとまった小さなパッケージです。2026年8月7日、Zenityの調査をもとに、skills.sh上で配布されたSkillが認証情報を盗むキャンペーンに使われたとTechRadarが報じました。

SKILL.md Supply Chain Audit Provenance
配布されたAIエージェント用の指示パッケージを検査する抽象的なイラスト
THE SHIFT Skillの追加は、説明書の追加ではなく、AIの実行範囲の変更である。 読むだけのファイルに見えても、AIエージェントがその指示を受けてコマンドやツールを呼ぶなら、影響はコードに近い。
素朴な違和感 もし「使い方の説明」に見える文章が、AIには実行すべき命令として届いていたら?

人間がファイルをざっと読んで無害そうだと感じても、エージェントは別の読み方をします。ファイルを探す、シェルを動かす、外部サービスへ送る。Skillの説明に沿った自然な動作として処理される可能性があるからです。

01 / WHAT HAPPENED

最初は、普通のSkillに見えた

報道によれば、攻撃者は既存Skillに似た名前のパッケージを作り、しばらくは何も悪い動きを見せずにインストール数を増やしました。その後、内容を更新し、AIエージェントにローカルの秘密情報を集めて外部へ送るよう指示したとされています。

REPORTED FACT 1.7M+

一つのSkillファミリーが得た累計インストール数。ユニーク利用者数ではありません。

REPORTED FACT DOZENS

Zenityが悪意のある、または危険な挙動を示す追加Skillを見つけたと報じられています。

REPORTED FACT 30%

確認された危険なSkillのうち、Claude CodeとOpenClawを悪用してマルウェアを置くものの割合として報じられた数字です。

FACT / REPORTING

上のキャンペーンの詳細と数字は、TechRadarがZenity Labsの調査として報じた内容です。被害者数は特定されていません。インストール数を、そのまま被害人数や実行成功数と読み替えることはできません。

02 / WHY IT WORKS

Markdownだから安全、とはならない

Agent Skillは、AIエージェントに特定の手順や知識を渡す再利用可能な能力です。代表的な入口はSKILL.mdというMarkdownファイルですが、リポジトリには補助資料や実行スクリプトも含められます。AIがそれを読んで、作業手順として実行します。

つまり危険性は、ファイルの拡張子だけでは決まりません。どのAIが、どの権限で、どの外部ツールを使って読むのかで変わります。

01配布リポジトリやレジストリから取得
→
02読込AIが手順・資料・スクリプトを読む
→
03実行ファイル、コマンド、外部ツールへ到達
SkillパッケージがAIエージェントを通じて、許可された操作と拒否された操作に分かれる流れ
Skillは「読むファイル」で終わらず、AIが持つツールと権限を通って実行結果に変わります。だから確認すべきなのは、文章の印象だけでなく、どこまで届くかです。
INTERPRETATION

これは、npmパッケージやGitHub Actionと同じ意味で「Skillはコードだ」と断言する話ではありません。正確には、Skillは自然言語による命令と実行可能な部品が結び付いた、エージェント固有の依存関係です。従来のソフトウェア供給網に、モデルの解釈という新しい実行層が加わっています。

RESEARCH / 2026-08-05

別の研究では、471個の実際のシェルコマンドを、無害に見える2,826個の悪意あるSkillファイルへ変換するベンチマークを作成し、Coding Agentへの影響を評価しました。これは実際の感染者数を測った調査ではありませんが、「命令を自然な手順に見せる」攻撃を機械的に試せる段階にあることを示します。

研究論文の概要を読む
03 / AUDIT IS NOT TRUST

監査があっても、信頼を丸ごと預けない

Vercelは2026年2月、skills.shに自動セキュリティ監査を導入したと発表しました。監査結果はSkillの詳細ページに表示され、悪意ありと判定されたものはランキングや検索から隠され、skills@1.4.0以降の追加操作ではリスク情報が表示されます。

これは重要な改善です。同時に、skills.sh自身も「一覧にある全Skillの品質や安全性を保証できない」と説明しています。監査は入口のフィルターであって、利用者の権限設計を代行するものではありません。

確認するもの分かることまだ分からないこと
監査結果

既知の危険な内容や依存関係の兆候

実行時の文脈、将来の更新、未知の手口

作者とリポジトリ

誰が管理し、どこから取得したか

その作者が次の更新でも同じ品質を保つか

権限と環境

どのファイル・サービスへ届くか

AIが想定外の指示を受けたときの振る舞い

バージョンと差分

何が変わったか、戻せるか

利用中の全エージェントに同じ版が入っているか

Skillが出所、監査、権限の確認ゲートを通り、開発環境へ届くまでの境界
監査は入口のフィルターです。作者、更新差分、実行環境の権限を別々に確かめて、はじめて「この環境へ入れてよいか」を判断できます。
CAUTION 「監査済み」は、「自分の秘密情報を読ませてよい」と同じ意味ではありません。

特に、環境変数、SSH鍵、クラウド認証情報、社内リポジトリへ到達できるエージェントでは、Skillの選定と実行環境を分けて考えます。

04 / FIRST STEP

今日からできる、五分の導入手順

Skillを全部やめる必要はありません。信頼する瞬間を、インストールボタンの直前から、確認を終えた後へ移します。

01作者とソースを見る公式組織か、リポジトリが公開されているか、ライセンスと更新履歴があるかを確認する。
02Skillの中身を読むSKILL.mdだけでなく、scripts、外部URL、ファイル探索、秘密情報への言及を確認する。
03監査結果を照合するskills.shの監査表示を見て、説明文と実際の権限・処理が一致しているかを自分でも確かめる。
04範囲を絞って入れる必要なSkillだけを、必要なエージェントとプロジェクトへ。全Skillを全環境へ入れない。
05秘密情報なしで試すまず隔離したテスト用リポジトリで動かし、更新前後の差分を記録する。
公式CLIにある安全寄りの確認コマンド npx skills use <source>

skills useはSkillを一時ディレクトリへ展開し、エージェントへ渡すプロンプトを生成する方式です。いきなり常用環境へインストールせず、内容を確認する入口として使えます。実際の導入時も、対象Skillと対象エージェントを明示し、一覧はnpx skills listで確認します。

VercelのCLIドキュメント

最初の問いに戻ると、SKILL.mdが味方のままかどうかは、ファイル名からは分かりません。配布元、監査、権限、更新差分を見て、AIに渡す仕事の範囲を決めたときに、ようやく分かります。Skillを使わないことが安全なのではない。何を読ませ、何を実行させるかを自分で選べる状態にしておくことが安全です。