본문 바로가기
프롬프트

PR·코드 리뷰 체크리스트 프롬프트 (보안·성능·가독성) 복붙 템플릿

by ILoveMuMu 2026. 9. 23.
728x90
반응형

바쁘면 코드 리뷰가 "LGTM"으로 끝납니다. 아래 프롬프트는 보안·성능·가독성·테스트를 빠짐없이 보는 PR 리뷰 체크리스트를 AI에게 맡기는 복붙 템플릿입니다.

언제 쓰면 좋은가

  • PR diff가 길어서 1차 자동 리뷰가 필요할 때
  • 주니어·크로스팀 PR에 공통 기준을 적용하고 싶을 때
  • 보안/개인정보 관련 변경을 실수 없이 걸러야 할 때
  • 리뷰어 시간을 아껴 "사람 리뷰는 설계·비즈니스 로직"에 집중하고 싶을 때

변수

  • {{REPO_CONTEXT}} — 언어/프레임워크/아키텍처 한 줄
  • {{PR_TITLE}} · {{PR_DESCRIPTION}}
  • {{DIFF_OR_FILES}} — diff 또는 변경 파일 내용
  • {{RISK_LEVEL}} — low|medium|high (인증, 결제, 마이그레이션이면 high)
  • {{STYLE_GUIDE}} — 팀 컨벤션 요약(없으면 "일반 모범사례")

복붙용 프롬프트

당신은 시니어 스태프 엔지니어이자 AppSec 리뷰어입니다.
아래 PR을 **보안·성능·가독성·테스트·운영** 관점에서 리뷰하세요.

# 프로젝트
{{REPO_CONTEXT}}
스타일: {{STYLE_GUIDE}}
위험도 힌트: {{RISK_LEVEL}}

# PR
제목: {{PR_TITLE}}
설명: {{PR_DESCRIPTION}}

# 변경 내용
{{DIFF_OR_FILES}}

# 리뷰 규칙
1. 칭찬만 하지 말고, **차단급(Blocker) / 중요(Major) / 제안(Nit)** 으로 등급
2. 각 이슈에 파일경로:라인(가능하면), 문제, 왜 문제인지, 수정 예시 코드 포함
3. 보안 체크리스트를 반드시 통과/실패로 표기:
   - 인증·인가 우회, IDOR
   - 입력 검증·SQL/Command/XSS 인젝션
   - 시크릿·토큰·PII 로그 유출
   - SSRF, 경로순회, 안전하지 않은 역직렬화
   - 의존성/라이선스 위험(보이는 범위)
4. 성능: N+1, 불필요 동기 I/O, 핫패스 할당, 캐시 무효화, 페이징 부재
5. 가독성: 이름, 복잡도, 중복, 에러 메시지, 주석 필요성
6. 테스트: 누락된 경계 조건, 회귀 테스트 제안
7. 확신이 낮으면 Confidence를 명시하고 추측성 단정 금지
8. 마지막에 **Merge 권고**: Approve / Request changes / Comment only
9. 한국어로 작성. 코드 식별자는 원문 유지.

# 출력 형식
## Summary (3줄)
## Blockers
## Major
## Nits
## Security Checklist (Pass/Fail 표)
## Performance Notes
## Test Plan 제안
## Merge Recommendation

예시 입력 (요약)

REPO: Node.js Express + Postgres, 결제 웹훅 서비스
PR: 웹훅 서명 검증 추가 및 재시도 큐 도입
DIFF 요지:
- crypto.timingSafeEqual로 서명 비교
- raw body 미사용, JSON.stringify 재직렬화 후 해시
- 실패 시 console.log(req.body) (카드 일부 포함 가능)
- 재시도 while(true) 동기 루프, 백오프 없음

예시 출력 (발췌)

## Summary
서명 검증 방향은 올바르지만 raw body 미사용으로 검증이 깨질 수 있고, PII 로깅·동기 재시도가 Blocker입니다.

## Blockers
1) 웹훅 서명: JSON 재직렬화 해시 → 공급자 원문과 불일치 가능. raw body 버퍼로 검증하세요.
2) console.log(req.body): 결제 PII 유출. 구조화 로그+마스킹으로 교체.
3) while(true) 재시도: 이벤트 루프 블로킹. 큐(SQS/Bull) + 지수 백오프 필요.

## Security Checklist
- 시크릿/PII 로그: Fail
- 입력검증: Pass(부분)
...
## Merge Recommendation
Request changes

  • 큰 PR은 파일별로 나눠 여러 번 돌리세요.
  • RISK_LEVEL=high면 "가정 위협 모델 3줄"을 추가 요청하세요.
  • 팀 공통 프롬프트를 PR 템플릿 링크에 붙여 두면 리뷰 품질이 균일해집니다.
  • AI 리뷰는 보조입니다. 권한·스키마 변경은 사람이 최종 확인하세요.

FAQ

Q. diff가 토큰 한도를 넘으면?
A. 리스크 높은 파일(auth, db, payment)만 먼저 넣고, 나머지는 요약+파일목록으로 2차 리뷰하세요.

Q. 여러 언어 모노레포는?
A. REPO_CONTEXT에 패키지 경로와 언어를 명시하고 "패키지 밖 가정 금지"를 추가하세요.

핵심 정리

  • 보안 체크리스트를 Pass/Fail로 강제하면 리뷰 누락이 줄어듭니다
  • Blocker/Major/Nit 등급이 리뷰 대화를 빠르게 만듭니다
  • 수정 예시 코드까지 받으면 반영 속도가 올라갑니다
728x90
반응형