
AI 코딩 에이전트를 위한 보안 계층. Claude Code, Cursor, Windsurf, Gemini CLI, OpenCode, Pi Agent 등과 함께 작동합니다.
모두가 YOLO 모드로 실행합니다. Gryph는 가드레일을 적용하고 감사 기록을 유지합니다.
빠른 시작 · 데모 · 지원 에이전트 · 사용 사례 · 보안 정책
AI 코딩 에이전트(Claude Code, Cursor, Windsurf, Gemini CLI, OpenCode)는 어떤 파일이든 읽고, 어디든 쓰고, 개발자 머신에서 임의의 명령을 실행할 수 있습니다. 이들은 세션당 수십 번의 도구 호출을 실행합니다. 이들이 할 수 있는 일에는 경계가 없고, 문제가 발생했을 때 남는 감사 기록도 없습니다.
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 페이지에서 이용할 수 있습니다.
팁: 파일 diff와 원시 이벤트를 보려면
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 훅이 설치된 경우, 하나의 Devin 세션이 devin 이벤트와 claude-code 이벤트를 모두 발생시킵니다. 하나의 스트림만 유지하려면 Devin 사용자 설정에서read_config_from.claude를 비활성화하세요.
명령 하나로 감지된 모든 에이전트에 훅을 설치합니다. 에이전트별 설정이 필요하지 않습니다.
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
gryph logs # Last 24 hours
gryph logs --today # Today's activity
gryph logs --agent claude-code # Filter by agent
gryph logs --follow # Stream events in real time
gryph logs --format json # Output as JSON