Google API 키, Gemini 도입 후 보안 위험 증가
Google은 오랫동안 API 키를 비밀로 취급하지 않아도 된다고 안내했지만, Gemini 출시 이후 상황이 변함
기존에 공개적으로 사용되던 API 키가 Gemini API 접근 권한을 갖게 되어 보안 취약점 발생
공격자는 공개된 API 키를 통해 개인 데이터 접근 및 비용 청구 가능
Google 자체 API 키에서도 동일한 취약점이 발견되었으며, 대규모 웹사이트에서 노출된 API 키가 확인됨
API 키의 권한 확장 문제
Google은 기존 API 키에 Gemini API 접근 권한을 부여하여 권한 확장(Privilege Escalation) 문제를 야기했다. 이는 개발자가 API 키를 공개적으로 사용하도록 안내한 과거 지침과 상반된다. 특히, API 키의 단일 형식 사용은 보안상 취약점으로 작용하며, 공개 식별자와 비밀 인증 정보를 구분하지 않아 혼란을 초래한다. 이러한 설계는 공격자가 API 키를 탈취(Key Scraping)하여 악용할 수 있는 여지를 제공한다.
공격 시나리오 및 피해 규모
공격자는 웹사이트 소스 코드에서 API 키를 획득한 후, Gemini API에 접근하여 개인 데이터(Private Data)에 접근하거나 API 사용 비용을 증가시킬 수 있다. 실제 사례로, 2025년 11월 Common Crawl 데이터셋 분석 결과, 2,863개의 노출된 Google API 키가 확인되었다. 이는 금융 기관, 보안 회사 등 다양한 기업의 API 키 노출로 이어져 심각한 피해를 야기할 수 있다.
Google의 대응 및 개선 방향
Google은 이 문제에 대해 대응 계획(Remediation Plan)을 발표하고, 노출된 API 키를 차단하는 등 조치를 취하고 있다. 또한, AI Studio에서 생성된 새로운 키는 Gemini 전용 접근 권한을 기본으로 설정하고, 누출된 키를 감지(Leaked Key Blocking)하고 알림을 제공하는 기능을 도입할 예정이다. 하지만, 기존에 노출된 키에 대한 소급 적용 및 사용자 알림은 여전히 과제로 남아있다.
개발자가 취해야 할 조치
개발자는 Google Cloud 프로젝트에서 Generative Language API가 활성화되어 있는지 확인하고, API 키 설정을 검토해야 한다. 특히, 제한 없는(Unrestricted) 접근 권한을 가진 키나 Gemini API를 명시적으로 허용한 키는 주의 깊게 살펴봐야 한다. 또한, TruffleHog와 같은 도구를 사용하여 코드, CI/CD 파이프라인, 웹 자산에서 API 키 누출 여부(Key Leakage)를 검사하고, 노출된 키는 즉시 교체해야 한다.