퇴직생활연구소퇴직 이후의 생활을 공식 자료로 확인합니다

AI 활용·바이브코딩 · 9

AI가 짜준 코드를 그대로 올리면 생기는 일 — 바이브 코딩 치명적 위험 8가지

AI가 만든 코드는 대체로 돌아갑니다. 문제는 잘못됐을 때 어디까지 번지느냐입니다. 요금·데이터·권한 세 갈래로 묶은 여덟 가지 사고와, 배포 전에 사람이 정해야 할 한도를 정리했습니다.

데스크콘텐츠편집팀장 · 책임편집자발행 2026-08-18
AI가 짜준 코드를 그대로 올리면 생기는 일 — 바이브 코딩 치명적 위험 8가지 — 노트북으로 재취업과 부업을 준비하는 중장년 일러스트
AI 활용·바이브코딩NEW
읽기 도구9분 · 0% 읽음
목차 보기 0

AI가 짜준 코드의 문제는 돌아가지 않는 것이 아니라, 대체로 잘 돌아간다는 점입니다. 화면이 뜨고 버튼이 눌리면 다 된 것처럼 보입니다. 사고는 그다음에 납니다. 결제 한도를 안 걸었거나, 권한을 열어둔 채로 올렸거나, 되돌릴 지점을 안 만들어둔 상태에서요.

흔히 이야기되는 여덟 가지 위험은 서로 다른 사고처럼 보이지만 원인은 세 갈래로 묶입니다. 갈래별로 배포 전에 사람이 정해야 하는 한 가지가 있습니다.

AI 코드 배포 위험을 돈이 새는 문제, 데이터가 사라지는 문제, 남이 들어오는 문제 세 갈래로 묶고 각각의 예방책을 정리한 도표
여덟 가지 사고의 원인은 세 갈래로 좁혀집니다. · 퇴직생활연구소 제작 도표

1. 돈이 새는 갈래

가장 빨리, 가장 조용히 커지는 손실입니다. 코드는 정상 작동하는데 청구서만 늘어납니다.

  • 자동 충전 한도 미설정 — API나 클라우드 서비스는 잔액이 떨어지면 자동으로 결제합니다. 상한을 안 걸면 상한이 없는 것입니다.
  • 에이전트 증식 — 설정이 잘못되면 AI가 자기 자신을 반복 호출합니다. 밤사이 수천 번 돌 수 있습니다.
  • 끊기지 않는 루프 — 실패하면 다시 시도하도록 짜인 코드가 실패를 반복하며 계속 호출합니다.

먼저 할 것: 코드를 쓰기 전에 결제 화면부터 엽니다. 하루 한도와 월 한도, 그리고 초과 시 자동 차단을 켭니다. 알림만 켜두면 자는 동안 소용이 없습니다.

2. 데이터가 사라지는 갈래

돈은 다시 벌 수 있지만 지워진 데이터는 대개 못 돌아옵니다.

  • 확인 없이 전부 승인 — 자동 승인 모드를 켜두면 삭제 명령도 함께 승인됩니다. 되돌릴 시간이 없습니다.
  • 백업이 원본과 같은 곳 — 같은 서버, 같은 계정, 같은 폴더에 있는 백업은 백업이 아닙니다. 원본이 지워질 때 같이 지워집니다.
  • 되돌릴 지점 없음 — 버전 관리를 안 쓰거나 커밋을 안 해두면 어제 상태로 못 돌아갑니다.

먼저 할 것: 백업은 다른 계정, 다른 장소에 둡니다. 그리고 작업을 시작하기 전에 되돌릴 지점을 하나 만들어둡니다. 이 두 가지만 해두면 나머지 실수는 대부분 복구 가능합니다.

자동 승인은 편의 기능이 아니라 권한 위임입니다. 무엇을 위임했는지 모른 채 켜면 안 됩니다.

3. 남이 들어오는 갈래

가장 늦게 발견되고 가장 오래 피해가 남습니다. 내 데이터만이 아니라 서비스를 쓴 사람들의 정보가 걸립니다.

  • 마스터 키를 그대로 사용 — 모든 권한을 가진 키를 앱에서 그대로 쓰면, 그 키가 새는 순간 전부 열립니다.
  • 접근 제한 미설정 — 데이터베이스에 행 단위 접근 제한을 안 켜면 로그인한 누구나 남의 데이터를 조회할 수 있습니다.
  • 화면 코드에 비밀키 하드코딩 — 브라우저에서 도는 코드는 누구나 열어볼 수 있습니다. 거기 적힌 키는 공개된 키입니다.

