재미로 몇 가지 '바이브 코딩' 앱을 테스트해 봤는데, 계속 발견되는 패턴이 있네요
Tested a few vibe-coded apps for fun, here's the pattern I keep finding
핵심 요약
AI 도구로 빠르게 개발된 앱들에서 인증 및 입력 처리 보안 취약점이 반복적으로 발견된다는 분석입니다.
- 보안 취약점 패턴 — URL 객체 ID 소유권 검증 누락 및 입력값 검증 미흡이 공통적으로 나타남
- AI 개발의 한계 — UI/UX는 뛰어나지만 보안 검사는 AI 도구가 최적화된 영역이 아님
- 보안 테스트 공유 — OWASP Juice Shop을 활용한 보안 리포트 예시를 통해 취약점 사례 제시
- 코드 검토 제안 — 실제 사용자 배포 전 보안 검토가 필요한 프로젝트에 도움을 주겠다고 제안함
취미로 보안 테스트(HTB, 버그 바운티)를 하다가 AI 코딩 도구로 빠르게 만든 앱들에 같은 기법을 적용하면 어떻게 될지 궁금해졌습니다. 사람들이 공개적으로 공유한 몇몇 사이드 프로젝트들을 찔러봤죠.
패턴은 이렇습니다: UI/UX는 보통 훌륭합니다. 이런 도구들이 그 부분은 정말 잘하거든요. 하지만 인증 확인과 입력 처리에서 문제가 발생합니다. 반복되는 몇 가지 사례는 다음과 같습니다:
- URL의 객체 ID에 소유권 확인이 없음 (즉, /orders/104에서 /orders/105로 바꾸면... 다른 사람의 데이터가 그냥 보임)
- 폼 입력값이 쿼리로 바로 들어가거나 페이지에 그대로 출력됨, 살균(sanitization) 과정 없음
- 기본적인 보안 헤더가 누락됨, 상세한 에러 메시지가 스택 트레이스를 노출함
이건 '바이브 코딩' 방식 자체를 비난하려는 게 아닙니다. 단지 이런 도구들이 잡아내도록 최적화된 부분이 아닐 뿐이죠. 마치 빠르게 집을 리모델링하면서 배선 검사를 건너뛰는 것과 비슷합니다.
이런 테스트가 어떤 결과를 낳는지 궁금해하실 분들을 위해, 공개 테스트 앱(OWASP Juice Shop)을 대상으로 샘플 리포트를 작성해 봤습니다: https://drive.google.com/file/d/10NWU0JvY_TPaDmGNTjK_Wdo-BM4hcrE3/view?usp=sharing
혹시 무언가를 배포했는데 실제 사용자들이 접근하기 전에 한 번 더 검토받고 싶으신 분이 있다면, 일회성이나 지속적으로 봐드릴 수 있습니다. 그게 아니라면, 다른 분들도 비슷한 패턴을 겪으셨는지 궁금하네요.


