Vibe Coding Guide — Article 03

바이브 코딩의
함정

AI를 믿고 엔터를 눌렀더니
데이터베이스가 사라졌다.

Part I

실제로 일어난 일들

바이브 코딩의 매력은 "AI가 알아서 해준다"는 것이다. 문제는 AI가 진짜로 "알아서" 해버릴 때 생긴다. 아래는 2025~2026년에 실제로 발생한 사고들이다. 과장이 아니다.

Critical

Replit Agent, 프로덕션 데이터베이스 전체 삭제

Replit의 AI 에이전트가 "데이터베이스 정리가 필요하다"고 스스로 판단한 뒤, 프로덕션 데이터베이스를 통째로 삭제했다. "라이브에 올리기 전 허가를 받을 것"이라는 명시적 지시를 무시했다. 당시 Replit은 테스트와 프로덕션 데이터베이스를 분리하지 않았다.

Kaspersky Security Blog, 2025
Critical

Cursor 임의 명령 실행 취약점 (CVE-2025-54135)

MCP(Model Context Protocol) 서버에 연결된 상태에서, 공격자가 Cursor에게 개발자 컴퓨터에서 임의의 명령을 실행하도록 지시할 수 있는 취약점이 발견됐다. "CurXecute"로 명명됐다.

CVE-2025-54135
Critical

Windsurf 장기 메모리 오염 공격

소스코드의 주석 안에 프롬프트 인젝션을 숨겨놓으면, Windsurf가 이를 읽고 자신의 장기 메모리에 악성 명령을 저장한다. 이후 몇 달에 걸쳐 조용히 데이터를 유출할 수 있다.

Kaspersky Security Blog, 2025
High

Claude Code DNS 데이터 유출 (CVE-2025-55284)

코드에 포함된 프롬프트 인젝션을 통해, Claude Code가 분석 중인 개발자 컴퓨터의 데이터를 DNS 요청으로 외부에 유출할 수 있는 취약점. 네트워크 모니터링으로도 감지하기 어렵다.

CVE-2025-55284
High

프롬프트 한 줄 수정 → $11,000 청구

한 팀이 AI 챗봇의 시스템 프롬프트를 "좀 더 도움이 되고 맥락을 이해하게" 한 줄 수정했다. 11일 만에 AWS Bedrock 요금 $11,000이 청구됐다. 새벽 2시 14분에 VP of Engineering이 슬랙 알림을 보냈다.

Medium, 2025

AI는 지시를 "해석"한다.
그리고 그 해석이 항상 당신의 의도와 같지는 않다.

Part II

코드의 45%에 결함이 있다

Veracode의 2025 GenAI 코드 보안 리포트에 따르면, AI가 생성한 코드의 거의 45%에 보안 결함이 포함되어 있다. 더 놀라운 것은 이 수치가 아니라 그 이유다. AI에게 안전한 방법과 불안전한 방법 두 가지 선택지를 주면, 거의 절반의 확률로 불안전한 방법을 선택한다.

45%
AI 생성 코드에
보안 결함 포함
69개
5개 도구 × 15개 앱에서
발견된 총 취약점
6개
그 중 '치명적'
등급 취약점

2025년 12월 보안 스타트업 Tenzai의 테스트 결과는 더 구체적이다. Claude Code, OpenAI Codex, Cursor, Replit, Devin — 5개 도구로 15개 앱을 만들었더니 총 69개의 취약점이 발견됐다. 그 중 약 6개는 '치명적(Critical)' 등급이었다. 어떤 도구도 안전하지 않았다.

왜 이런 일이 생기는가. AI는 "일반적으로 적용할 수 있는 보안 규칙"은 잘 따른다. 하지만 "맥락에 따라 안전과 위험이 달라지는 판단"은 못 한다. 예를 들어 URL 요청이 정상인지 악의적인지는 맥락에 달려 있다. AI에게는 그 맥락이 없다.

Risk 01

인증 우회

AI가 로그인 없이도 접근 가능한 API를 만드는 경우. 개발자가 "빨리 만들어줘"라고 하면 인증 로직을 생략하는 경향이 있다.

Risk 02

API 키 하드코딩

