보안 스캐너로 실제 앱 5개를 스캔해 보았습니다

AI가 생성한 코드를 스캔하기 위해 VibeSafe를 개발했습니다. Vibe Coding Showcase에 있는 실제 앱 5개를 대상으로 테스트를 진행했습니다.

결과는 좋지 않았습니다.

5개 앱 모두 보안 문제가 있었습니다. Content Security Policy(CSP)를 적용한 앱은 단 하나도 없었습니다. 총 33개의 문제를 발견했습니다.

상세 내역:

  • 심각(Critical) 이슈 6개
  • 높음(High) 이슈 9개
  • 중간(Medium) 이슈 18개

앱에서 발견한 내용은 다음과 같습니다:

앱 1: 모성 건강 플랫폼 이 앱은 데이터를 유출합니다.

  • .env 파일이 공개되어 있습니다. 누구나 인증 정보를 탈취할 수 있습니다.
  • .git 폴더가 노출되어 있습니다. 누구나 전체 코드 히스토리를 다운로드할 수 있습니다.
  • XSS 보호 기능이 없습니다.
  • 로그인 시 속도 제한(rate limiting)이 없습니다.

앱 2: SMS 로열티 플랫폼 앱 1과 동일한 패턴을 보입니다.

  • .env 파일이 공개되어 있습니다.
  • .git 폴더가 공개되어 있습니다.
  • 보안 헤더가 없습니다.
  • 인증 보호 기능이 없습니다.

앱 3: SaaS 플랫폼 숙련된 CTO가 구축했음에도 불구하고 여전히 허점이 있었습니다.

  • .git 폴더가 유출되었습니다.
  • Python 캐시 디렉토리가 공개되어 있었습니다.
  • XSS 보호 기능이 없습니다.

앱 4: 육아 앱 그룹 내에서 가장 나은 상태였지만, 여전히 위험했습니다.

  • SSL 및 .env 파일은 안전했습니다.
  • XSS 보호 기능이 없습니다.
  • 로그인 시 속도 제한이 없습니다. 이는 무차별 대입 공격(brute-force attacks)을 허용합니다.

앱 5: Netlify 제품

  • SSL 인증서가 유효하지 않습니다.
  • 브라우저가 안전하지 않은 사이트로 판단하여 차단합니다.

공통 위험 요약:

  • Content Security Policy 미적용: 앱의 100%
  • X-Frame-Options 미적용: 앱의 100%
  • 속도 제한 없음: 앱의 80%
  • .env 또는 .git 파일 노출: 앱의 60%

이러한 문제의 90%는 15분 만에 해결할 수 있습니다.

해결 방법:

  • Content-Security-Policy 추가: 1분
  • X-Frame-Options 추가: 1분
  • HSTS 추가: 1분
  • .env 및 .git 파일 차단: 1분
  • 속도 제한 미들웨어 추가: 10분

이것들은 단순한 실험용 프로젝트가 아닙니다. 실제 사용자가 있는 라이브 제품입니다. 건강 데이터, SMS 데이터, 사용자 계정을 다룹니다. 대부분 현재 데이터 도난 및 클릭재킹(clickjacking)에 취약한 상태입니다.

Source: https://dev.to/amrakg93/i-scanned-5-real-vibe-coded-apps-with-a-security-scanner-heres-what-i-found-4a04