OneCLI: 오픈소스 크레덴셜 게이트웨이 (AI 에이전트용)
OneCLI: 오픈소스 크레덴셜 게이트웨이 (AI 에이전트용)
OneCLI는 AI 에이전트로부터 API 키를 분리하도록 설계된 오픈소스 크레덴셜 게이트웨이입니다. 에이전트와 대상 서비스 사이에서 프록시 역할을 함으로써, OneCLI는 에이전트가 플레이스홀더 키를 사용하도록 보장하며, 게이트웨이는 실제 자격 증명을 아웃바운드 요청에 주입하여 시크릿이 LLM이나 에이전트의 환경에 노출되는 것을 방지합니다.
핵심 아키텍처 및 메커니즘
OneCLI는 HTTP 요청을 가로채고 가짜 자격 증명을 실제 자격 증명으로 교체하는 '크레덴셜 브로커' 패턴을 활용합니다. 시스템은 세 가지 주요 구성 요소로 이루어집니다:
- Rust Gateway: 아웃바운드 요청을 가로채는 고성능 HTTP 게이트웨이입니다.
Proxy-Authorization헤더를 사용하여 에이전트를 인증하고, HTTPS 트래픽에 대해 MITM(중간자 공격) 인터셉트를 수행합니다. - Web Dashboard: 에이전트, 시크릿, 권한을 관리하는 Next.js 애플리케이션입니다. 게이트웨이가 요청에 따라 어떤 자격 증명을 주입할지 결정하는 데 사용하는 API를 제공합니다.
- Secret Store: AES-256-GCM 암호화를 사용하는 저장 시스템입니다. 시크릿은 휴식 상태에서 암호화되며, 요청 시점에만 헤더 또는 URL 쿼리 매개변수로 주입하기 위해 복호화됩니다.
에이전트가 호출을 할 때, 플레이스홀더(예: FAKE_KEY)를 사용합니다. 게이트웨이는 호스트 및 경로 패턴을 사용하여 요청을 올바른 자격 증명과 매칭하고, 실제 키를 복호화한 후 요청이 최종 목적지에 도달하기 전에 플레이스홀더를 대체합니다.
주요 기능
OneCLI는 AI 에이전트 인증을 위한 중앙 집중식 관리 레이어를 제공합니다:
- Transparent Injection: 에이전트는 복잡한 인증 로직을 처리할 필요 없이 표준 HTTP 호출을 수행합니다.
- Scoped Permissions: 각 에이전트는 특정 권한을 가진 자체 액세스 토큰이 할당되어, 어떤 에이전트가 어떤 시크릿을 사용할 수 있는지 세부적으로 제어할 수 있습니다.
- Vault Integration: 시스템은 Bitwarden과 같은 외부 비밀 관리자에 연결하여 OneCLI 서버 자체에 시크릿을 저장하지 않고 온디맨드로 자격 증명을 주입할 수 있습니다.
- Flexible Deployment: 단일 사용자 로컬 모드(로그인 불필요)와 팀 환경을 위한 Google OAuth를 활용한 다중 사용자 모드를 지원합니다.
기술 구현 및 설정
OneCLI는 게이트웨이에 Rust, 대시보드에 Next.js, 데이터베이스에 Prisma ORM 및 PostgreSQL을 포함한 현대적인 스택으로 구축되었습니다.
OneCLI를 로컬에 배포하려면 사용자는 다음 한 줄 설치 스크립트를 사용할 수 있습니다:
curl -fsSL https://onecli.sh/install | sh
또는 Docker Compose를 통해 배포할 수 있습니다:
docker compose -f docker/docker-compose.yml up -d --wait
커뮤니티 통찰 및 반론
OneCLI 주변의 논의는 크레덴셜 브로커 패턴의 유용성과 프록시 기반 보안의 한계를 모두 강조합니다.
패턴의 검증
몇몇 사용자는 이 접근 방식이 데이터베이스 세계에서 입증된 설계와 유사하다고 지적했습니다. 여기서 클라이언트는 기본 스토리지로부터 분리되고, 요청은 자격 증명을 소유한 서버를 통해 라우팅됩니다.
보안 트레이드오프
비평가들은 에이전트가 게이트웨이와 인증하기 위해 여전히 토큰이 필요하기 때문에 시스템이 essence적으로 하나의 비밀을 다른 비밀과 교환한다고 주장합니다. 한 사용자는 다음과 같이 언급했습니다:
당신은 단지 하나의 키를 다른 키로 교환하고 있을 뿐입니다. 당신이 신뢰하기로 선택한 어떤 추상화든, 어느 시점에서 자격 증명은 당신이 사용하는 이번 주의 LLM으로 전달될 것입니다.
제안된 개선 사항
커뮤니티 구성원들은 OneCLI 게이트웨이의 유용성을 높이기 위해 여러 가지 기능적 개선을 제안했습니다:
- OAuth Client Credentials Support: 게이트웨이 내에서 'OAuth 댄스'를 구현하여 액세스 토큰 검색을 자동으로 처리할 수 있도록 합니다.
- Request Resilience: 특정 실패 시 요청 재시도 및 단락 회로 지원을 추가합니다.
- 기존 도구와의 통합: Infisical, 1Password, HashiCorp Vault와 같은 다른 비밀 관리자와의 비교를 통해, 일부 사용자에게는 프록시 계층을 추가하는 것보다 성숙한 SSO(SAML, OIDC)가 더 강력한 대안이 될 수 있다고 제안합니다.