Awesome-omni-skill deploy-script-review
배포 스크립트의 보안·안전성 리뷰를 수행한다. 롤백 절차, 장애 대응, 권한 설정을 점검한다.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/devops/deploy-script-review" ~/.claude/skills/diegosouzapw-awesome-omni-skill-deploy-script-review && rm -rf "$T"
manifest:
skills/devops/deploy-script-review/SKILL.mdsource content
당신은 신중한 시니어 엔지니어다. $ARGUMENTS 를 대상으로 아래 작업을 수행하라.
목적
배포 스크립트 및 배포 설정을 안전성 관점에서 리뷰한다.
롤백 절차의 완성도, 에러 처리, 권한 설정, 비밀 정보 관리, 멱등성을 점검하고, 운영(프로덕션) 배포 시 발생할 수 있는 리스크를 최소화하기 위한 개선안을 제시한다.
입력
- 배포 스크립트 파일 경로 또는 배포 관련 디렉터리 (필수)
- 선택: 대상 환경 (staging / production / 전체 환경)
- 선택: 배포 대상 (웹 애플리케이션, API 서버, 배치 작업 등)
- 선택: 과거 배포 장애 이력
- 정보가 부족하면 사용자에게 질문한다
절차
-
배포 스크립트 전체 구조 파악
- 지정된 스크립트·설정 파일을 Read로 확인
- Glob으로 배포 관련 파일을 전수 조사:
- 셸 스크립트 (
,deploy.sh
등)rollback.sh - Docker 관련 (
,Dockerfile
,docker-compose.yml
)docker-compose.prod.yml - IaC 파일 (
,terraform/
,ansible/
디렉터리)k8s/ - CI/CD 배포 작업 (
내 배포 워크플로).github/workflows/
- 셸 스크립트 (
- 배포 전체 흐름(빌드 → 테스트 → 배포 → 검증)을 정리
-
에러 처리 점검
- Grep으로 아래 항목 검색 후 적절성 평가:
,set -e
(셸 스크립트)set -o pipefail
기반 정리(cleanup) 로직trap- 단계별 반환값 체크
- 타임아웃 설정
- 에러 발생 시 동작 방식 확인 (중단 / 계속 / 알림 / 롤백)
- 일부만 성공한 상태(부분 배포)에 대한 대응 여부 확인
- Grep으로 아래 항목 검색 후 적절성 평가:
-
롤백 절차 검증
- 롤백 스크립트 또는 문서 존재 여부 확인
- 다음 조건 충족 여부 점검:
- 이전 버전으로 되돌리는 방법이 구체적으로 정의되어 있는가
- DB 마이그레이션 롤백이 고려되어 있는가
- 롤백 실패 시 대응 방안이 정의되어 있는가
- 롤백 후 데이터 정합성이 보장되는가
- 롤백 실행 조건 확인 (자동 / 수동 / 헬스체크 연동)
-
보안 점검
- Grep으로 다음 보안 리스크 탐지:
- 비밀 정보 하드코딩 (비밀번호, 토큰, 연결 문자열)
- 과도한 권한 사용 (root 실행, chmod 777, 와일드카드 과다 사용)
- 암호화되지 않은 통신 (HTTP, 암호화 없는 연결 문자열)
- 로그에 비밀 정보 출력
- 환경 변수 및 시크릿 관리 방식 점검
- 실행 사용자 권한이 최소 권한 원칙을 따르는지 확인
- Grep으로 다음 보안 리스크 탐지:
-
멱등성 및 신뢰성 점검
- 동일 스크립트를 여러 번 실행해도 안전한지 검증
- 다음 항목 확인:
- 파일 덮어쓰기·삭제가 안전하게 수행되는가
- DB 마이그레이션이 중복 실행되지 않는가
- 프로세스 중지·기동 시 충돌 가능성은 없는가
- 무중단 배포 구조 존재 여부 (블루그린, 롤링, 카나리 등)
- 헬스체크 및 스모크 테스트 존재 여부 및 실행 시점 확인
-
개선안 정리
- 발견된 문제를 중요도 기준으로 분류:
- Critical: 즉시 수정 필요 (비밀 정보 노출, 롤백 불가, 데이터 손실 위험)
- High: 배포 전 수정 권장 (에러 처리 부족, 권한 설정 문제)
- Medium: 개선 권장 (멱등성 강화, 로그 개선, 자동화 보완)
- Low: 모범 사례와의 차이 (주석 부족, 네이밍 일관성)
- 각 항목에 대해 구체적인 수정 방안 제시
- 발견된 문제를 중요도 기준으로 분류:
출력 형식
## 리뷰 대상 - **스크립트/설정**: [리뷰한 파일 목록] - **대상 환경**: [staging/production/전체] - **배포 방식**: [감지된 배포 방식 (블루그린, 롤링 등)] - **종합 리스크 평가**: [낮음/보통/높음/Critical] ## 점검 결과 요약 | 중요도 | 건수 | 주요 문제 | |--------|------|----------| | Critical | [N건] | [요약] | | High | [N건] | [요약] | | Medium | [N건] | [요약] | | Low | [N건] | [요약] | ## 점검 결과 상세 ### Critical #### 1. [문제 제목] - **파일**: [파일경로:라인번호] - **문제**: [문제 내용] - **리스크**: [방치 시 발생 가능 문제] - **개선안**: [구체적 수정 방법] ### High / Medium / Low [동일 형식으로 작성] ## 롤백 평가 - **롤백 절차**: [있음/없음/불완전] - **DB 롤백**: [대응 있음/없음/확인 불가] - **자동 롤백**: [헬스체크 연동 있음/없음] - **개선 제안**: [보완 방안] ## 보안 평가 - **비밀 정보 관리**: [적절/개선 필요(상세)] - **실행 권한**: [최소 권한/과도함(상세)] - **통신 암호화**: [적절/개선 필요(상세)] ## 체크리스트 - [ ] 모든 단계에 에러 처리가 설정되어 있음 - [ ] 롤백 절차가 문서화 및 테스트되어 있음 - [ ] 비밀 정보가 코드에 직접 작성되어 있지 않음 - [ ] 멱등성이 보장됨 - [ ] 배포 후 헬스체크/스모크 테스트 실행됨 - [ ] 배포 각 단계가 로그에 기록됨 - [ ] 실행 권한이 최소 수준으로 설정됨 ## 권장 조치 | 우선순위 | 조치 항목 | 이유 | |----------|-----------|------| | 1 | [가장 먼저 대응할 항목] | [이유] | | 2 | [그 다음 대응 항목] | [이유] | | 3 | [여유 시 대응 항목] | [이유] |
보안 유의사항
- 배포 스크립트를 실행하거나 수정하지 않는다. 읽기 및 분석만 수행한다.
- 발견된 비밀 정보는 그대로 출력하지 않고, 존재 여부와 위치만 보고한다 (예:
).db_password=**** - 운영 환경에 접속을 시도하지 않는다.
,.env
,secrets/
등 비밀 정보 파일은 읽지 않는다.credentials/- 본 리뷰는 정적 분석 기반의 개선 제안이며, 보안을 보장하는 감사 결과는 아니다.
종료 조건
위 출력 형식에 맞춘 배포 스크립트 리뷰 보고서를 작성하면 종료한다. 문제가 중요도별로 분류되어 있고, 롤백 평가·보안 평가·체크리스트·권장 조치가 포함되어 있어야 한다. 스크립트 수정은 사용자의 추가 지시를 기다린다.
이 스킬이 적합하지 않은 경우
- 리뷰 결과만으로 보안을 보장해야 하는 경우: 이 스킬은 정적 분석만 수행한다. 실제 인프라 구성(네트워크, 권한, 시크릿 관리 등)은 별도 검증이 필요하다.
- Kubernetes / Terraform 등 IaC 전문 리뷰가 필요한 경우: 인프라 코드 전문 감사에는 적합하지 않다. 셸 스크립트 기반 배포가 주요 대상이다.