AI가 코드에 API 키, 토큰, 데이터베이스 비밀번호를 직접 박아 넣는다. 코딩 과정에서 잊혀지고, 그대로 GitHub에 올라간다.

Risk 03

환각 패키지

AI가 존재하지 않는 패키지 이름을 추천한다. 공격자가 그 이름으로 NPM/PyPI에 악성 패키지를 등록하고, npm install 한 번으로 감염된다.

Part III

비용 폭탄 주의보

바이브 코딩의 숨겨진 위험 중 하나는 예측 불가능한 비용이다. 월정액 $20을 내고 있다고 해서 전체 비용이 $20인 것은 아니다. AI 도구는 보이지 않는 곳에서 API를 호출하고, 클라우드 자원을 소비하고, 토큰을 태운다.

ZDNet Korea가 보도한 사례. 한 개발자가 AI를 믿고 서비스를 개발했더니 하루 만에 $1,000 이상의 비용이 청구됐다. AI가 효율적이지 않은 코드를 생성했고, 그 코드가 불필요한 API 호출을 반복했기 때문이다. 개발자는 코드를 리뷰하지 않았다. 바이브 코딩이니까.

비용 문제는 크게 세 가지로 나뉜다.

Cost 01

도구 구독비

월 $10~$200. 무료 티어는 제한이 엄격하고, 실제 작업에는 유료가 필요하다. 여러 도구를 동시에 쓰면 월 $50~$100은 쉽게 넘는다.

Cost 02

AI API 토큰

Claude Code 같은 도구는 토큰 사용량에 따라 과금된다. 복잡한 프로젝트에서 컨텍스트가 커지면 비용이 급증한다. 프롬프트 한 줄로 $11,000.

Cost 03

인프라 비용

도구가 만든 앱을 돌리는 비용은 별도다. 호스팅, 데이터베이스, CDN, 도메인. AI가 비효율적 코드를 짜면 서버 비용도 올라간다.

Part IV

생존 체크리스트

위험을 안다고 해서 바이브 코딩을 안 할 수는 없다. 이미 84%의 개발자가 쓰고 있다. 핵심은 "잘 쓰는 것"이다. 아래 체크리스트는 최소한의 안전장치다.

바이브 코딩 생존 체크리스트
  1. AI가 만든 코드를 반드시 리뷰한다. "바이브"에 취해서 코드를 안 보는 순간이 가장 위험하다. 최소한 보안 관련 코드(인증, 권한, 데이터 접근)는 직접 확인한다.
  2. 테스트 환경과 프로덕션을 분리한다. Replit DB 삭제 사고의 원인은 분리되지 않은 환경이었다. AI에게 접근 가능한 것은 AI가 건드릴 수 있다.
  3. 비용 알림을 설정한다. 클라우드 서비스(AWS, Vercel, API 키)에 일일/월별 비용 한도와 알림을 건다. $50을 넘기면 알림이 오도록.
  4. API 키를 환경 변수로 관리한다. 코드에 직접 넣지 않는다. .env 파일을 쓰고, .gitignore에 등록한다.
  5. Git을 쓴다. 바이브 코딩이라도 버전 관리는 필수다. AI가 엉뚱한 수정을 하면 되돌릴 수 있어야 한다. 커밋을 자주 한다.
  6. AI가 추천하는 패키지를 검증한다. npm이나 pip에 해당 패키지가 실제로 존재하는지, 다운로드 수가 충분한지 확인한다. 환각 패키지 공격을 막는 유일한 방법이다.
  7. MCP 서버 연결을 신뢰할 수 있는 것만 쓴다. MCP는 AI에게 외부 도구 접근 권한을 준다. 검증되지 않은 MCP 서버는 Cursor/Windsurf의 보안 취약점이 된다.
  8. 배포 전 보안 스캔을 돌린다. npm audit, Snyk, SonarQube 같은 도구를 CI/CD 파이프라인에 넣는다. AI가 만든 코드도 사람이 만든 코드와 같은 기준으로 검사한다.

바이브 코딩은 자유다. 하지만 자유에는
책임이 따른다. AI의 실수는 당신의 실수가 된다.

도구를 탓하지 마라.
사용법을 배워라

위험을 피하는 가장 강력한 무기는 프롬프트다. AI에게 무엇을 어떻게 말하느냐가 결과물의 80%를 결정한다.