誰もが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。詳細は Configuration を参照してください。
| エージェント | フック対応 |
|---|---|
| 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 ルールを作成して破壊的なコマンドをブロックしたり、認証情報を漏洩する書き込みを拒否したり、エージェントやプロジェクトごとに動作をスコープ設定したりできます。Security Policy を参照してください。 |
| セキュリティレビュー | イベントを 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
詳細についてはセキュリティポリシーを参照してください。
Gryphは自身のフック、ポリシー、監査証跡も保護します。gryph doctorは各アセットのレベルと、それらが獲得するプロファイルを表示します。guardプロファイルでは、Gryphはエージェントのミスや単純な改変の試みから保護し、フック設定の変更を検出し、修復を有効にするとそれを修復します。しかし、同じユーザーによる執拗な攻撃者やrootを阻止することはできません。限界と主張できる内容については自己保護を参照してください。管理者はgryph install --managedでホストの全ユーザー向けにGryphをインストールします。マネージドインストールガイドを参照してください。