Nest 보안 경계
요청이 들어오고 응답이 나갈 때 확인 지점이 다르다
출처, 쿠키, 상태 변경, Body 입력, 출력, 헤더를 순서대로 보면 CORS/CSRF/XSS 누락을 줄일 수 있다.
1
요청 출처
허용 origin, method, header만 통과시킨다.
2
세션 쿠키
SameSite, Secure, HttpOnly를 확인한다.
3
쓰기 요청
POST/PATCH/DELETE는 CSRF 토큰을 요구한다.
4
Body 입력
DTO 검증과 whitelist로 예상 필드만 받는다.
5
출력
HTML/텍스트 출력은 이스케이프하거나 sanitize한다.
6
응답 헤더
helmet과 CSP로 브라우저 실행 범위를 제한한다.
통과 신호
허용 출처, 쓰기 요청 토큰, DTO 검증, 출력 인코딩이 모두 보인다
각 경계에 방어선과 확인 값이 남아야 한다.
위험 신호
origin 전체 허용, 자동 첨부 쿠키, 검증 없는 body, 직접 HTML 출력
하나라도 남으면 CORS/CSRF/XSS 중 다른 층에서 사고가 날 수 있다.