홈페이지 보안 검사 가이드
내 사이트는 안전한가요?
웹사이트를 만들었다면, 보안은 선택이 아니라 필수입니다. 특히 AI로 빠르게 만든 사이트일수록 보안 점검이 더 중요합니다. 이 가이드에서는 왜 보안 검사가 필요한지, 어떤 취약점을 주의해야 하는지, 그리고 VibeScan으로 어떻게 무료 점검할 수 있는지 알려드립니다.
왜 보안 검사가 필요한가?
웹사이트 보안 사고는 매년 증가하고 있습니다. 개인정보 유출, 악성코드 삽입, 피싱 페이지 변조 등 한 번의 보안 사고로 사이트 신뢰도가 치명적으로 떨어질 수 있습니다.
- 개인정보보호법 위반 시 최대 매출액의 3% 과징금 부과
- Google Safe Browsing에 등록되면 검색 노출 차단
- SSL 미적용 사이트는 Chrome에서 "안전하지 않음" 경고 표시
- API 키 하나 노출로 수백만 원의 클라우드 비용 청구 사례 존재
정기적인 보안 점검만으로도 대부분의 위험을 사전에 차단할 수 있습니다.
흔한 보안 취약점 TOP 10
VibeScan이 실제로 탐지하는 가장 빈번한 보안 문제들입니다.
1. API 키 노출
소스 코드나 JavaScript 파일에 API 키가 하드코딩되어 있는 경우입니다. 공격자가 키를 탈취하면 클라우드 서비스를 무단 사용하거나 데이터에 접근할 수 있습니다. 특히 Supabase, Firebase, AWS 키가 프론트엔드에 노출되는 경우가 흔합니다.
2. .env 파일 유출
환경 변수 파일(.env)이 웹에서 직접 접근 가능한 상태입니다. 데이터베이스 비밀번호, API 시크릿 키 등 모든 민감 정보가 한 번에 유출될 수 있습니다. 배포 시 .gitignore 설정을 반드시 확인해야 합니다.
3. XSS (크로스사이트 스크립팅)
사용자 입력값이 검증 없이 페이지에 렌더링되어 악성 스크립트가 실행되는 취약점입니다. 공격자가 사용자의 쿠키를 탈취하거나, 피싱 페이지로 리다이렉트할 수 있습니다. CSP(Content Security Policy) 헤더 설정으로 방어할 수 있습니다.
4. CORS 설정 오류
Access-Control-Allow-Origin이 *(와일드카드)로 설정되어 모든 외부 사이트에서 API를 호출할 수 있는 상태입니다. 인증된 요청까지 허용하면 사용자 데이터가 외부로 유출될 수 있습니다.
5. SSL/TLS 미적용 또는 만료
HTTPS가 적용되지 않았거나 인증서가 만료된 상태입니다. 통신 내용이 암호화되지 않아 중간자 공격(MITM)에 노출되고, 브라우저에서 보안 경고가 표시되어 방문자 이탈률이 높아집니다.
6. 보안 헤더 누락
X-Frame-Options, X-Content-Type-Options, Strict-Transport-Security 등 필수 보안 헤더가 설정되지 않은 경우입니다. 클릭재킹, MIME 스니핑, 프로토콜 다운그레이드 공격에 취약해집니다.
7. 서버 정보 노출
Server, X-Powered-By 헤더로 웹 서버 종류와 버전이 노출되는 경우입니다. 공격자가 알려진 취약점을 이용해 타겟 공격을 시도할 수 있습니다. 응답 헤더에서 서버 정보를 제거하는 것이 기본 보안 수칙입니다.
8. 디렉토리 리스팅
웹 서버의 디렉토리 목록이 외부에 공개되어 내부 파일 구조가 노출됩니다. 설정 파일, 백업 파일, 소스 코드 등 민감한 파일이 검색엔진에 인덱싱될 수 있습니다.
9. 소스맵 노출
프로덕션 환경에서 .map 파일이 접근 가능하면 원본 소스 코드가 그대로 노출됩니다. 비즈니스 로직, 내부 API 엔드포인트, 주석에 포함된 민감 정보까지 공개될 수 있습니다.
10. 오래된 라이브러리 사용
jQuery, Bootstrap 등 프론트엔드 라이브러리의 구버전에는 알려진 보안 취약점(CVE)이 존재합니다. 정기적인 업데이트만으로도 많은 공격을 방어할 수 있습니다.
바이브코딩 시대의 보안 위험
Cursor, Bolt, v0, Lovable 같은 AI 코딩 도구로 웹사이트를 만드는 "바이브코딩"이 빠르게 확산되고 있습니다. 빠르고 편리하지만, 보안 측면에서는 새로운 위험이 따릅니다.
- API 키 하드코딩 — AI가 생성한 코드에 API 키가 직접 포함되는 경우가 많습니다. 환경 변수로 분리하라는 지시를 빠뜨리면 그대로 배포됩니다.
- 인증/인가 부재 — AI는 기능 구현에 집중하기 때문에 접근 제어 로직을 스스로 추가하지 않는 경우가 많습니다. 관리자 페이지가 누구나 접근 가능한 상태로 배포되는 사례가 빈번합니다.
- 보안 헤더 미설정 — AI 도구가 생성하는 기본 설정에는 CSP, HSTS 같은 보안 헤더가 빠져 있습니다. 배포 후 별도로 설정해야 합니다.
- 에러 메시지 노출 — 개발 모드의 상세한 에러 메시지가 프로덕션에서도 그대로 표시되어 내부 스택 정보가 외부에 노출됩니다.
- RLS 미적용 — Supabase 등 BaaS를 사용할 때 Row Level Security를 설정하지 않으면 모든 사용자가 다른 사용자의 데이터에 접근할 수 있습니다.
바이브코딩으로 빠르게 만들수록, 배포 전 보안 검사가 더 중요합니다.
VibeScan으로 검사하는 방법
VibeScan은 URL 하나만 입력하면 50개 이상의 보안 항목을 자동으로 검사합니다.
- URL 입력 — 메인 페이지에서 검사할 사이트의 URL을 입력합니다. https:// 없이 도메인만 입력해도 됩니다.
- 자동 검사 실행 — SSL 인증서, 보안 헤더, API 키 노출, .env 파일, 소스맵, 서버 정보 등을 자동으로 탐지합니다. 약 10~30초 소요됩니다.
- 결과 확인 — A+부터 F까지 보안 등급과 함께 발견된 취약점 목록을 확인합니다. 각 이슈에는 위험도와 설명이 포함됩니다.
- AI 수정 프롬프트 활용 — 발견된 이슈마다 AI 코딩 도구에 바로 붙여넣을 수 있는 수정 프롬프트가 제공됩니다. 복사해서 Cursor나 ChatGPT에 붙여넣으면 바로 수정할 수 있습니다.
자주 묻는 질문
검사 비용이 있나요?
아니요, VibeScan의 모든 보안 검사는 완전 무료입니다. 회원가입 없이도 사용할 수 있습니다.
검사 중 사이트에 영향이 있나요?
VibeScan은 읽기 전용 검사만 수행합니다. 사이트에 데이터를 쓰거나 변경하는 행위는 일절 하지 않습니다.
어떤 사이트든 검사할 수 있나요?
인터넷에 공개된 모든 웹사이트를 검사할 수 있습니다. Next.js, React, Vue, WordPress 등 기술 스택에 관계없이 동작합니다.
검사 결과를 저장하려면?
무료 회원가입 후 로그인하면 검사 이력이 자동 저장됩니다. 이전 결과와 비교하여 개선 여부도 확인할 수 있습니다.
지금 무료로 검사하기
URL만 입력하면 30초 안에 보안 등급을 확인할 수 있습니다.
VibeScan으로 검사하기