Skip to main content
Glama

Skarn guard: エージェントプラグイン

フック設定、エージェントスキル、および Skarn 用のローカル MCP サーバー宣言を、4つのホスト向けにパッケージ化し、5つ目のホストは独自のリポジトリから提供します。このリポジトリは Skarn のリリースごとに生成されます。バイナリ、検出ルール、エンジンコードは含まれません。

ここには5つのユニットがあり、そのうち4つはガードユニットです。claude/codex/ は、このリポジトリのルートマニフェストが提供するマーケットプレイス内のプラグインで、Claude Code と Codex CLI 向けです。antigravity/ は Antigravity CLI (agy) 用のプラグインディレクトリです。リポジトリのルート自体は Gemini CLI 拡張機能です。Google のインストーラとギャラリークローラーがルートからマニフェストを読み取るためです。ルートにあるファイルは、リポジトリレベルのファイル(この README、LICENSE、SECURITY.md、マーケットプレイスマニフェスト)または Gemini ファイル(gemini-extension.jsonGEMINI.mdhooks/skills/)のいずれかです。他のすべてのホストにはサブディレクトリが割り当てられます。5つ目のユニット recall/ は、同じマーケットプレイス内のスキルのみのプラグインです。スキル1つ、フックなし、MCP サーバーなしです。Cursor ユニットはこのリポジトリにはまったく含まれておらず、https://github.com/skarn-security/cursor-plugin にあります。

ガードは実行前フックです。エージェントがシェルコマンドを実行する、パッチを適用する、ファイルを書き込む、URL を取得する、MCP ツールを呼び出す、またはモデルプロバイダーにプロンプトを送信する前に、保留中のアクションがお使いのマシン上の Skarn 検出エンジンによってスキャンされ、判定が下されます: deny (ブロック)、ask (あなたにエスカレーション)、または allow (サイレント)。ローカルでスキャンし、ネットワーク呼び出しは行わず、生のシークレットを出力することはありません。判定はルール名と編集されたプレビューを示します。

Install

まず skarn バイナリをインストールします(プラグインには含まれていません。フックは PATH 上の skarn guard を呼び出します):

brew install skarn-security/tap/skarn

Claude Code:

claude plugin marketplace add skarn-security/agent-guard
claude plugin install skarn-guard@skarn

Codex CLI:

codex plugin marketplace add skarn-security/agent-guard
codex plugin add skarn-guard-codex@skarn

2つのガードプラグインは異なる名前を持ちます。1つのマーケットプレイスは同じ名前の2つのプラグインを保持できないためであり、それぞれがホストのフック形状(イベント名、ツールマッチャー、ガードがルーティングする --agent)を提供します。配線するホストに応じたものをインストールしてください。両方とも skarn-audit スキルを搭載しており、このマシン上で skarn assessskarn vet を実行し、編集された調査結果を報告します。編集は Skarn が検出した資格情報の値をマスクします。調査結果の周囲のトランスクリプトコンテキストは依然としてセッション由来であるため、スキルは結果全体を安全なテキストではなくセッションデータとして扱います。

Codex はインストール後に初めて起動したときにフックを信頼するよう求めます。「Hooks need review」プロンプトで「Trust all and continue」を選択してください。選択するまで、フックは実行されず、ガードは保護を提供しません。信頼はフックごとのコンテンツハッシュであるため、後でフックに変更(バージョンアップ、または監査から強制への切り替え)があると再度求められます。Claude Code には信頼ステップは不要で、次のセッションでフックが有効になります。

skarn-recall は同じマーケットプレイス内の3つ目のプラグインで、上記のマーケットプレイス追加で既に到達できます。スキル1つ、フックなし、ホスト固有のものは何もないため、同じプラグインが両方のホストにサービスを提供します:

claude plugin install skarn-recall@skarn
codex plugin add skarn-recall@skarn

そのスキルは、セッショントランスクリプトから作業内容を再構築します。そのため、ガードの内部ではなく、ガードとは別に提供されます。読み取るトランスクリプトコンテンツは、エージェントにサービスを提供するモデルプロバイダーにマシンから送信されます。編集は Skarn が検出した資格情報をマスクしますが、機密と見なすすべてをマスクするわけではありません。それを望むときにインストールし、プロジェクトと時間枠で読み取る範囲を制限してください。

Gemini CLI はこのリポジトリを拡張機能としてインストールします。これには、監査モードの同じガードフック、skarn-audit スキル、GEMINI.md コンテキストファイル、および以下の MCP サーバーが含まれます:

gemini extensions install https://github.com/skarn-security/agent-guard
gemini extensions list
gemini extensions uninstall skarn

インストールでは、拡張機能がフックと MCP サーバーの両方を宣言するため、同意を求められ、フォルダを信頼するよう求められます。両方に回答してください。

Antigravity CLI はクローンの antigravity/ ディレクトリをインストールします:

