Skip to content

왜 GoVail을 만들게 되었는가? (Why GoVail?)

읽는 순서

시작 동기는 이 글에 있다. 그 뒤 Core가 좁아진 과정은 Decisions, 현재 구조는 Architecture다.

어느덧 AI 코딩 도구는 개발 일상의 필수품이 되었습니다. Cursor, Claude Code, GitHub Copilot 같은 도구들은 코딩 생산성을 극적으로 끌어올려 줍니다.

하지만 매일 이러한 에이전트 스타일의 툴들을 사용하면서, 한편으로는 마음 한구석이 찝찝해지기 시작했습니다.

"지금 내 에디터가 LLM 제공업체로 보내고 있는 저 수많은 프로젝트 맥락(Context)과 코드 조각, 환경 변수 파일(.env) 속에 민감한 정보가 섞여서 나가고 있지는 않을까?"

만약 로컬 설정 파일이나 인증 토큰, 혹은 회사 외부로 나가면 안 되는 핵심 비즈니스 로직이 프롬프트에 섞여서 외부 클라우드 모델로 날아가 버린다면 어떻게 해야 할까요? 개발팀 내부에서 허용하지 않은 외부 API를 임의로 사용하고 있다면 어떻게 찾아낼까요? 그리고 AI가 제안한 위험한 인프라 변경 스크립트나 코드 실행 요청을 사람이 중간에서 통제할 방법은 없을까요?

GoVail은 바로 이러한 지극히 현실적이고 불안한 질문들에 대한 답을 찾기 위해 시작된 작은 오픈소스 실험 프로젝트입니다.


처음부터 거대한 플랫폼을 만들려는 것은 아닙니다

시중에는 이미 거창한 '엔터프라이즈 AI 거버넌스 플랫폼'이나 'AI 방화벽'을 표방하는 솔루션들이 존재합니다. 하지만 개인 개발자나 작은 스타트업 팀 입장에서는 그런 무겁고 비싼 솔루션을 도입하기가 쉽지 않습니다.

우리는 아주 단순한 지점에서 출발하고자 했습니다.

"내가 날리는 AI 요청들이 LLM 공급자(OpenAI, Anthropic 등)나 로컬 LLM 서버로 가기 바로 직전에, 아주 얇고 가벼운 필터를 하나 거치게 할 수 없을까?"

이 아이디어를 구체화한 것이 바로 GoVail Gateway입니다.

text
[AI 에이전트 / 클라이언트]


  [GoVail Gateway]  ◄─── 여기서 요청을 검사하고, 차단하고, 기록합니다.


   [LiteLLM Proxy]


 [LLM 공급자 / 로컬 LLM]

우리가 해결하고자 하는 4가지 핵심 질문

GoVail은 크고 복잡한 시스템을 지향하지 않습니다. 오직 다음 4가지 핵심 질문에 집중하여 작동합니다.

  1. 요청을 검사할 수 있는가?
    • 프롬프트 텍스트 속에 API 키, 패스워드, SSH 개인 키와 같은 명백한 기밀(Secret) 데이터가 포함되어 있다면, 네트워크 밖으로 나가기 전에 즉시 감지하여 차단합니다.
  2. 모델 사용을 제한할 수 있는가?
    • 승인된 안전한 모델만 사용하도록 강제하거나, 과도한 비용이 드는 모델 호출을 제한할 수 있는가?
  3. 감사 로그(Audit Log)를 남길 수 있는가?
    • 개발 과정에서 외부로 날아간 AI 요청과 차단된 기록이 투명하게 보관되어 사후에 검증할 수 있는가?
  4. 코드의 위험 수준에 따라 AI의 권한을 차단할 수 있는가?
    • 분석기(Scanner)가 레거시 애플리케이션 코드를 사전에 정적 스캔하여 보안상 취약점이나 주의해야 할 패턴이 많다고 판단되면, 해당 코드 맥락이 포함된 AI 요청에 대해 더 엄격한 정책 필터를 동적으로 적용할 수 있는가?

GoVail이 추구하는 방향

GoVail은 LiteLLM이나 OpenRouter, Cursor 자체를 대체하려는 프로젝트가 아닙니다. 그저 그 앞단에 개발자가 직접 통제할 수 있는 **'작은 거버넌스 경계선(Boundary)'**을 하나 마련해 주는 것입니다.

이 프로젝트는 현재 초기 단계의 실험적인 참조 구현체(Reference Implementation)입니다. 모든 기능이 완벽하게 돌아가는 마술 상자는 아니지만, 개발자로서 AI를 더 안전하고 신뢰할 수 있게 쓰기 위한 여정을 하나씩 밟아나가고자 합니다.

Released under the Apache 2.0 License.