5,000개 바이브코딩 앱이 인터넷에 통째로 떠 있다 — 내 앱은 안전한지 5분 안에 점검하는 법
핵심 요약 (TL;DR)
이스라엘 보안업체 RedAccess가 Lovable·Replit·Base44·Netlify로 만든 공개 앱 38만 개를 인덱싱한 결과, 약 5,000개에서 인증 없이 민감 데이터가 노출됐습니다. 그중 약 40%가 직접적인 의료기록·금융정보·고객 대화 풀이었고, vibe coding 플랫폼에 직접 빌드된 Bank of America·Costco·FedEx 사칭 피싱 사이트까지 포함됐습니다. 사용된 공격 도구는 단 하나, Google·Bing의 site: 검색이었습니다.
"검색 엔진에 인덱싱돼 있는 건 의도된 동작이다"라고요
RedAccess CEO Dor Zvi가 5월 7일 Axios에 풀어놓은 보고서는 단순합니다. 별도의 익스플로잇 없이, 그냥 site:lovable.app 같은 검색 한 줄을 던졌습니다. 그렇게 380,000개의 vibe-coded 앱이 잡혔고, 그중 1.3%인 약 5,000개가 인증 게이트 없이 또는 "아무 이메일이나 넣으면 통과" 수준의 가짜 게이트만 두고 있었습니다.
내용물은 더 충격적입니다. 영국 보건회사의 임상시험 진행 트래커, 영국 가구공급사의 무삭제 고객 대화 풀, 브라질 은행 내부 재무 정보, 장기요양시설의 환자 대화 로그, 학교 앱의 수업 녹화·학생 개인정보. 그리고 vibe coding 플랫폼 자체에 빌드된 Bank of America·Costco·FedEx·Trader Joe's·McDonald's 사칭 피싱 사이트. 공격자도 같은 도구를 무료 호스팅으로 활용한 거죠.
Replit CEO Amjad Masad는 X에서 "사용자가 public/private을 클릭 한 번으로 선택할 수 있고, 공개 앱이 인터넷에 접근 가능한 건 의도된 동작"이라고 반박했습니다. 맞는 말처럼 들립니다. 그런데 default가 public이고, 사용자 절대 다수가 그 의미를 모를 가능성이 압도적으로 높다면 — 그건 product-market fit의 결함이 아닐까요. RedAccess의 한 줄이 정곡을 찌릅니다. "어머니도 Lovable로 vibe coding 한다. 솔직히 어머니가 role-based access control을 생각할 거라고 보지 않는다."
5분 안에 끝나는 자기 앱 점검 4단계
지금 이 글을 읽는 분이 Lovable·Replit·Base44·Netlify로 사이드 프로젝트를 띄워놓은 상태라면, 다음 4가지를 순서대로 확인하시면 됩니다.
1) 검색 엔진 노출 확인. Google에서 site:lovable.app 자기서비스이름 또는 site:replit.app yourapp 형태로 던집니다. 결과에 본인 앱의 내부 화면, 데이터 페이지, 관리자 화면이 떠 있다면 이미 인덱싱 상태입니다.
2) Default visibility 설정. 플랫폼 대시보드에서 앱 가시성을 public이 아닌 private 또는 password protected로 변경합니다. Replit은 워크스페이스 설정, Lovable은 프로젝트 settings의 publish 토글에서 잡힙니다.
3) 인증 게이트 진위 확인. 화면에 로그인 폼이 있다고 안전한 게 아닙니다. 가짜 이메일(test@test.com)을 넣어보고 그냥 통과되는지 확인하세요. 통과된다면 그건 인증이 아니라 장식입니다. Supabase·Auth0·Clerk 같은 진짜 인증 모듈 도입이 필요합니다.
4) Secrets 노출 점검. AI 도구에 시킨 코드에 .env 파일 내용이 그대로 프론트엔드에 박혀 있는 경우가 흔합니다. 브라우저 DevTools의 Sources 탭에서 API 키나 Supabase URL이 클라이언트 번들에 노출되는지 확인하세요.
자주 묻는 질문 (FAQ)
Q. Lovable로 만든 앱은 기본적으로 인터넷에 공개되나요?
네, 기본 동작이 그렇습니다. 사용자가 명시적으로 비공개 전환하지 않으면 누구나 URL만 알면 접근할 수 있고, 검색 엔진 인덱싱도 함께 잡힙니다. Replit·Base44·Netlify도 비슷한 default 구조입니다.
Q. 비공개로 전환만 하면 충분한가요?
이미 검색 엔진이 인덱싱한 페이지는 비공개 전환 후에도 캐시에 남아 있을 수 있습니다. Google Search Console에서 URL 제거 요청을 별도로 넣어야 완전히 사라집니다.
Q. 사내 직원이 Base44로 만든 내부 툴은 안전한가요?
RedAccess가 발견한 5,000건 중 상당수가 "사내용으로 만들었다"고 인식되던 앱들이었습니다. 도메인이 base44.com 하위라면 별도 인증을 걸지 않은 이상 외부에서도 그대로 보입니다.
vibe coding의 첫 산업 규모 보안 폭로가 5월 7일 떨어졌습니다. 5,000건은 빙산의 일각이고, 검색 엔진 인덱싱은 지금 이 순간에도 진행 중입니다. 아직 자기 앱을 점검하지 않은 솔로 빌더라면, 이 글을 닫기 전에 site: 한 줄만 던져보세요. 5분짜리 작업이 그 어떤 사후 대응보다 저렴합니다.
댓글 0
아직 댓글이 없습니다