사이트 간 요청 위조
사용자가 로그인한 상태를 악용해, 공격자가 다른 사이트에서 원치 않는 요청을 대신 보내게 만드는 공격이다. 쿠키 기반 로그인은 브라우저가 쿠키를 자동으로 붙여 보내기 때문에, 방어가 없으면 사용자가 모르는 사이에 설정 변경이나 결제 같은 요청이 실행될 수 있다. 방어 방법은 CSRF 토큰, SameSite 쿠키, 중요한 요청의 재확인, Origin/Referer 검증 등이 있다. AI에게 폼 제출이나 관리자 API를 만들게 할 때 '쿠키 인증이면 CSRF 방어도 포함해줘'라고 명시해야 한다.
예시
프로필 이메일 변경 폼을 만들 때 서버가 CSRF 값을 발급하고, 제출 요청에는 같은 값이 포함되어야만 처리한다. AI가 POST 라우트만 생성했다면 SameSite 쿠키 설정과 Origin 검증이 있는지 함께 확인한다.
참고
API가 Authorization 헤더만 사용하고 쿠키를 쓰지 않는 경우에는 위험 모델이 달라진다.
카테고리
보안·인증
난이도
basic
태그
CSRF · 웹보안
함께 읽기
연관 용어
보안·인증
쿠키
웹사이트가 브라우저에 저장해 두는 작은 데이터 조각이다. 로그인 상태 유지, 장바구니, 언어 설정처럼 다음 방문에도 기억해야 하는 정보를 담을 때 쓰인다. 편리하지만 인증 쿠키를 잘못 다루면 계정 탈취 위험이 생기므로 httpOnly, secure, sameSite 같은 보안 옵션을 함께 이해해야 한다.
보안·인증
세션
사용자가 사이트에 접속해 있는 동안 서버가 유지하는 상태 정보이다. 보통 브라우저에는 세션 ID만 쿠키로 저장하고, 실제 로그인 사용자 정보와 권한은 서버나 데이터베이스에 둔다. 바이브 코딩에서 로그인 기능을 만들 때 세션과 쿠키의 차이를 이해하면 민감한 사용자 정보를 브라우저에 과도하게 저장하는 실수를 줄일 수 있다.
보안·인증
교차 출처 리소스 공유
브라우저가 한 출처의 웹 페이지에서 다른 출처의 API를 호출할 때 적용하는 보안 규칙이다. 프론트엔드와 백엔드 도메인이 다르면 서버가 어떤 출처를 허용하는지 응답 헤더로 알려줘야 한다. 바이브 코딩 초보자가 '브라우저에서는 막히는데 터미널 curl은 된다'는 상황을 만날 때 CORS가 원인인 경우가 많다.