본문으로 건너뛰기
피드

Firebase 브라우저 키 제한 미설정으로 13시간 만에 Gemini API 요금 €54,000 폭탄

security 약 5분
vote
0
댓글
북마크

Firebase 프로젝트에 AI Logic을 활성화한 직후, 제한 없는 브라우저 API 키를 통해 자동화된 Gemini API 호출이 13시간 동안 발생해 €54,000 이상 과금됨. 예산 알림은 수 시간 지연되었고, Google은 '유효한 사용'으로 판단해 요금 조정을 거부함.

  • 1

    Firebase AI Logic 활성화 직후 13시간 만에 €54,000+ 과금 발생

  • 2

    브라우저에 노출된 API 키에 제한이 없어 자동화된 공격에 무방비

  • 3

    GCP 예산 알림이 수 시간 지연되어 €28,000 시점에서야 감지

  • 4

    Google Cloud 지원팀은 '유효 사용'으로 분류하여 요금 조정 거부

  • 5

    클라이언트 사이드 AI API 호출 구조의 근본적 위험성 경고

⚠️주의

> Firebase 브라우저 키에 API 제한을 안 걸어두면 하룻밤 사이에 수천만 원이 찍힐 수 있음. 이 사례에서는 13시간 만에 €54,000(약 8천만 원) 청구됨

  • Firebase 프로젝트에 Firebase AI Logic을 활성화한 직후, Gemini API 사용량이 폭주해서 13시간 만에 €54,000 이상 과금됨

    • 원래 이 프로젝트는 1년 넘게 Firebase Authentication만 쓰고 있었음
    • 최근에 "텍스트 프롬프트로 웹 스니펫 생성"이라는 간단한 AI 기능을 추가하면서 Firebase AI Logic을 켰는데, 그 직후 터짐
    • 트래픽이 실제 사용자와 전혀 상관없는 패턴이었고, 자동화된 요청으로 보임 — 밤사이에 몰려왔다가 API 비활성화 + 크레덴셜 교체 후 멈춤
  • 예산 알림이 있었는데도 속수무책이었음

    • €80짜리 예산 알림과 비용 이상 감지 알림 둘 다 설정해뒀지만, 수 시간 지연되어 트리거됨
    • 알림 받고 대응했을 때 이미 €28,000 상태
    • 비용 리포팅 지연 때문에 최종 금액은 €54,000+로 확정

중요

> Google Cloud 지원팀에 로그와 분석 자료를 제출했지만, "프로젝트에서 발생한 유효한 사용"으로 분류되어 요금 조정 요청이 거부됨

  • 핵심 문제는 브라우저에 노출된 Firebase API 키에 API 제한이 없었다는 것

    • Firebase 브라우저 키는 클라이언트 사이드에 노출될 수밖에 없는 구조인데, 여기에 Gemini API 접근 권한이 제한 없이 열려있었음
    • 공격자가 이 키를 긁어서 자동화된 Gemini API 호출을 대량으로 날린 것으로 추정
    • 글쓴이가 다른 개발자들에게 묻는 질문: App Check, 쿼터 설정, 서버사이드 호출 전환 외에 추가 방어책이 있는지
  • 이 사례에서 얻을 수 있는 교훈이 명확함

    • Firebase/GCP 프로젝트에서 AI API를 활성화할 때는 반드시 API 키 제한을 먼저 걸어야 함
    • 예산 알림만으로는 부족함 — GCP 비용 리포팅이 실시간이 아니라 수 시간 딜레이가 있음
    • 클라이언트 사이드에서 직접 AI API를 호출하는 구조 자체가 위험 — 서버사이드 프록시를 거치는 게 안전
    • Google은 "프로젝트에서 나온 트래픽"이면 비정상이든 아니든 유효 사용으로 판단하는 경향이 있음

