bibimbap/CLAUDE.md

1.6 KiB

CLAUDE.md

이 파일은 AI 코딩 에이전트가 bibimbap 프로젝트에서 작업할 때 따를 프로젝트 지침이다.

프로젝트 개요

  • Java 21, Spring Boot, JSP, MyBatis 기반 WAR 애플리케이션이다.
  • 화면은 /WEB-INF/views/*.jsp를 사용한다.
  • DB 접근은 annotation 기반 MyBatis mapper를 사용한다.
  • 업로드된 프로필 이미지는 /profile/**, 게임 WebGL asset은 /game/{gameUuid}/**로 제공된다.

작업 원칙

  • 사용자 변경을 보호한다. 작업 전후로 git status --short를 확인한다.
  • 검색은 우선 rg를 사용한다.
  • 문서-only 분석 요청에서는 src/pom.xml을 수정하지 않는다.
  • 보안 발견 사항은 docs/analysis/file:line 근거와 함께 기록한다.
  • 보안 개선 작업은 docs/security/security-remediation-checklist.md의 완료 조건을 기준으로 분리한다.

보안 원칙

  • 상태 변경 요청은 CSRF 검증을 적용한다.
  • MyBatis SQL은 #{} 바인딩을 사용하고 ${} 동적 치환을 피한다.
  • 업로드 파일은 크기, 타입, normalize된 저장 경로 boundary를 모두 검증한다.
  • JSP 출력은 HtmlUtils.htmlEscape 또는 JSTL escape를 사용한다.
  • 클라이언트 렌더링은 가능한 textContent를 사용한다.
  • 세션 관련 변경은 세션 고정 방어와 쿠키 하드닝을 함께 확인한다.

문서 위치

  • 문서 인덱스: docs/index.md
  • 최신 프로젝트 분석: docs/analysis/2026-06-16-project-analysis.md
  • 보안 개선 체크리스트: docs/security/security-remediation-checklist.md