피드로 돌아가기
Why Cursor Keeps Generating Wildcard CORS -- And How to Fix It
Dev.toDev.to
Security

AI 생성 Wildcard CORS 제거를 통한 Authenticated API 보안 강화

Why Cursor Keeps Generating Wildcard CORS -- And How to Fix It

Charles Kern2026년 4월 11일4intermediate

Context

AI 에디터가 학습 데이터 기반으로 기능 구현에만 최적화된 cors() 기본 설정을 제안함에 따른 보안 취약점 발생. 특히 Access-Control-Allow-Origin: * 설정으로 인해 세션 토큰을 사용하는 API가 Cross-site Request 공격에 노출되는 구조적 한계 존재.

Technical Solution

  • 환경 변수 기반의 Explicit Origin Allowlist 도입을 통한 도메인 접근 제어
  • Request Header의 Origin 값을 검증하여 일치하는 경우에만 해당 Origin을 응답 헤더에 동적으로 반영하는 로직 설계
  • Credentials: true 설정 시 Wildcard Origin 사용이 불가능한 브라우저 제약을 해결하기 위해 검증된 Origin을 Echo-back 하는 방식 채택
  • Server-to-Server 요청 처리를 위해 Origin 헤더 부재 시의 예외 처리 로직 추가
  • Semgrep 정적 분석 룰을 파이프라인에 통합하여 cors()origin: '*' 패턴의 코드 배포를 원천 차단하는 가드레일 구축

- AI 생성 코드 내 `cors()` 기본 호출문 존재 여부 확인 - .env 파일에 ALLOWED_ORIGINS 리스트 정의 및 콤마 구분자 기반 파싱 로직 적용 - Credentials 옵션 사용 시 Wildcard(*) 설정이 아닌 Explicit Origin 검증 로직 적용 여부 검토 - Semgrep 또는 Pre-commit hook을 통한 Permissive CORS 설정 자동 탐지 설정

원문 읽기