기술 맥락

  • Firebase 브라우저 키가 위험한 이유를 좀 더 풀어볼게요. Firebase는 설계상 API 키가 클라이언트 코드에 포함되어야 해요. 웹 앱의 JS 번들이나 모바일 앱 바이너리에 들어가는 건데, 이건 사실상 "공개 키"나 마찬가지예요. 원래 Firebase Auth나 Firestore는 Security Rules로 접근을 통제하는 구조라 키 노출 자체는 괜찮았거든요
  • 문제는 Gemini API 같은 과금형 서비스가 같은 키로 접근 가능해질 때 생겨요. Security Rules 같은 세분화된 접근 제어가 없고, API 호출 자체가 비용이니까요. API 키에 "이 키는 이 API만, 이 도메인에서만" 같은 제한(API restrictions)을 안 걸면 누구나 그 키로 Gemini를 무제한 호출할 수 있는 거예요
  • GCP 빌링 알림의 지연도 중요한 포인트예요. GCP는 비용을 실시간으로 집계하지 않고 배치로 처리하거든요. 그래서 예산 알림을 €80으로 설정해도, 실제로 알림이 올 때는 이미 수천 유로를 넘긴 상태일 수 있어요. "하드 캡"이 아니라 "알림"일 뿐이라는 걸 인식해야 해요
  • App Check는 이런 공격을 막는 Firebase의 공식 권장 방어선이에요. 앱이 정상적인 환경(진짜 브라우저, 진짜 앱)에서 실행되고 있는지 검증하는 어테스테이션(attestation) 토큰을 발급하는 방식인데요. 다만 완벽하지는 않고, 가장 확실한 건 AI API 호출을 서버사이드로 옮기는 거예요

Firebase 키가 클라이언트에 노출되는 건 원래 설계상 의도된 건데, 과금형 AI API가 같은 키로 접근 가능해지면 완전히 다른 위험이 됨. AI 기능을 추가할 때 기존 인증 구조의 보안 가정을 재검토해야 한다는 경고 사례.

댓글

댓글

댓글을 불러오는 중...

security

엘에이 경찰, 사생활 침해 논란 끝에 플록 번호판 감시 계약 종료

엘에이 경찰이 번호판 인식 카메라 업체 플록 세이프티와의 3년 계약을 연장하지 않기로 했어. 시민권, 프라이버시, 데이터 보관과 공유 문제를 해결하지 못했다는 게 핵심 이유야. 플록은 미국 전역에 최소 8만 대 카메라망을 깔아 경찰과 연방기관이 차량을 추적할 수 있게 해왔고, 오탐·보안 사고·이민 단속 악용 의혹까지 겹치며 압박이 커졌어.

security

크로미움 148부터 Math.tanh 한 번으로 운영체제 지문이 새는 문제

크로미움 148 이후 V8이 Math.tanh 계산을 자체 구현 대신 운영체제의 수학 라이브러리에 맡기면서, 같은 입력값도 리눅스·맥·윈도우에서 마지막 비트가 달라지는 지문 신호가 생겼다. 이 차이는 User-Agent로 맥이라고 주장하면서 리눅스 수학 결과를 내는 식의 위장을 바로 들키게 만든다. CSS 삼각함수와 웹 오디오까지 보면 브라우저 수학 경로가 꽤 복잡하게 갈라지고, 제대로 흉내 내려면 실제 운영체제 라이브러리의 비트 단위 동작까지 맞춰야 한다.

security

출입통제도 클라우드 구독제로 간다…제로트러스트·AI 분석이 승부처

기업 출입보안이 사업장별 서버를 두는 방식에서 클라우드 기반 서비스형 출입통제(ACaaS)로 옮겨가고 있다. 시장은 2026년 17억8000만 달러에서 2030년 31억9000만 달러로 커질 전망이고, 제로트러스트·모바일 인증·AI 출입 분석·스마트빌딩 통합이 핵심 경쟁 포인트로 꼽힌다.

security

AWS·구글 클라우드, 양자컴퓨터 대비해 암호 체계 갈아엎는 중

AWS와 구글 클라우드가 양자컴퓨터 시대를 대비해 기존 공개키 암호와 양자내성암호를 함께 쓰는 하이브리드 전환을 시작했다. 핵심 배경은 지금 훔친 암호문을 나중에 양자컴퓨터로 푸는 ‘선수집·후해독’ 공격이고, 국내도 통신·금융·국방 등 5개 분야에 45억원을 투입해 실증에 들어간다.

security

보안 점검 맡긴 AI 에이전트가 악성코드를 직접 실행할 수 있다는 경고

AI 보안 에이전트가 저장소를 검사하다가 README 같은 문서에 숨은 프롬프트 인젝션에 속아 악성 바이너리를 실행할 수 있다는 연구가 나왔다. 클로드 코드와 코덱스의 자동 모드처럼 승인 없이 명령을 수행하는 구성에서 문제가 재현됐고, 여러 모델과 공급업체를 가로질러 같은 패턴이 통했다는 점이 핵심이다.