/audit
インストール済みの Skill をスキャンし、セキュリティ上の脅威や悪意のあるパターンを検出します。
$ npx -y skills add runkids/skillshare --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/audit
Context preview
What this command does when you run it.
インストール済みの Skill をスキャンし、セキュリティ上の脅威や悪意のあるパターンを検出します。
Command definition
audit.mdsidebar_position: 3
audit
インストール済みの Skill をスキャンし、セキュリティ上の脅威や悪意のあるパターンを検出します。
skillshare audit # インストール済みの全 Skill をスキャン
skillshare audit <name> # 特定のインストール済み Skill をスキャン
skillshare audit a b c # 複数の Skill をスキャン
skillshare audit --group frontend # グループ内の全 Skill をスキャン
skillshare audit <path> # ファイル/ディレクトリのパスをスキャン
skillshare audit --threshold high # HIGH 以上の findings でブロック
skillshare audit -T h # --threshold high と同じ
skillshare audit --format json # JSON 出力
skillshare audit --format sarif # SARIF 2.1.0 出力(GitHub Code Scanning)
skillshare audit --format markdown # Markdown レポート(GitHub Issues/PR 向け)
skillshare audit --json # --format json と同じ(非推奨)
skillshare audit -p # project の Skill をスキャン
skillshare audit --quiet # findings のある Skill のみ表示
skillshare audit --yes # 大規模スキャンの確認をスキップ
skillshare audit --no-tui # プレーンテキスト出力(インタラクティブ TUI なし)
skillshare audit --profile strict # strict プロファイルを使用(HIGH 以上でブロック)
skillshare audit --dedupe global # 完全な composite-key 重複排除
skillshare audit --analyzer static # static analyzer のみ実行
skillshare audit --analyzer static --analyzer dataflow # 複数の analyzer
使うタイミング
- 新しい Skill をインストールした後にセキュリティの findings を確認する
- プロンプトインジェクション、データ流出、認証情報アクセスのパターンについて全 Skill をスキャンする
- 組織のセキュリティポリシーに合わせて audit ルールをカスタマイズする
- コンプライアンス向け(`--format json`)、静的解析ツール向け(`--format sarif`)、またはドキュメント向け(`--format markdown`)の audit レポートを生成する
- CI/CD パイプラインに組み込んで Skill のデプロイをゲートする
- SARIF の結果を GitHub Code Scanning にアップロードして PR レベルの注釈を行う
検出内容
audit エンジンは、Skill ディレクトリ内のすべてのテキストベースのファイルを 100 以上の組み込みルール(正規表現パターン、テーブル駆動の認証情報検出、構造チェック、コンテンツの整合性検証、サプライチェーンの信頼性分析)と照合し、5 段階の重大度(**CRITICAL**、**HIGH**、**MEDIUM**、**LOW**、**INFO**)に分類します。
完全な検出カタログ、脅威カテゴリの詳細、リスクスコアリングアルゴリズム、コマンド安全性のティア分類、Skill 間の相互作用分析については、[Audit Engine](/docs/understand/audit-engine) を参照してください。
出力例
skillshare audit
──────────────────────────────────────────────────
Scanning 12 skills for threats
mode: global
path: /Users/alice/.config/skillshare/skills
block rule: finding severity >= CRITICAL
policy: DEFAULT / dedupe:GLOBAL / analyzers:ALL
[3/12] ! ci-release-helper (AGG MEDIUM 25/100, max HIGH)
[4/12] ✗ suspicious-skill (AGG HIGH 35/100, max CRITICAL)
Summary
──────────────────────────────────────────────────
Block: severity >= CRITICAL
Policy: DEFAULT / dedupe:GLOBAL / analyzers:ALL
Max sev: CRITICAL
Scanned: 12 skill(s)
Passed: 9
Warning: 2
Failed: 1
Severity: c/h/m/l/i = 1/2/1/0/0
Threats: inj:1 exfil:1 cred:1 priv:1
Aggregate: HIGH (35/100)
Auditable: 100% avg
Note: Failed uses severity gate; aggregate is informational
`Failed` は、有効な閾値(`--threshold` または config の `audit.block_threshold`、デフォルトは `CRITICAL`)以上の findings を持つ Skill の数を数えます。
`Threats` は、短縮名を使ってすべての findings をカテゴリ別に内訳表示します: `inj`(injection)、`exfil`(exfiltration)、`cred`(credential)、`obfusc`(obfuscation)、`priv`(privilege)、`integ`(integrity)、`struct`(structure)、`risk`(risk)。findings がない場合、この行は省略されます。ターミナル出力では、各カテゴリは脅威タイプごとに色分けされます。
`audit.block_threshold` はブロックの閾値のみを制御します。スキャン自体を無効化することは**ありません**。
インタラクティブ TUI モード
インタラクティブなターミナルで複数の Skill をスキャンする場合、audit コマンドは結果を 1 行ずつ出力する代わりに **フルスクリーン TUI**(bubbletea 製)を起動します。この TUI はサイドバイサイドのレイアウトを使用します。
**左パネル** — 重大度順(findings のあるものが先)にソートされた Skill のリスト。`✗`/`!`/`✓` のステータスバッジと集計リスクスコアを表示。
**右パネル** — 現在選択中の Skill の詳細。ナビゲートするたびに自動的に更新される。
- **Summary**: リスクスコア(色付き)、最大重大度、ブロックステータス、閾値、スキャン時間、重大度の内訳(c/h/m/l/i)
- **Findings**: 各 finding は `[N] SEVERITY pattern`、メッセージ、`file:line` の位置、一致したスニペットを表示
**操作:**
- `↑↓` で Skill を移動、`←→` でページ送り
- `/` で Skill を名前でフィルタ
- `Ctrl+d`/`Ctrl+u` で詳細パネルをスクロール
- マウスホイールで詳細パネルをスクロール
- `q`/`Esc` で終了
TUI は次の条件がすべて満たされた場合に自動的に起動します: インタラクティブなターミナルであること、JSON 以外の出力であること、複数の結果があること。プレーンテキスト出力を強制するには `--no-tui` を使用します。狭いターミナル(`<70` 列)では縦レイアウトにフォールバックします。
大規模スキャンの確認
インタラクティブなターミナルで 1,000 を超える Skill をスキャンする場合、コマンドは実行前に確認を求めます。TTY 環境(例: ローカルの自動化スクリプト)でこのプロンプトをスキップするには `--yes` を使用します。CI/CD パイプライン(非 TTY)では、このプロンプトは自動的にスキップされます。
ポリシーとプロファイル
audit コマンドは、プロファイル、重複排除モード、analyzer の選択を通じた**ポリシー駆動**の設定をサポートします。これらは CLI フラグ、project config、またはグローバル config で設定できます。
プロファイル
プロファイルは、閾値と重複排除の適切なデフォルトを設定するプリセットです。
| プロファイル | 閾値 | 重複排除 | 用途 | |---------|-----------|--------|----------| | `default` | `CRITICAL` | `global` | 標準的な動作 — critical な脅威のみをブロック | | `strict` | `HIGH` | `global` | セキュリティ重視のチーム — high 以上の脅威をブロック | | `permissive` | `CRITICAL` | `legacy` | アドバイザリ専用 — 最小限のブロック、グローバル重複排除なし |
skillshare audit --profile strict # HIGH 以上でブロック、グローバル重複排除
skillshare audit --profile permissive # アドバイザリモード
明示的なフラグは常にプロファイルのデフォルトより優先されます。
skillshare audit --profile strict --threshold medium # strict プロファイルだが MEDIUM 以上でブロック
重複排除
同じ finding が複数の analyzer(例: static と dataflow の両方)で検出された場合、重複排除は冗長なエントリを削除します。
| モード | 動作 | |------|------| | `global` | すべての findings に対する完全な composite-key 重複排除(デフォルト) | | `legacy` | analyzer 単位のみの重複排除(v0.16.9 以前の動作) |
Analyzer の選択
デフォルトではすべての analyzer が実行されます。特定の analyzer のみを実行するには `--analyzer` を使用します。
skillshare audit --analyzer static # static パターンマッチングのみ
skillshare audit --analyzer static --analyzer dataflow # 複数の analyzer
| Analyzer | スコープ | 説明 | |----------|-------|-------------| | `static` | ファイル単位 | audit ルールに対する正規表現ベースのパターンマッチング | | `dataflow` | ファイル単位 | shell スクリプトと markdown コードブロックの taint tracking | | `tier` | Skill 単位 | Capability tier の組み合わせリスク分析 | | `integrity` | Skill 単位 | コンテンツハッシュ検証(SKILL.md の `file_hashes`) | | `metadata` | Skill 単位 | サプライチェーンの信頼性検証(publisher の不一致、権威の主張) | | `structure` | Skill 単位 | markdown のダングリングリンク検出 | | `cross-skill` | バンドル単位 | Skill 間のデータ流出・権限昇格分析 |
config で設定することもできます。
audit:
enabled_analyzers: [static, dataflow]
優先順位 {#precedence}
設定は次
Read more
sidebar_position: 3
audit
インストール済みの Skill をスキャンし、セキュリティ上の脅威や悪意のあるパターンを検出します。
skillshare audit # インストール済みの全 Skill をスキャン skillshare audit <name> # 特定のインストール済み Skill をスキャン skillshare audit a b c # 複数の Skill をスキャン skillshare audit --group frontend # グループ内の全 Skill をスキャン skillshare audit <path> # ファイル/ディレクトリのパスをスキャン skillshare audit --threshold high # HIGH 以上の findings でブロック skillshare audit -T h # --threshold high と同じ skillshare audit --format json # JSON 出力 skillshare audit --format sarif # SARIF 2.1.0 出力(GitHub Code Scanning) skillshare audit --format markdown # Markdown レポート(GitHub Issues/PR 向け) skillshare audit --json # --format json と同じ(非推奨) skillshare audit -p # project の Skill をスキャン skillshare audit --quiet # findings のある Skill のみ表示 skillshare audit --yes # 大規模スキャンの確認をスキップ skillshare audit --no-tui # プレーンテキスト出力(インタラクティブ TUI なし) skillshare audit --profile strict # strict プロファイルを使用(HIGH 以上でブロック) skillshare audit --dedupe global # 完全な composite-key 重複排除 skillshare audit --analyzer static # static analyzer のみ実行 skillshare audit --analyzer static --analyzer dataflow # 複数の analyzer
使うタイミング
- 新しい Skill をインストールした後にセキュリティの findings を確認する
- プロンプトインジェクション、データ流出、認証情報アクセスのパターンについて全 Skill をスキャンする
- 組織のセキュリティポリシーに合わせて audit ルールをカスタマイズする
- コンプライアンス向け(`--format json`)、静的解析ツール向け(`--format sarif`)、またはドキュメント向け(`--format markdown`)の audit レポートを生成する
- CI/CD パイプラインに組み込んで Skill のデプロイをゲートする
- SARIF の結果を GitHub Code Scanning にアップロードして PR レベルの注釈を行う
検出内容
audit エンジンは、Skill ディレクトリ内のすべてのテキストベースのファイルを 100 以上の組み込みルール(正規表現パターン、テーブル駆動の認証情報検出、構造チェック、コンテンツの整合性検証、サプライチェーンの信頼性分析)と照合し、5 段階の重大度(**CRITICAL**、**HIGH**、**MEDIUM**、**LOW**、**INFO**)に分類します。
完全な検出カタログ、脅威カテゴリの詳細、リスクスコアリングアルゴリズム、コマンド安全性のティア分類、Skill 間の相互作用分析については、[Audit Engine](/docs/understand/audit-engine) を参照してください。
出力例
skillshare audit ────────────────────────────────────────────────── Scanning 12 skills for threats mode: global path: /Users/alice/.config/skillshare/skills block rule: finding severity >= CRITICAL policy: DEFAULT / dedupe:GLOBAL / analyzers:ALL [3/12] ! ci-release-helper (AGG MEDIUM 25/100, max HIGH) [4/12] ✗ suspicious-skill (AGG HIGH 35/100, max CRITICAL) Summary ────────────────────────────────────────────────── Block: severity >= CRITICAL Policy: DEFAULT / dedupe:GLOBAL / analyzers:ALL Max sev: CRITICAL Scanned: 12 skill(s) Passed: 9 Warning: 2 Failed: 1 Severity: c/h/m/l/i = 1/2/1/0/0 Threats: inj:1 exfil:1 cred:1 priv:1 Aggregate: HIGH (35/100) Auditable: 100% avg Note: Failed uses severity gate; aggregate is informational
`Failed` は、有効な閾値(`--threshold` または config の `audit.block_threshold`、デフォルトは `CRITICAL`)以上の findings を持つ Skill の数を数えます。
`Threats` は、短縮名を使ってすべての findings をカテゴリ別に内訳表示します: `inj`(injection)、`exfil`(exfiltration)、`cred`(credential)、`obfusc`(obfuscation)、`priv`(privilege)、`integ`(integrity)、`struct`(structure)、`risk`(risk)。findings がない場合、この行は省略されます。ターミナル出力では、各カテゴリは脅威タイプごとに色分けされます。
`audit.block_threshold` はブロックの閾値のみを制御します。スキャン自体を無効化することは**ありません**。
インタラクティブ TUI モード
インタラクティブなターミナルで複数の Skill をスキャンする場合、audit コマンドは結果を 1 行ずつ出力する代わりに **フルスクリーン TUI**(bubbletea 製)を起動します。この TUI はサイドバイサイドのレイアウトを使用します。
**左パネル** — 重大度順(findings のあるものが先)にソートされた Skill のリスト。`✗`/`!`/`✓` のステータスバッジと集計リスクスコアを表示。
**右パネル** — 現在選択中の Skill の詳細。ナビゲートするたびに自動的に更新される。
- **Summary**: リスクスコア(色付き)、最大重大度、ブロックステータス、閾値、スキャン時間、重大度の内訳(c/h/m/l/i)
- **Findings**: 各 finding は `[N] SEVERITY pattern`、メッセージ、`file:line` の位置、一致したスニペットを表示
**操作:**
- `↑↓` で Skill を移動、`←→` でページ送り
- `/` で Skill を名前でフィルタ
- `Ctrl+d`/`Ctrl+u` で詳細パネルをスクロール
- マウスホイールで詳細パネルをスクロール
- `q`/`Esc` で終了
TUI は次の条件がすべて満たされた場合に自動的に起動します: インタラクティブなターミナルであること、JSON 以外の出力であること、複数の結果があること。プレーンテキスト出力を強制するには `--no-tui` を使用します。狭いターミナル(`<70` 列)では縦レイアウトにフォールバックします。
大規模スキャンの確認
インタラクティブなターミナルで 1,000 を超える Skill をスキャンする場合、コマンドは実行前に確認を求めます。TTY 環境(例: ローカルの自動化スクリプト)でこのプロンプトをスキップするには `--yes` を使用します。CI/CD パイプライン(非 TTY)では、このプロンプトは自動的にスキップされます。
ポリシーとプロファイル
audit コマンドは、プロファイル、重複排除モード、analyzer の選択を通じた**ポリシー駆動**の設定をサポートします。これらは CLI フラグ、project config、またはグローバル config で設定できます。
プロファイル
プロファイルは、閾値と重複排除の適切なデフォルトを設定するプリセットです。
| プロファイル | 閾値 | 重複排除 | 用途 | |---------|-----------|--------|----------| | `default` | `CRITICAL` | `global` | 標準的な動作 — critical な脅威のみをブロック | | `strict` | `HIGH` | `global` | セキュリティ重視のチーム — high 以上の脅威をブロック | | `permissive` | `CRITICAL` | `legacy` | アドバイザリ専用 — 最小限のブロック、グローバル重複排除なし |
skillshare audit --profile strict # HIGH 以上でブロック、グローバル重複排除 skillshare audit --profile permissive # アドバイザリモード
明示的なフラグは常にプロファイルのデフォルトより優先されます。
skillshare audit --profile strict --threshold medium # strict プロファイルだが MEDIUM 以上でブロック
重複排除
同じ finding が複数の analyzer(例: static と dataflow の両方)で検出された場合、重複排除は冗長なエントリを削除します。
| モード | 動作 | |------|------| | `global` | すべての findings に対する完全な composite-key 重複排除(デフォルト) | | `legacy` | analyzer 単位のみの重複排除(v0.16.9 以前の動作) |
Analyzer の選択
デフォルトではすべての analyzer が実行されます。特定の analyzer のみを実行するには `--analyzer` を使用します。
skillshare audit --analyzer static # static パターンマッチングのみ skillshare audit --analyzer static --analyzer dataflow # 複数の analyzer
| Analyzer | スコープ | 説明 | |----------|-------|-------------| | `static` | ファイル単位 | audit ルールに対する正規表現ベースのパターンマッチング | | `dataflow` | ファイル単位 | shell スクリプトと markdown コードブロックの taint tracking | | `tier` | Skill 単位 | Capability tier の組み合わせリスク分析 | | `integrity` | Skill 単位 | コンテンツハッシュ検証(SKILL.md の `file_hashes`) | | `metadata` | Skill 単位 | サプライチェーンの信頼性検証(publisher の不一致、権威の主張) | | `structure` | Skill 単位 | markdown のダングリングリンク検出 | | `cross-skill` | バンドル単位 | Skill 間のデータ流出・権限昇格分析 |
config で設定することもできます。
audit: enabled_analyzers: [static, dataflow]
優先順位 {#precedence}
設定は次
📚 Sync skills across all AI CLI tools with one command and simplify team sharing. Supporting Codex, Claude Code, OpenClaw & more
Repo: runkids/skillshare

