Skip to content
Development
Command

/audit

インストール済みの Skill をスキャンし、セキュリティ上の脅威や悪意のあるパターンを検出します。

From plugin
skillshare
3k38 skills38 commands
$ npx -y skills add runkids/skillshare --agent claude-code

Command definition

audit.md
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

表示する最低重大度

skillshare audit --min-severity high
skillshare audit --format markdown --min-severity medium

`--min-severity <level>` は `critical`、`high`、`medium`、`low`、`info` の指定値以上の検出結果を表示します(大文字小文字を区別せず、`h` などの略称も使用可能)。既定ではすべて表示します。端末(TUI を含む)と Markdown の表・スニペットだけに適用され、すべて非表示でも表示件数と非表示件数を示します。スコア、`summary.maxSeverity`、ブロック判定、終了コード、スキャンエラー、不完全なスキャンの警告は全結果に基づきます。JSON と SARIF はこのフラグを無視し、追加メタデータなしで完全な出力を維持します。

ダッシュボードでは重大度フィルターを「最低重大度」に切り替え、重大度の件数を選択すると、その値以上を表示します。「指定した重大度のみ」は従来の完全一致選択です。選択中の重大度を再度クリックすると解除されます。未選択時は LOW/INFO の折りたたみを維持し、非表示件数に含めます。フィルターは再スキャンやポリシー、スコア、ブロック状態を変更しません。

承認済みの検出結果 {#accepted-findings}

skillshare audit --respect-accepted
skillshare audit --respect-accepted --threshold high --format json

`install` や `update` で `--force` を使って受け入れた検出結果は `.metadata.json` に記録されます([Accepted Findings](/docs/reference/commands/update#accepted-findings) を参照)。通常の `audit` では、これらは引き続き失敗として扱われます。`--respect-accepted` を付けると、audit は update の gate と同じようにこれらの承認を適用します。検出結果はレポートに残りますが、失敗の原因にはなりません。ほかの検出結果がしきい値未満のリソースは警告として数えられ、ほかにしきい値に達する検出結果がなければ終了コードは `0` になります。内容が変わった検出結果は、改めて承認が必要です。

承認済みの検出結果は、すべての出力形式で次のように示されます。

| 形式 | 表示 | |------|------| | テキストと TUI | 検出結果の下に `accepted earlier with --force`。テキストのサマリーには **Accepted** 行が追加されます | | JSON | 検出結果に `"acknowledged": true`。`summary.accepted` がその件数で、`summary.critical` などの重大度の件数には含めません | | Markdown | メッセージの後ろに `(accepted earlier)`。サマリー表には **Accepted** 行が追加されます | | SARIF | kind が `external` の `suppressions` エントリ |

tracked リポジトリ内の skill も、リポジトリ全体に対して記録された承認と照合されます。例外は bundled の hook と settings の検出結果です。その根拠にはリポジトリ全体のスキャンで見たファイル名が含まれるため、skill 単体の audit では引き続き失敗します。

使うタイミング

  • 新しい 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**)に分類します。

Markdown のサンプルもスキャンされます。解析されたフェンス付きコードブロック内で、パラメータ形式の SDK `system:` / `System:` 値(`prompt-injection-1`)は HIGH として報告されます。「Do not tell the user they need to adopt an eval framework」のような一般的な開示制限は、すべてのファイル形式で HIGH の `prompt-injection-5` に一致します。明示的な隠蔽は `prompt-injection-4` の CRITICAL を維持します。`.py` ファイルでは、コメントだけの行と docstring での組み込み CRITICAL credential-access マッチは HIGH として報告されます([認証情報アクセス](../../understand/audit-engine.md#credential-access)を参照)。HIGH は既定の CRITICAL しきい値では警告、`strict` ではブロックとなります。制限とルール上書きの互換性は [Prompt Injection](../../understand/audit-engine.md#prompt-injection) を参照してください。

完全な検出カタログ、脅威カテゴリの詳細、リスクスコアリングアルゴリズム、コマンド安全性のティア分類、Skill 間の相互作用分析については、[Audit Engine](/docs/understand/audit-engine) を参照してください。

出力例

skillshare audit
Audit  ~/.config/skillshare/skills
  global · blocks at CRITICAL · policy DEFAULT / dedupe:GLOBAL / analyzers:ALL

! ci-release-helper  HIGH · risk 25/100
✗ suspicious-skill   CRITICAL · risk 35/100

Summary
  Scanned      12 skills
✓ Passed       9
! Warning      2
✗ Failed       1
  Severity     1 critical, 2 high, 1 medium
  Threats      credential:1 exfiltration:1 injection:1 privilege:1
  Risk         HIGH 35/100 · 100% auditable

✗ Blocked 1 of 12 skills: findings at CRITICAL or above · 2.1s
  The risk score is informational; only the severity blocks

Next
  skillshare audit suspicious-skill  see its findings

`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 行ずつ出力する代わりにフルスクリーンの画面を開きます。左側に Skill(問題のあるものが先頭)、右側に選択した Skill のリスク概要と検出結果が表示されます。Skill を開くと、検出結果ごとにそのファイルの該当行が行番号付きでハイライト表示されます。キーは画面下部に表示されます。

この画面が開くのは、ターミナルがインタラクティブで、出力が JSON ではなく、結果が複数ある場合だけです。プレーンテキストを強制するには `--no-tui` を使用します。

大規模スキャンの確認

インタラクティブなターミナルで 1,000 を超える Skill をスキャンする場合、コマンドは実行前に確認を求めます。TTY 環境(例: ローカルの自動化スクリプト)でこのプロンプトをスキップするには `--yes` を使用します。CI/CD パイプライン(非 TTY)では、このプロンプトは自動的にスキップされます。

ポリシーとプロファイル

audit コマンドは、プロファイル、重複排除モード、analyzer の選択を通じた**ポリシー駆動**の設定をサポートします。これらは CLI フラグ、project config、またはグローバル config で設定できます

Read more
@runkids
Ships withskillshare

📚 Sync skills, agents, MCP, plugins to all AI CLI tools with one command and simplify team sharing.

Stars on GitHub

Momentum

stars in total
3.0k
Star history of runkids/skillshare on GitHub, a chart by star-history.com

Other commands on skillshare.

analyze

analyze

Command

各 Target の Skill について、コンテキストウィンドウの使用量と Skill の品質を分析します。

@runkids@runkidsInstall Command
backup

backup

Command

ターゲットディレクトリのバックアップを作成、一覧表示、管理します。

@runkids@runkidsInstall Command
check

check

Command

変更を適用せずに、トラッキング対象のリポジトリとインストール済み Skill の更新有無を確認します。

@runkids@runkidsInstall Command
collect

collect

Command

ターゲットからソースへ、ローカルの Skill や agent を収集します。

@runkids@runkidsInstall Command
commit

commit

Command

source skills をプッシュせずにローカルの git commit を作成します。

@runkids@runkidsInstall Command

More commands from other plugins.

build
Auto-invoked

build

Command

Implement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.

@addyosmani@addyosmaniInstall Command