먼저 할 것: 비밀키는 서버에만 둡니다. 화면 쪽에는 공개용 키만 내보내고, 권한은 필요한 만큼만 가진 키를 따로 발급합니다.

실제로는 이런 모양으로 터집니다

세 갈래가 추상적으로 들리면 사고는 늘 남의 일처럼 보입니다. 실제 사례는 대체로 이런 형태입니다.

자는 동안 요금이 쌓입니다

테스트로 돌려본 자동화가 실패할 때마다 재시도하도록 짜여 있었고, 실패 원인이 해결되지 않은 채 밤새 반복됩니다. 아침에 확인하면 호출 횟수가 수천 건입니다. 코드는 정상이고 알림도 왔지만, 알림은 자는 사람을 깨우지 못합니다.

확인 한 번을 건너뛰고 데이터가 사라집니다

“정리해줘”라는 요청에 AI가 폴더를 통째로 비우는 명령을 제안하고, 자동 승인 모드가 켜져 있어 그대로 실행됩니다. 몇 초면 끝납니다. 그런데 백업이 같은 서버 같은 계정에 있었다면 백업도 같이 사라집니다.

키 하나로 전부 열립니다

개발할 때 편하려고 모든 권한을 가진 키를 화면 코드에 그대로 넣어두고 그대로 배포합니다. 브라우저에서 코드를 열면 누구나 그 키를 볼 수 있고, 그 키로 데이터베이스 전체에 접근할 수 있습니다. 발견되기까지 몇 달이 걸리기도 합니다.

세 사례의 공통점은 코드가 잘못되지 않았다는 것입니다. 요청한 대로 정확히 동작했고, 요청에 한도가 없었을 뿐입니다.

AI에게 물어볼 때 이렇게 덧붙입니다

AI는 요청한 기능을 만드는 데 최적화돼 있습니다. 요청하지 않은 안전장치는 대체로 넣지 않습니다. 그래서 프롬프트에 조건을 함께 씁니다.

대신 이렇게
“비밀키는 서버 환경변수로 두고 화면 코드에 넣지 마”하드코딩을 미리 차단
“삭제나 덮어쓰기 전에 무엇을 지우는지 먼저 보여줘”확인 단계를 강제
“실패하면 몇 번까지만 재시도하고 멈추게 해”무한 루프와 요금 폭탄 방지
“이 코드에서 권한이 과한 부분을 찾아줘”만든 뒤 스스로 점검하게 함

배포 전 5분 점검

  1. 결제 한도가 걸려 있는가. 초과 시 차단되는가.
  2. 백업이 원본과 다른 곳에 있는가.
  3. 화면 코드에 비밀키가 들어 있지 않은가. 브라우저에서 열어 검색해봅니다.
  4. 남의 데이터가 조회되지 않는가. 계정을 두 개 만들어 서로 안 보이는지 확인합니다.
  5. 어제 상태로 되돌릴 수 있는가.

이 다섯 개는 코딩 실력과 무관합니다. AI가 코드를 만들어도 한도와 권한은 사람이 정하는 영역입니다.

오류가 났을 때 물어보는 방법은 오류를 제대로 물어보는 4단계에, 무엇을 정해두지 않으면 AI가 대신 정해버리는지는 AI가 말없이 정해버리는 55가지에 정리해두었습니다. 만든 도구를 실제로 올리는 순서는 인터넷에 올리기를 보세요.

이 글은 개인이 만든 소규모 서비스를 기준으로 한 참고자료이며 보안 진단이나 전문가 검토를 대신하지 않습니다. 개인정보나 결제를 다루는 서비스라면 공개 전에 전문가 검토를 받으세요.

출처: OWASP Top 10 웹 애플리케이션 보안 위험

도움이 되는 공식자료

이 글은 퇴직생활연구소 편집실이 생성형 AI 도구로 초안을 만들고, 공식 출처를 사람이 확인한 뒤 발행했습니다. 편집자 이름은 담당 업무를 가리키는 운영명이며 실존 인물이 아닙니다. 편집실 운영 방식 보기