C.W.K.
Stream
Lesson 11 of 12 · published

보안 best practice

~11 min · security, checklist, hardening

Level 0Apprentice
0 XP0/101 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

체크리스트

전체 secrets/permissions track 이 모든 repo 에 돌릴 만한 체크리스트로 응축. 대부분 팀이 첫 audit 에 10 중 5 만 통과해.

  1. GITHUB_TOKEN org default 가 restricted (read-all). Org Settings → Actions → Workflow permissions 에서 설정.
  2. 모든 workflow 가 명시적 permissions: top level, read default.
  3. Third-party action 은 SHA-pin — 소유하지 않은 action 에 떠 있는 tag 안 됨.
  4. Cloud 인증은 OIDC 사용 — AWS / GCP / Azure 에 장기 key 없음.
  5. Production environment 에 required reviewer + branch policy.
  6. Secret scanning + push protection 활성화 repo 에서.
  7. 어디서든 pull_request_target + PR head SHA checkout 없음.
  8. Dependabot 버전 업데이트 활성화 + 보안 패치 자동 merge.
  9. CodeQL workflow 존재하고 매주 실행.
  10. Secret rotation 절차 문서화 — 언제 (분기), 어떻게 (provider rotate + repo 업데이트), 최소 한 번 테스트.

Code

자가-audit 한 줄 — 각 workflow 가 선언하는 permission?·bash
for f in .github/workflows/*.yml; do
  echo "== $f =="
  awk '/^permissions:/,/^[a-z]/ { print }' "$f" | head -10
  echo
done
# Workflows missing top-level permissions: block? They default to whatever
# the org permits. Add explicit permissions:read-all and re-run.

External links

Exercise

Repo 하나 골라. 위 10 항목 체크리스트 점검. 실패한 각 항목 issue 만들고 (아직 고치지 마) security-hardening 태그. 이제 roadmap 있어.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.