誰もがYOLOモードで実行しています。Gryphはガードレールを強制し、監査証跡を保持します。
クイックスタート · デモ · 対応エージェント · ユースケース · セキュリティポリシー
AIコーディングエージェント(Claude Code、Cursor、Windsurf、Gemini CLI、OpenCode)は、あらゆるファイルを読み取り、どこにでも書き込み、開発者のマシン上で任意のコマンドを実行できます。1回のセッションで数十回のツール呼び出しを行います。彼らができることには境界がなく、何か問題が起きたときの監査証跡もありません。
Gryphはこれを解決します。 エージェントにフックし、アクションをリアルタイムで block、warn、guide するYAMLポリシールールを強制し、すべてのイベントをローカルのSQLiteデータベースに記録してレビューと監査を可能にします。すべてのデータはローカルに留まります。クラウドもテレメトリもありません。
開発者がClaude Codeにモジュールのリファクタリングを依頼します。90秒で47回のツール呼び出しを実行します。そしてテストが失敗します。
Gryphがなければ、開発者は推測するしかありません。Gryphがあれば、gryph logs がすべてを表示します。
# Install Gryph with one command
curl -fsSL https://raw.githubusercontent.com/safedep/gryph/main/install.sh | sh
# Setup gryph for available agents
gryph install # hooks into all detected agents
gryph status # verify setup
# ... use your AI agent normally ...
gryph logs # see what happened
# Homebrew (macOS/Linux)
brew install safedep/tap/gryph
# npm
npm install -g @safedep/gryph
# Go
go install github.com/safedep/gryph/cmd/gryph@latest
macOS、Linux、Windows用のビルド済みバイナリは GitHub Releases ページで入手できます。
ヒント:
logging.levelをfullに設定すると、ファイル差分と生イベントを確認できます:gryph config set logging.level full。詳細は設定を参照してください。
| エージェント | フックサポート |
|---|---|
| Claude Code | 完全 (PreToolUse, PostToolUse, Notification) |
| Codex | 完全 (PreToolUse, PostToolUse, SessionStart, UserPromptSubmit, Stop) |
| Command Code | 完全 (PreToolUse, PostToolUse, Stop, SessionStart) |
| Cursor | 完全 (ファイル読み書き、シェル実行、MCPツール) |
| Devin CLI | 完全 (PreToolUse, PostToolUse, SessionStart, UserPromptSubmit, Stop, SessionEnd) |
| Gemini CLI | 完全 (BeforeTool, AfterTool, Notification) |
| OpenCode | 完全 (tool.execute, セッションイベント) |
| Pi Agent | 完全 (tool_call, tool_result, セッションイベント) |
| Windsurf | 完全 (ファイル読み書き、コマンド、MCPツール) |
注意: CodexフックはCodex設定(
~/.codex/config.toml)でcodex_hooks機能フラグを有効にする必要があります:[features] codex_hooks = true
注意: Devin CLIはデフォルトで
~/.claude/settings.jsonからClaude Codeフックも読み込みます(read_config_from.claude)。両方のエージェントにgryphフックがインストールされている場合、1つのDevinセッションがdevinイベントとclaude-codeイベントを発行します。1つのストリームを維持するには、Devinユーザー設定でread_config_from.claudeを無効にしてください。
1つのコマンドで検出されたすべてのエージェントにフックをインストールします。エージェントごとのセットアップは不要です。
gryph logs --live でエージェントのアクションをリアルタイムでライブストリーミング:
| シナリオ | Gryphがどのように役立つか |
|---|---|
| セッション全体をリプレイ | git diff は最終的な変更を表示します。Gryphは完全なシーケンスを表示します: エージェントが何を読み、何を実行し、何を書き込み、何を元に戻したか、そしてその順序。 |
| 目に見えない副作用を捕捉 | エージェントはgitに痕跡を残さないシェルコマンド(npm install、curl、rm)を実行します。gryph query --action exec ですべてを表面化します。 |
| 機密ファイルへのアクセス | Gryphは .env、*.pem、*.key などのファイルへのアクセスを自動的にフラグします。アクションはログに記録されますが、コンテンツは保存されません。 |
| 危険なエージェントアクションをブロック | 破壊的なコマンドをブロックし、認証情報を漏洩する書き込みを拒否し、エージェントまたはプロジェクトごとに動作をスコープするYAMLルールを作成します。セキュリティポリシーを参照してください。 |
| セキュリティレビュー | イベントをSIEMにエクスポートするか、OpenSearch可観測性の例を使用して集中ダッシュボードと脅威検知アラートを実現します。 |
| コストとトークンの追跡 | モデルとエージェント全体でセッションごとのトークン使用量と推定コストを追跡します。ドキュメントを参照 |
| エージェントの比較 | --agent でフィルタリングして、異なるエージェントが同じタスクにどのようにアプローチするかを確認します: どれがより多く読み、どれがより多くコマンドを実行し、どれがよりコストがかかるか。 |
GryphはAIコーディングエージェントに軽量なフックをインストールします。エージェントがファイルを読み取り、ファイルを書き込み、またはコマンドを実行すると、フックはJSONイベントをGryphに送信します。イベントはローカルのSQLiteデータベースに保存され、いつでもクエリできます。Gryphは pre-tool と post-tool の両方のイベントにフックするため、すべてのエージェントアクションの完全なライフサイクルを捕捉します。
ログ記録に加えて、Gryphはエージェントアクションに対してYAMLポリシーを強制できます。ルールは、アクションタイプ、ファイルパス、コマンドパターン、ツール名、エージェント、プロジェクト、およびセッションごとのカウンターに対するCEL式に基づいて block、warn、guide、または allow できます。ブロックされたアクションはエージェントのツールに到達せず、ガイダンスはstderrテキストとしてエージェントに返され、すべての決定が永続化されます。
gryph policy init # write the example policy to the global config dir
gryph policy edit # open it in $EDITOR and scaffold if missing
gryph policy validate
gryph policy test --action file_write --path ./secrets/db.env
gryph config set policy.enabled true
詳細はセキュリティポリシーを参照してください。
すべてのコマンドとフラグの完全なリファレンスは、CLIリファレンスを参照してください。
gryph install # Install hooks for all detected agents
gryph install --dry-run # Preview what would be installed
gryph install --agent claude-code # Install for a specific agent
gryph uninstall # Remove hooks from all agents
gryph uninstall --purge # Remove hooks and purge all data
gryph uninstall --restore-backup # Restore original hook config from backup