체크리스트
비밀값과 권한 관리를 모든 저장소에 바로 적용할 수 있게 체크리스트로 압축했어. 대부분 팀은 첫 감사에서 10개 항목 중 5개만 통과하지.
- GITHUB_TOKEN 조직 기본값이 제한(restricted, read-all) 상태여야 해. 조직 설정에서 Actions → 워크플로 권한(Workflow permissions)으로 가서 설정해.
- 모든 워크플로에 명시적인
permissions:가 있어야 해. 최상위 단계에 두고 기본은 읽기로 잡아. - 서드파티 액션은 커밋 SHA로 고정해. — 직접 소유하지 않은 액션은 태그에만 의존하면 안 돼.
- 클라우드 인증은 OIDC를 써. — AWS, GCP, Azure에 장기 키를 두지 마.
- 프로덕션 환경에 필수 리뷰어와 브랜치 정책을 적용해.
- 비밀값 스캐닝과 푸시 보호를 저장소에서 켜.
- 어느 곳에서든
pull_request_target과 PR head SHA 체크아웃을 같이 쓰지 마. - Dependabot 버전 업데이트를 켜고 보안 패치는 자동으로 병합해.
- CodeQL 워크플로가 있고 매주 실행되어야 해.
- 비밀값 순환 절차를 문서화해. — 언제 할지(분기마다), 어떻게 할지(제공자에서 순환 후 저장소 업데이트), 그리고 최소 한 번은 테스트해 봐.