프로덕션 감사은(는) 무엇을 하나요?
이 스킬은 사용자가 애플리케이션이 출시 준비가 되었는지, 프로덕션에서 무엇이 망가질 수 있는지, 또는 출시 전에 무엇을 수정해야 하는지 물을 때 사용합니다. 이는 유지 관리자가 안전하게 재구성한 기존 커뮤니티 프로덕션 감사 아이디어로, 유용한 프로덕션 준비 관점을 유지하고 고정되지 않은 외부 실행 및 타사 데이터 공유를 제거했습니다.
사용 시기
- 사용자가 "이것이 프로덕션 준비가 되었나요?", "프로덕션에서 무엇이 망가질까요?", "무엇을 놓쳤나요?", "이 저장소를 감사해 주세요", "출시 준비가 되었나요?"라고 물을 때
- 기능이 병합되어 배포 전 또는 병합 후 위험 점검이 필요한 경우
- 공개 출시, 데모, 고객 롤아웃 또는 투자자 워크스루가 임박한 경우
- CI는 통과했지만 사용자가 테스트 상태뿐만 아니라 프로덕션 위험을 원하는 경우
- 증거 수집을 위해 배포된 URL, 릴리스 브랜치, PR 또는 현재 체크아웃을 사용할 수 있는 경우
사용하지 말아야 할 시기
- 활발한 구현 중이며 라인 수준의 보안 코딩 관점이 필요한 경우, 먼저
security-review를 사용하세요. - 순수 라이브러리, 템플릿, 문서 전용 저장소 또는 스캐폴드의 경우, 사용자가 애플리케이션 준비보다는 패키징/릴리스 준비를 원하지 않는 한 사용하지 마세요.
- 사용자가 공식 규정 준수 감사를 요청하는 경우. 이 스킬은 엔지니어링 트라이지이며 법적, 재정적, 의료적 또는 규제 인증이 아닙니다.
- 사용 가능한 유일한 증거가 저장소, 배포, CI 또는 런타임 표면이 없는 제품 아이디어인 경우.
작동 방식
로컬 및 사용자가 승인한 증거를 기반으로 감사를 구축합니다. 고정되지 않은 원격 코드를 실행하거나, 저장소 내용을 타사 서비스에 업로드하거나, 외부 스캐너를 호출하지 마십시오(사용자가 특정 도구 및 데이터 흐름을 명시적으로 승인하지 않는 한).
다음 순서를 사용하세요:
- 릴리스 표면을 확립합니다.
- 최근 변경 사항 및 현재 브랜치 상태를 읽습니다.
- 저장소에 실제로 존재하는 런타임, 인증, 데이터, 결제, 백그라운드 작업, AI 및 배포 경계를 검사합니다.
- CI, 테스트, 마이그레이션, 환경 문서 및 롤백 경로를 확인합니다.
- 특정 수정 사항이 포함된 간단한 출시/차단 권장 사항을 생성합니다.
증거 체크리스트
저렴한 로컬 신호로 시작하세요:
git status --short --branch
git log --oneline --decorate -20
git diff --stat origin/main...HEAD
그런 다음 프로젝트별 표면을 검사하세요:
- 패키지 스크립트, CI 워크플로, 릴리스 스크립트, Docker 파일 및 배포 매니페스트.
- API 라우트, 웹훅, 인증 미들웨어, 백그라운드 워커, 크론 작업 및 데이터베이스 마이그레이션.
- 환경 변수 문서 및 시작 시 확인.
- 관찰 가능성 후크, 오류 보고, 로그, 상태 점검 및 대시보드.
- 롤백, 시드, 마이그레이션 및 백필 지침.
- 가장 중요한 사용자 경로에 대한 E2E 커버리지.
배포된 URL이 범위 내에 있는 경우, 해당 URL에 대해서만 브라우저 또는 HTTP 검사를 사용하고 사용자가 안전한 테스트 계정을 제공하지 않는 한 인증된 작업을 피하세요.
위험 관점
보안 및 인증
- 공개 라우트, API 라우트 및 관리자 라우트가 명확하게 분리되어 있습니까?
- 인증 및 권한 부여가 서버 측에서 강제됩니까?
- 비밀이 클라이언트 번들, 로그, 예제 출력 및 체크인된 파일에서 제외되어 있습니까?
- 앱에 필요한 속도 제한, CSRF 보호, CORS 정책 및 업로드 검증이 있습니까?
- AI 또는 에이전트 표면이 프롬프트 인젝션, 도구 남용 및 권한 있는 작업으로의 신뢰할 수 없는 콘텐츠 유입을 방어합니까?
데이터 무결성
- 마이그레이션이 깔끔하게 정방향으로 실행되며 롤백 또는 복구 계획이 있습니까?
- 파괴적인 마이그레이션, 백필 및 데이터 가져오기가 안전하게 단계화되어 있습니까?
- 데이터베이스 정책, 권한 및 서비스 역할 경계가 앱의 테넌시 모델과 일치합니까?
- 쓰기, 작업 및 웹훅 핸들러에 대한 재시도가 멱등적입니까?
결제 및 웹훅
- 웹훅 서명이 신뢰할 수 있는 페이로드 필드를 구문 분석하기 전에 확인됩니까?
- 각 결제, 구독 또는 이행 웹훅이 멱등적입니까?
- 재생, 중복 전달 및 순서가 잘못된 전달이 처리됩니까?
- 테스트 모드와 라이브 모드 자격 증명이 분리되어 있습니까?
운영
- 앱이 문서화된 명령어로 깔끔한 체크아웃에서 시작할 수 있습니까?
- 필수 환경 변수가 명명되고, 검증되며, 실패 시 빠르게 중단됩니까?
- 종속성에 연결 가능함을 증명하는 상태 점검이 있습니까?
- 배포, 롤백 및 인시던트 책임자 경로가 문서화되어 있습니까?
- 로그가 비밀 또는 개인 데이터를 유출하지 않고 유용합니까?
사용자 경험
- 출시에 중요한 경로가 데스크톱과 모바일에서 모두 커버됩니까?
- 모바일에서 양식이 입력 확대, 레이아웃 겹침 또는 제출 상태 차단 없이 사용 가능합니까?
- 로딩, 빈, 오류 및 권한 거부 상태가 사용자에게 무슨 일이 일어났는지 알려줍니까?
- 중요한 작업이 실패할 때 지원 또는 복구 경로가 있습니까?
점수 매기기
점수는 수학적 확실성을 암시하는 것이 아니라 우선순위를 강제하는 데 사용하세요.
| 구간 | 점수 | 의미 |
|---|---|---|
| 차단됨 | 0-49 | 최상위 위험이 수정될 때까지 출시하지 마세요 |
| 위험 | 50-69 | 소규모 롤아웃 또는 내부 베타 뒤에만 출시하세요 |
| 주의 사항과 함께 출시 가능 | 70-84 | 소유자가 나열된 위험을 수락하면 출시하세요 |
| 강력함 | 85-100 | 사용 가능한 증거에서 명백한 출시 차단 요인 없음 |
다음 중 하나라도 해당되면 점수를 69로 제한하세요:
- 중요한 데이터에 인증 또는 권한 부여가 누락되었습니다.
- 결제 또는 이행 웹훅이 멱등적이지 않습니다.
- 필수 마이그레이션을 안전하게 실행할 수 없습니다.
- 비밀이 클라이언트 번들, 로그 또는 커밋된 파일에 노출되었습니다.
- 영향이 큰 릴리스에 대한 롤백 경로가 없습니다.
CI가 녹색이 아니거나 출시에 중요한 경로가 종단 간 테스트되지 않은 경우 점수를 84로 제한하세요.
출력 형식
한 문장으로 시작하세요:
프로덕션 감사: 76/100, 주의 사항과 함께 출시 가능, 공개 출시 전에 수정해야 할 두 가지 위험은 웹훅 멱등성과 롤백 문서입니다.
그런 다음 다음을 나열하세요:
차단: 배포 전에 반드시 수정해야 할 항목.고가치 수정: 사용자가 점수를 개선하려는 경우 다음 수정 사항.확인된 증거: 검사한 파일, 명령어, CI, 배포된 URL 또는 PR.누락된 증거: 제공된다면 신뢰도를 변경할 항목.다음 조치: 하나의 구체적인 수정 또는 확인 단계.
강점은 간략하게 유지하세요. 사용자는 준비 상태를 물었으므로 유용한 답변은 남은 위험과 다음 조치입니다.
예시
사용자:
이것이 출시 준비가 되었나요?
응답:
프로덕션 감사: 68/100, 위험, Stripe 웹훅이 확인되었지만 멱등적이지 않고 보류 중인 마이그레이션에 대한 롤백 메모가 없기 때문입니다.
차단:
- 주문을 이행하기 전에 `checkout.session.completed`에 대한 멱등성을 추가하세요.
- `20260511_add_billing_state.sql`에 대한 롤백 경로를 작성하고 테스트하세요.
고가치 수정:
- 데이터베이스 및 결제 제공자 연결 가능성을 확인하는 상태 점검을 추가하세요.
- 업그레이드, 웹훅 이행 및 청구 페이지 새로 고침에 대한 하나의 E2E 경로를 추가하세요.
확인된 증거:
- `api/stripe/webhook.ts`
- `db/migrations/20260511_add_billing_state.sql`
- 릴리스 브랜치에 대한 GitHub Actions 실행
다음 조치: 먼저 웹훅 멱등성을 패치할까요?
안티 패턴
- 기본 감사 경로로
npx <package>@latest또는 원격 스캐너를 실행합니다. - 명시적 승인 없이 소스, 비밀, 고객 데이터 또는 개인 토폴로지를 외부 감사 서비스에 업로드합니다.
- 확인된 증거를 명명하지 않고 점수를 생성합니다.
- 녹색 CI를 프로덕션 준비 상태로 취급합니다.
- 일반적인 "무엇을 하고 싶은지 알려주세요"로 끝납니다.
참고
- 스킬:
security-review - 스킬:
deployment-patterns - 스킬:
e2e-testing - 스킬:
tdd-workflow - 스킬:
verification-loop