자고 일어나니 요금폭탄 - 바이브코딩으로 서비스를 만들면 끝이 아니다 3편
[충격실화] 자고 일어났는데 (요금)폭탄을 맞아서 집이 날아갈 수 있음
여러분이 바이브코딩으로 서버를 두는 서비스를 만들었다면
Firebase
나 Supabase
혹은 Vercel
에 배포를 했을 가능성이 높을겁니다.
덤으로 OpenAI나 Claude같은 AI 서비스의 API를 붙여놨을 가능성도 있겠군요.
앞에 말한 것들의 특징은 종량제로 ‘쓴 만큼 내는’ 요금제를 채택하고 있습니다.
그래서 이용자가 별로 없는 초반에는 그만큼 요금도 별로 안나와야 합니다.
그런데 말이죠?
자고 일어났는데 코드 이상으로 폭주해서 Firebase에서 하루만에 7만달러가 날아기기도
하구요?
뭐, 그거 말고도 다양한 도시 괴담
들이 있습니다.
정말로 하루아침에 폭탄을 맞아서 집이 날아간 그런 이야기들 말이죠?

이건 폭탄이 아니라 핵 맞은거 아닌가요? 근데 왜 이렇게 돼요?
이런 상황은 전통적으로(?) 세 가지 이유로 일어납니다.
- API Key 유출: 별 생각 없이 코드에 직접 API Key를 넣어놨다가 GitHub에 push 했는데 그게 퍼지는거죠
- 사용자의 사용량에 제한을 안둬서: 여러분의 서비스에서 GPT를 쓸 수 있게 해놨다고 쳐요? 근데 제한을 안걸어서 밤새 “와 공짜 GPT 개꿀” 이러면서 소문나갖고 몇명이 막 쓰는거죠
- 코드의 폭주: 뭔가 실패하면 실패하고 끝나야되는데 계속 무한 재시도를 한다던가 그런 식이 되어갖고… 예… 그런거죠
그럼 순서대로 어떻게 해야되는지 방법을 알아볼까요?
API Key 유출 방지
보통은 프론트엔드… 아니… 아… 모르실 수 있겠구나
브라우저의 개발자 도구를 열어서 유출이 될 수 있는 형태거나
별 생각 없이 GitHub에 올려서 유출이 되는 형태인데요
이걸 막으려면 어떻게 해야 하느냐?
이 글은 바이브코더를 대상으로 한 글이기에 AI에게 이렇게 물어보시면 됩니다.
“API Key가 브라우저나 GitHub를 통해 노출될 수 있는 부분을 전부 찾아줘”
그럼 찾아줄거에요.
그런데 이미 유출될 수 있는 위기에 처했다면 어떻게 해야 할까요?

‘아직 아무도 못봤을거야’ 하며 넘길까요?
아뇨? API Key가 유출되고 확보된다고 바로 난리가 나는게 아니라
마치 잠복기를 거치고 어느 순간 병에 걸리듯이 터질 수 있기 때문에
API Key를 제공받은 서비스에 가서
기존의 API Key를 폐기하고 새 API Key를 발급받아야 합니다.
매우 귀찮겠지만 여러분의 집에 폭탄이 떨어져서 길거리에 나앉는 것 보단 낫잖아요?
사용자의 사용량에 제한을 두기
각 사용자마다 이용 한도에 제한을 둬서
‘여기 가면 공짜로 ChatGPT 쓸 수 있대’
같은 상황을 방지해야 합니다.
물론 바이브코더 여러분께서는 수익을 목적으로 하고있을 것이기 때문에
이런 일에 대해서는 잘 대처하시겠지만, 그래도 이 부분에 대해서는 점검을 해야합니다.
무료 사용량이 잘 동작하고 있는지,
어디 뚫리는 곳이 없는지 그런 것들이요.
코드의 폭주는… 미리 알고 막기 힘들어요
개발자들도 하는 실수를 개발 지식이 없는 바이브코더가 안다는건 불가능에 가까운 이야기입니다.

그럼 어떻게 막느냐? 막는 방향을 바꾸면 됩니다.
두 가지 방향이 있겠네요
- 코드 레벨에서 재시도 횟수에 제한을 둔다
- API를 사용하는 서비스에서 요금 제한을 둔다
가장 확실한건 요금 제한을 두는게 확실합니다.
| 서비스 | 기본 동작 | 실제로 멈추게 하려면 |
|---|---|---|
| Supabase | Pro 플랜은 Spend Cap이 기본으로 켜져 있어 사용량 초과분이 청구되지 않음. 대신 한도를 넘으면 서비스가 제한됨 | Spend Cap을 끄지 않기. Team 플랜 이상은 Spend Cap이 없음 |
| Vercel | Pro 플랜의 Spend Management에서 금액을 정해도 그것만으로는 멈추지 않음 | 일시정지(Pause Production Deployments) 옵션을 따로 켜기 |
| Firebase | Blaze 플랜의 기본 예산은 이메일 알림만 보냄 | 서비스별 지출 한도(spend cap budget)를 따로 설정하면 한도에 닿은 서비스가 그달 동안 멈춤 |
이런 식으로 설정합니다.
AI 서비스들도 찾아보면 전부 요금 제한을 걸 수 있구요.
지금 당장 점검해야 할 것
[ ] AI에게 API 키 노출 점검 맡기기
[ ] AI 기능에 로그인 필수 + 사용자별 하루 사용 횟수 제한 걸기
[ ] 쓰고 있는 호스팅·DB가 “알림만"인지 “멈춤"인지 확인하고, 필요하면 멈춤 설정 켜기
[ ] OpenAI 자동 충전 끄기 (또는 월 충전 한도 걸기)
[ ] OpenAI·Claude API에 월 지출 한도(hard limit) 걸기
바이브코딩으로 서비스 오픈해서 수익화를 하려고 한건데 생각보다 신경써야 할게 많죠?
AI가 인간보다 더 많은 지식을 갖게 되었다곤 하지만
누가 다루느냐에 따라 능력의 차이가 커집니다.
도움이 필요하시다면 contact@epsilondelta.ai
로 메일을 보내주시면
저희가 도와드리겠습니다.

지상 최강의 개발자 쥬니니