피드로 돌아가기
GeekNewsInfrastructure
원문 읽기
13시간 만에 €54,000 과금 폭증: API 제한 없는 Firebase 브라우저 키로 Gemini API 호출 발생
API Key 노출로 인한 13시간 만의 €54,000 과금 폭증 사례 분석
AI 요약
Context
Firebase 브라우저 키를 통한 Gemini API 호출 구조에서 API Key 유출로 인한 무제한 과금 발생. Cloud 제공사의 Budget Alert 시스템이 이벤트 기반 집계 지연으로 인해 실시간 차단 기능을 수행하지 못하는 구조적 한계 노출.
Technical Solution
- Pub/Sub, Cloud Function, Billing API를 연동한 커스텀 Kill-switch 아키텍처 설계
- Budget Alert 발생 시 Cloud Function을 트리거하여 결제 계정(Billing Account)을 즉시 비활성화하는 자동화 로직 구현
- Event-driven 과금 집계 시스템의 지연 시간을 고려한 보수적 임계치 설정
- 클라이언트 사이드 키 노출 방지를 위한 Backend Proxy 계층 도입 및 API Key 은닉
- 유출된 키의 즉각적인 무효화(Invalidation) 및 신규 키 교체 프로세스 수립
Impact
- 13시간 만에 €54,000의 비용 과금 발생
- Budget Alert 설정에도 불구하고 최대 6시간의 알림 지연 발생
- 일부 사례에서 $26,000 수준으로 피해 제한
실천 포인트
1. API Key를 프런트엔드에 직접 노출하지 말고 Backend Proxy를 통해 호출할 것
2. Cloud 제공사의 Budget Alert에만 의존하지 말고, API 수준의 Quota Limit(Hard Limit)을 설정할 것
3. 결제 계정을 프로그래밍적으로 제어할 수 있는 자동화된 Kill-switch 로직을 구축할 것
4. CI/CD 파이프라인에 Secret Scanning 도구를 도입하여 키 유출을 사전에 차단할 것