Show HN: Kontext CLI – Go로 만든 AI 코딩 에이전트용 credential broker
핵심 내용
AI 코딩 에이전트에 짧게만 쓰는 자격증명을 중계하는 CLI.
자세히 보기
AI 코딩 에이전트가 GitHub, Stripe, Linear, 데이터베이스 같은 외부 서비스에 접근해야 하지만, 긴 수명의 API key를 .env나 채팅창에 복붙하는 방식은 secret sprawl과 감사 불가능성 문제를 만든다.
Kontext CLI는 프로젝트가 필요한 자격증명을 .env.kontext 파일에 선언하게 한다.
GITHUB_TOKEN={{kontext:github}}STRIPE_KEY={{kontext:stripe}}LINEAR_TOKEN={{kontext:linear}}
실행은 kontext start --agent claude 형태로 하며, CLI는 사용자를 OIDC로 인증한다. 이후 서비스가 OAuth를 지원하면 RFC 8693 token exchange로 짧은 수명의 access token을 발급하고, 정적 API key가 필요한 서비스는 백엔드가 에이전트 런타임 환경에 직접 주입한다.
핵심은 자격증명이 디스크에 저장되지 않고 세션 동안 메모리에서만 존재한다는 점이다. 에이전트는 실제 시크릿을 직접 받지 않고, 백엔드가 보관한 refresh token과 API key를 바탕으로 세션 범위의 권한만 받아 쓴다.
이 구조는 일종의 **STS(Security Token Service)**와 비슷하지만, 업스트림의 장기 시크릿은 백엔드가 계속 보유한다는 차이가 있다. 덕분에:
- 누가 어떤 에이전트를 띄웠는지 추적할 수 있고
- 에이전트가 무엇에 접근했는지 감사할 수 있으며
- 허용 여부를 세션 단위로 제어할 수 있고
- 나중에 자격증명을 회전할 때도 부담이 줄어든다
또한 모든 tool call이 스트리밍되어, 에이전트가 무엇을 시도했고 무엇이 허용되었는지, 그리고 누가 수행했는지까지 기록용으로 남긴다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.