제공 서비스
웹 보안 점검 소스코드 분석 (SAST) CRM 보안 진단 다크웹 유출 조회
요금제 스토어 블로그 파트너 마이페이지 무료 보안 점검
AI코딩 2026.02.15 · 조회 123

Cursor로 만든 웹앱, 보안 점검은 어떻게?

Cursor로 빠르게 만든 웹앱, 배포 전 보안 점검 안 하면 큰일 난다. 실전에서 놓치기 쉬운 포인트만 정리했다.

Cursor는 기능만 만들어준다, 보안은 네 몫이다

Cursor에게 "로그인 기능 만들어줘"라고 하면 작동하는 코드는 나온다. 하지만 JWT 만료 처리가 빠져 있거나, 비밀번호를 평문으로 저장하거나, rate limiting 없이 무제한 로그인 시도를 허용하는 경우가 생각보다 많다.

2026년 현재, Cursor로 만든 프로젝트가 해킹당하는 가장 흔한 경로 세 가지가 있다.

놓치기 쉬운 보안 포인트 5가지

1. .env 파일이 Git에 올라가 있다

Cursor가 프로젝트를 생성할 때 .gitignore를 빠뜨리는 경우가 있다. 배포 전에 반드시 확인하자.

# .env가 git에 추적되고 있는지 확인
git ls-files | grep ".env"

# 이미 올라갔다면 캐시 제거
git rm --cached .env
echo ".env" >> .gitignore

2. 개발용 디버그 모드를 그대로 배포

Flask/Django에서 debug=True 상태로 배포하면 에러 발생 시 서버 내부 정보가 그대로 노출된다. Cursor 생성 코드에서 특히 자주 보이는 패턴이다.

# 위험
app.run(debug=True)

# 안전: 환경변수로 분리
import os
app.run(debug=os.getenv('DEBUG', 'False') == 'True')

3. 인증 없는 관리자 API

Cursor가 빠르게 CRUD API를 만들 때 인증 미들웨어를 빠뜨리는 경우가 있다. /api/admin/users 같은 경로에 토큰 없이 접근 가능한지 직접 테스트해봐야 한다.

4. CORS가 전체 허용으로 설정

"일단 되게 해"라고 프롬프트를 쓰면 CORS를 *로 설정한다. 실제 프로덕션에서는 허용할 도메인을 명시적으로 지정해야 한다.

# 위험
CORS_ALLOW_ALL_ORIGINS = True

# 안전
CORS_ALLOWED_ORIGINS = [
    "https://yourdomain.com",
    "https://www.yourdomain.com",
]

5. 보안 헤더가 없다

Content-Security-Policy, X-Frame-Options, Strict-Transport-Security 등 보안 헤더를 Cursor가 자동으로 추가하지는 않는다. 배포 후 CodeScan으로 헤더 점검을 돌려보면 대부분 C~D 등급이 나온다.

자동화 점검으로 빠르게 확인하는 법

위 5가지를 수동으로 다 확인하기 힘들다면, URL 하나로 주요 항목을 자동 점검하는 도구를 활용하는 게 현실적이다. 코드 레벨의 취약점은 직접 검토해야 하지만, 인프라/설정 레벨의 문제는 스캐너가 빠르게 잡아준다.

→ 무료 보안 점검 바로 하기

Cursor AI코딩 보안 바이브코딩

내 사이트도 점검해보세요

CodeScan으로 보안 취약점을 무료로 점검할 수 있습니다.

무료 스캔 시작하기 →
🛒
추천 상품
웹서비스 런칭 전 보안 세팅
런칭 전에 반드시 해야 하는 보안 설정을 원격으로 직접 해드립니다. HTTPS, 환경변수 분리, 보안 헤더…
220,000원 150,000원

🔒 바이브코딩 보안 체크리스트 받기

바이브코딩 보안 체크리스트(PDF)를 무료로 받아보세요.