Skillaudit について
SkillAuditは、インストール前にAIエージェントのスキル、MCPマニフェスト、パッケージなどのセキュリティリスクをスキャンします。開発者やチームはCLI、API、MCPツールを使い、リスクしきい値やポリシーに照らして確認できます。
主な機能
- 01認証情報の窃取やデータ流出の検出
- 02MCPマニフェストのスキーマポイズニング検査
- 03許可・警告・拒否のゲート判定
- 04一括スキャンとカスタムポリシー評価
- 05CLI、API、MCPの各インターフェース
活用シーン
- 01エージェントによるインストール前のスキル検査
- 02MCPツールマニフェストの隠し指示のスキャン
- 03CI/CDでの高リスクスキルのブロック
- 04複数のスキルURLの一括検査
MCP 対応
MCPサーバーは、ゲート判定、スキャン、コンテンツ検査、レピュテーション照会、一括検査のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🛡️ SkillAudit
AI エージェントのスキルを保護するセキュリティレイヤーです。 エージェントが何かをインストールする前にスキャンし、ゲートで制御し、ポリシーを適用します。
43 の検出ルール · 401 のパターン · MCP + A2A に対応 · 依存関係ゼロ
# Gate check — should my agent install this?
npx skillaudit gate https://example.com/SKILL.md
# Full scan
npx skillaudit https://example.com/SKILL.md
# Scan MCP manifest for schema poisoning
npx skillaudit manifest tools.json
なぜ SkillAudit なのか?
AI エージェントは、信頼できないソースからツール、スキル、MCP サーバーをインストールします。それらのスキルは認証情報を盗み、データを外部に流出させ、プロンプトを注入し、ほかのエージェントを操作する可能性があります。そのほとんどはユーザーには見えません。
SkillAudit がそれを検出します。インストール前に API を 1 回呼び出すだけです。
クイックスタート
1. ゲートチェック(1 行)
インフラストラクチャ用のエンドポイントです。許可/拒否を返します。
curl "https://skillaudit.vercel.app/gate?url=https://example.com/SKILL.md"
# → {"allow": true, "decision": "allow", "risk": "clean", ...}
2. フルスキャン
curl "https://skillaudit.vercel.app/scan/quick?url=https://example.com/SKILL.md"
3. 一括ゲート(複数のスキルを一度にチェック)
curl -X POST https://skillaudit.vercel.app/gate/bulk \
-H "Content-Type: application/json" \
-d '{"urls": ["https://example.com/skill1.md", "https://example.com/skill2.md"]}'
# → {"allow": false, "denied": 1, "blocked": [...]}
4. ポリシーの適用
curl -X POST https://skillaudit.vercel.app/policy/evaluate-inline \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/SKILL.md",
"policy": {"maxRisk": "low", "blockedCategories": ["credential_theft"]}
}'
検出対象
43 のルールカテゴリ、401 のパターン:
| カテゴリ | ルール | 検出内容 |
|---|---|---|
| 🔑 認証情報の窃取 | CRED_ENV_READ、TOKEN_STEAL | .env の読み取り、トークン/Cookie の窃取、SSH キーへのアクセス |
| 📤 データの外部流出 | DATA_EXFIL、EXFIL_PATTERN、EXFIL_COVERT | Webhook.site、DNS 経由の流出、秘密チャネル、画像ビーコン |
| 💉 プロンプトインジェクション | PROMPT_INJECT、TOOL_POISONING | 「以前の指示を無視してください」、隠されたシステムプロンプト |
| 🧬 MCP スキーマポイズニング | MCP_SCHEMA_POISON | MCP ツールの説明/スキーマに埋め込まれた隠し指示 |
| 🤖 A2A 攻撃 | A2A_AGENT_IMPERSONATION、A2A_TASK_HIJACK、A2A_CROSS_AGENT_INJECT、A2A_DATA_LEAK、A2A_CAPABILITY_ABUSE | Agent Card の偽装、タスクの乗っ取り、エージェント間のインジェクション |
| 🐚 コード実行 | SHELL_EXEC、REVERSE_SHELL | シェルコマンド、リバースシェル、eval/Function |
| 🔐 ハードコードされたシークレット | 22 detectors | AWS キー、GitHub トークン、JWT、秘密鍵、API キー |
| 👻 難読化 | OBFUSCATION、INVISIBLE_TEXT | Base64 ペイロード、ゼロ幅 Unicode、エンコードされた URL |
| ⏰ 回避 | TIME_BOMB | 日付をトリガーとする有効化、遅延実行 |
| 🔗 サプライチェーン | SUPPLY_CHAIN | リモートコードの読み込み、curl|bash、依存関係の混乱 |
| 🌐 ネットワーク | NET_SUSPICIOUS、SSRF_PATTERN、DNS_REBIND | SSRF、生 IP、DNS リバインディング、メタデータエンドポイント |
| 📦 コンテナエスケープ | CONTAINER_ESCAPE | Docker ソケット、nsenter、/proc の走査、LD_PRELOAD |
| 🔄 永続化 | PERSISTENCE | Cron への注入、systemd、LaunchAgents、pm2、nohup |
| 🕵️ 偵察 | ENV_RECON | os.hostname、whoami、ネットワークインターフェース、環境変数のダンプ |
| 🔧 エージェントの操作 | AGENT_MEMORY_MOD、TOOL_SHADOW、CROSS_TOOL_ACCESS | メモリの改変、ツールのシャドーイング、ツール間のデータアクセス |
| 💰 暗号資産の窃取 | CRYPTO_THEFT | ウォレットファイル、シードフレーズ、MetaMask の保管庫 |
コンテキストに基づくスマートな抑制機能により、誤検知を最小限に抑えるため、ドキュメント内の例やプレースホルダートークンは自動的に除外されます。
CLI
インストール不要、設定不要です。Node.js 18 以降が必要です。
# Scan a file, URL, or directory
npx skillaudit SKILL.md
npx skillaudit https://github.com/user/repo
npx skillaudit ./my-agent-project/
# Gate check (CI/CD: exit 0 = allow, exit 1 = deny)
npx skillaudit gate https://example.com/SKILL.md
npx skillaudit gate https://example.com/SKILL.md --threshold high
# Scan MCP manifest for schema poisoning
npx skillaudit manifest tools.json
# CI/CD integration
npx skillaudit SKILL.md --fail-on moderate # Exit 1 if risk >= moderate
npx skillaudit SKILL.md --markdown >> "$GITHUB_STEP_SUMMARY" # PR summary
npx skillaudit SKILL.md --json | jq .riskLevel # Machine-readable
# MCP server mode
npx skillaudit --mcp
API エンドポイント
対話型ドキュメントの全文は skillaudit.vercel.app/docs をご覧ください。
ゲート(インフラストラクチャ)
| エンドポイント | 説明 |
|---|---|
GET /gate?url= | インストール前のゲート — 許可/警告/拒否 |
POST /gate/bulk | 複数のスキルをチェックし、総合的な判定を 1 つ返します |
スキャン
| エンドポイント | 説明 |
|---|---|
GET /scan/quick?url= | URL を使ったクイックスキャン |
POST /scan/content | 生のコンテンツをスキャン |
POST /scan/manifest | MCP ツールマニフェストのスキーマポイズニングをスキャン |
GET /scan/agent-card?url= | A2A Agent Card をスキャン |
GET /scan/npm?package= | npm パッケージをスキャン |
GET /scan/pypi?package= | PyPI パッケージをスキャン |
GET /scan/repo?repo= | GitHub リポジトリをスキャン |
POST /scan/deps | 依存関係ツリーをスキャン |
POST /scan/batch | バッチスキャン(最大 20 件の URL) |
POST /scan/compare | 2 つのスキルバージョンの差分を確認 |
POST /scan/deep | 脅威チェーンを含むディープスキャン |
ポリシーとインテリジェンス
| エンドポイント | 説明 |
|---|---|
POST /policy/evaluate-inline | カスタムポリシーに照らして評価(認証不要) |
POST /policy | 保存済みポリシーを作成(API キー) |
GET /reputation/:domain | ドメインの信頼スコア |
GET /feed | 脅威インテリジェンスフィード |
GET /badge/scan.svg?url= | 埋め込み可能な SVG バッジ |
GET /certificate/:id | 署名済み監査証明書 |
結果
| エンドポイント | 説明 |
|---|---|
GET /scan/:id | スキャン結果を取得 |
GET /scan/:id/sarif | SARIF v2.1.0 出力 |
GET /report/:id | 共有可能な HTML レポート |
レート制限: IP ごとに 30 リクエスト/分。API キーで制限を回避できます。
MCP サーバー
SkillAudit を Claude Desktop、Cursor、または任意の MCP クライアントでネイティブツールとして使用できます。
{
"mcpServers": {
"skillaudit": {
"command": "npx",
"args": ["skillaudit", "--mcp"]
}
}
}
ツール:skillaudit_gate、skillaudit_scan、skillaudit_scan_content、skillaudit_reputation、skillaudit_batch
GitHub Action
name: SkillAudit
on: [pull_request]
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx skillaudit . --fail-on high --markdown >> "$GITHUB_STEP_SUMMARY"
CI/CD 統合
# GitHub Actions — gate check before deploy
npx skillaudit gate "$SKILL_URL" --threshold moderate || exit 1
# Generate PR comment
npx skillaudit ./skills/ --markdown > scan-results.md
# Policy enforcement in pipeline
curl -sf -X POST https://skillaudit.vercel.app/policy/evaluate-inline \
-H "Content-Type: application/json" \
-d "{\"url\": \"$SKILL_URL\", \"policy\": {\"maxRisk\": \"low\"}}" \
| jq -e '.pass == true'
リスクレベル
| レベル | スコア | 意味 |
|---|---|---|
🟢 clean | 0 | 問題は見つかりませんでした |
🟡 low | 1–9 | 軽微な懸念事項があります。確認を推奨します |
🟠 moderate | 10–24 | 手動での確認が必要です |
🔴 high | 25–49 | 監査なしでインストールしないでください |
⛔ critical | 50+ | ほぼ確実に悪意のあるものです |
セルフホスト
git clone https://github.com/megamind-0x/skillaudit
cd skillaudit && npm install && npm start
# → http://localhost:3847
Megamind_0x が開発 🧠
ライブアプリ · API ドキュメント · ダッシュボード · npm
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。