코드 0줄의 대가 — 바이브코딩 SaaS가 런칭 1주일 만에 문 닫은 이유
핵심 요약 (TL;DR)
Cursor로 코드 100% AI 생성, 수작업 코드 0줄을 표방한 SaaS Enrichlead가 런칭 1주일 이내에 해킹당해 폐업했습니다. 유저가 브라우저 콘솔에서 값 하나를 바꿔 유료 기능 전체에 무료로 접근한 것이 시작이었습니다. 보안은 바이브로 하면 안 됩니다.
브라우저 콘솔 하나로 무너진 SaaS
Leonel Acevedo가 만든 Enrichlead는 영업팀을 위한 리드 생성 SaaS였습니다. Cursor로 코드를 100% AI 생성했고, 수작업 코드는 문자 그대로 0줄이었습니다. 빠른 런칭, 깔끔한 제품. 바이브코딩의 교과서적 성공 사례가 될 수 있었습니다.
런칭 수일 만에 한 유저가 브라우저 개발자 도구를 열었습니다. 구독 상태를 체크하는 값을 바꿨더니 유료 기능 전체가 열렸습니다. 이 소식이 퍼지면서 API에 트래픽이 폭주했고, Acevedo의 개인 신용카드가 한도를 초과했습니다. 1주일 이내에 서비스는 완전히 폐업했습니다.
AI가 만든 보안의 허점
문제의 본질은 단순합니다. AI가 모든 보안 로직을 클라이언트 사이드에 넣은 겁니다. 서버 사이드 검증, 레이트 리미팅, 구독 상태의 서버 강제 — 이 세 가지가 전부 빠져 있었습니다.
이건 AI의 잘못이라기보다 구조적 문제입니다. AI에게 "유료 구독 기능을 만들어줘"라고 하면, AI는 기능을 만듭니다. 하지만 "이 기능이 우회될 수 있는 모든 경로를 차단해줘"라고 명시적으로 요청하지 않으면, 보안은 빠지기 쉽습니다. AI는 동작하는 코드를 만드는 데 최적화되어 있지, 공격 벡터를 상상하도록 설계되지 않았거든요.
Acevedo 본인도 인정한 문제가 또 있었습니다. AI가 생성한 코드를 감사(audit)할 수 없었다는 겁니다. 코드의 양은 상당했지만, 그 안에서 무엇이 안전하고 무엇이 위험한지를 판별할 전문성이 없었습니다.
바이브코더의 최소 보안 체크리스트
다수의 보안 전문가와 매체가 이 사례를 분석했습니다. Snyk, Kaspersky 같은 보안 회사 공식 블로그에서도 다뤄질 만큼, 바이브코딩 보안 실패의 대표 사례가 되었습니다.
바이브코딩으로 SaaS를 만들 때, 최소한 이 세 가지는 직접 확인해야 합니다.
- 결제/구독 검증은 반드시 서버에서 — 클라이언트에서 보여주는 UI 상태와 서버가 강제하는 권한은 별개입니다
- API 레이트 리미팅 — 트래픽 폭주 한 번에 신용카드가 터지지 않도록
- AI가 생성한 코드 중 인증/권한 로직은 직접 읽기 — 전체 코드를 다 읽을 필요는 없지만, 돈과 관련된 부분은 반드시
속도가 바이브코딩의 최대 장점이라면, 보안은 속도를 낼수록 빠지기 쉬운 영역입니다. 빠르게 만들되, 잠금장치는 직접 확인하세요. 자물쇠 없는 가게를 여는 것과 같으니까요.
FAQ
Q: Enrichlead의 정확한 금전 피해 규모는 얼마인가요?
구체적 금액은 공개되지 않았습니다. Acevedo는 "API 키 사용량이 한도를 초과했다"고만 밝혔습니다. prodmoh.com의 기사 제목 "The $10M Mistake"는 비유적 표현이며 실제 피해액은 아닙니다.
Q: Cursor만의 문제인가요? 다른 AI 도구를 쓰면 괜찮은가요?
도구의 문제가 아닙니다. Claude Code, Copilot, 어떤 AI 도구를 쓰더라도 보안 로직을 명시적으로 요청하지 않으면 같은 일이 발생할 수 있습니다. AI는 기능 구현에 집중하지, 공격 시나리오를 자발적으로 고려하지 않습니다.
Q: 바이브코딩으로 만든 제품을 런칭하기 전에 보안 점검은 어떻게 하나요?
최소한 인증/결제 흐름을 브라우저 개발자 도구로 직접 테스트해보세요. 클라이언트에서 값을 조작했을 때 서버가 이를 차단하는지 확인하는 것만으로도 Enrichlead 수준의 사고는 막을 수 있습니다.
관련 글 추천:
- 만드는 건 1시간, 배포는 차단 — Apple이 바이브코딩 앱에 선을 그었다
댓글 0
아직 댓글이 없습니다