git clone https://github.com/skarn-security/agent-guard
agy plugin install agent-guard/antigravity
agy plugin list
agy plugin uninstall skarn-guard

agy plugin list は、フック、スキル、MCP サーバーの数とともにプラグインを報告します。antigravity/ を手動で ~/.gemini/config/plugins/skarn-guard/ にコピーしても同じことが行われます。

Cursor には独自のリポジトリ https://github.com/skarn-security/cursor-plugin があり、同じリリースで生成されます。Cursor のマーケットプレイスとそのレビューはリポジトリごとに行われるため、そのユニットはここにはありません。

skarn setup は、Claude Code、Codex CLI、Cursor、Copilot CLI、Gemini CLI、Grok Build 向けの代替インストールパスです。プラグインシステムなしで、同じフックを各ホストのネイティブ設定にマージします。Antigravity CLI は認識しないため、そのホストは上記のプラグインディレクトリをインストールするか、フックファイルを手動でマージします。

Related MCP server: netallion-mcp-lite

Local MCP server

4つのガードユニット(claude/codex/antigravity/、およびルートの Gemini 拡張機能)はすべて同じ stdio MCP サーバーを宣言しており、ホストは PATH から skarn mcp を実行して起動します。Cursor と VS Code はワンクリックで設定できます:

Add to Cursor

Add to VS Code

両方のボタンはサーバーを skarn として登録し、PATH から skarn mcp を実行するため、まずバイナリをインストールしてください。インストールしたくない場合は、Node のみが存在する状態でピン留めされたランチャーフォームが機能します: Cursor または VS Code - 初回実行時に @skarn-security/skarn@0.26.0 をダウンロードし、その後は npx キャッシュを再利用します。新しい Skarn には新しいリンクが必要です。

任意のクライアント向けの手動設定:

{
  "mcpServers": {
    "skarn": {
      "command": "skarn",
      "args": ["mcp"]
    }
  }
}

これはお使いのマシン上で実行され、ネットワーク呼び出しは行わず、4つの読み取り専用ツールを公開します: scan_sessions (過去のセッションからの調査結果、プレビューされたすべての値は編集済み)、vet_configs (アシスタント設定サーフェスに関するマスクされたレポート)、list_sessionssession_stats (メタデータと集計、メッセージコンテンツは含まれません)。書き込みツールやメッセージコンテンツを返すツールはありません。

2つのコンテンツツール、search_sessionsget_session は、サーバーを skarn mcp --enable-recall として起動した場合にのみ表示されます。どちらも返す内容をマスクしますが、コンテンツはセッションにサービスを提供するモデルプロバイダーにマシンから送信されるため、上記の宣言ではフラグを設定しません。search_sessionshoursproject も指定しない呼び出しを拒否します。get_session は正確な session_id を1つ受け取ります。これはすでにそのスコープです。

バイナリを自分でインストールしたくない場合は、バージョン固定の npx フォームが機能します:

{
  "mcpServers": {
    "skarn": {
      "command": "npx",
      "args": ["-y", "@skarn-security/skarn@0.26.0", "mcp"]
    }
  }
}

npx はサーバーが最初に起動するときにパッケージをダウンロードし、その後はキャッシュするため、最初の起動は遅く、ネットワークアクセスが必要です。バージョンを固定してください。固定されていないフォームは、起動時にレジストリが提供するものに解決され、skarn vet はそれを vet-mcp-unpinned として報告します。使用しないでください。

このリポジトリのルートにある llms-install.md は、サーバーを配線してくれるクライアント向けに、エージェントが読み取れる手順で同じインストールを説明しています。

各ホストは、バイナリが見つからないことを独自の方法で報告します。claude mcp listFailed to connectExecutable not found in $PATH: "skarn" を表示します。gemini mcp listskarn サーバーを Disconnected として表示します。codex mcp list はヘルスチェックを実行しないため、行はリストされたまま有効になり、セッションが起動するとサーバーは失敗します。Cursor はプラグインの行を Error - Show Output として表示し、出力パネルは spawn skarn ENOENT で終わります。どの場合でも、ターミナルで skarn --version を実行してください: command not found は、バイナリがインストールされていないか、ホストが継承する PATH にないことを意味します。これは、シェルではなくデスクトップから起動されたアプリケーションではよくあることです。

Audit first, then enforce

両方のガードプラグインは 監査 モードで提供されます(skarn-recall にはフックがないため、モードはありません)。ガードは返したであろう判定を報告し、エージェントの動作を変更することはありません。まずその方法で実行し、実際のブロック率を測定してください。エージェントが継承する環境に SKARN_GUARD_LOG=<path> を設定すると、ガードはフラグが付けられた呼び出しごとに1つの編集済み JSONL レコードを追加します(tsverdicttoolruleseverity、編集済みの理由、sessioncwdlatency_ms)。クリーンな呼び出しはログに記録されません。

ログがクリーンに見えたら、フックコマンドの --guard-mode audit--guard-mode enforce に切り替えるか、skarn setup --update --mode enforce を実行してください。強制には Skarn ライセンスが必要です。ライセンスがない場合、ガードは監査のままでブロックではなく報告するため、ライセンスが失効してもエディタが壊れることはありません。

Skarn のリリースでホストのイベントセットが拡大される際にフックを最新に保つのは、以下のプラグイン更新であり、Skarn コマンドではありません。これらのプラグインは独自のフックファイルを保持し、skarn setup --updateskarn setup 自体が書き込んだ Skarn 所有のエントリのみを、書き込んだスコープ(デフォルトではユーザーごと、--scope project ではリポジトリ設定)で更新します。別の方法で配線された設定の場合、--update はそれらのエントリをインストール済みバイナリが書き込むものに書き換え、各エントリを丸ごと置き換えます。ただし、自分で調整したフック呼び出しタイムアウト(timeout、Copilot では timeoutSec)は例外で、置き換え先と明確に対応し、値が妥当な場合に引き継がれるため、マシンごとの予算は更新後も維持されます。そのようなエントリに追加した他のフィールドは削除されます。ターミナルで実行すると、skarn guard reportskarn assess は、リリースごとに1回、遅れているセットアップ配線のユーザーごとのフックを、そのホストの正確な更新コマンドとともに指名します。

Updating

Claude Code:

claude plugin marketplace update skarn
claude plugin update skarn-guard@skarn

Codex CLI (更新動詞はありません。再追加で新しいバージョンがインストールされます):

codex plugin marketplace upgrade
codex plugin add skarn-guard-codex@skarn

プラグインの更新とバイナリの更新は独立しています。フックコマンドは PATH 上の skarn guard を呼び出すため、brew upgrade skarn だけで新しい検出エンジンが得られます。プラグイン自体が保持するものに変更がある場合、プラグインの更新が重要になります: フックの形状(新しいイベント、新しいフラグ、新しいマッチャー)、スキルのテキスト、またはマニフェストのメタデータ。

Safety

ガードは常に決定を厳しくするだけで、緩めることはありません。ガード自体が失敗した場合の動作はホストによって異なります。各ホストがフックのクラッシュ、タイムアウト、または不正な出力の意味を決定するためです。

Claude Code、Codex CLI、Gemini CLI はフェイルオープンです。不正なイベント、スコープ外のツール、またはガードエラーはすべて allow になり、ガードがエージェントを壊すことはありません。これらのホストでフェイルクローズになる唯一のパスは、ライセンス付きの enforce での --strict であり、各ホストの README に記載されています。

Antigravity CLI は、明示的な allow 以外のすべてのフック結果でフェイルクローズします。クラッシュ、タイムアウト、無効な JSON、空の {} はすべて、監査モードと強制モードの両方で一致した呼び出しをブロックし、PATH に skarn バイナリがない配線済みフックは、一致したすべての呼び出しをブロックします。ガードは受信したすべてのイベントに明示的な決定で応答し、出荷されたマッチャーはスコープするツールのみを指定するため、マッチャーの外のステップがガードの失敗によってブロックされることはありません。そのフックを配線する前に skarn をインストールし、skarn をアンインストールする前にエントリを削除してください。ドキュメント: https://getskarn.com/?utm_source=agent-guard-readme&utm_medium=referral&utm_campaign=home&utm_content=documentation

License, privacy, and support

このリポジトリは MIT ライセンスです。LICENSE を参照してください。設定のみが含まれるため、プラグインマニフェスト、フック、スキル、および MCP サーバー宣言が対象となります。

それらのファイルが呼び出す skarn バイナリは、別途ダウンロードされるものであり、オープンソースではありません。これは https://getskarn.com/terms/ の Skarn エンドユーザーライセンス契約に基づいてライセンスされており、実行することでその契約に同意したことになります。何を読み取り、何を保持し、何を決して外部に送信しないかについては、https://getskarn.com/privacy/ を参照してください。

サポート: hello@getskarn.com。脆弱性レポートは security@getskarn.com までお送りください。このリポジトリの SECURITY.md を参照してください。

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

0Maintainers
No issuesResponse time
0Releases (12mo)
Commit activity

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Local-first security check for AI coding agents — finds hardcoded secrets, exposed .env files, git-history leaks and vulnerable dependencies (OSV), entirely on your machine. Ask your agent "is this safe to ship?" and get a Launch Readiness score with a fix for every finding.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Scans text and files for common secrets (AWS, GitHub, etc.) and redacts them to prevent credential leakage in AI-assisted development. Runs entirely locally with no telemetry.
    MIT

View all related MCP servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/skarn-security/agent-guard'

If you have feedback or need assistance with the MCP directory API, please join our Discord server