본문 바로가기
github

GitHub Actions 2026 보안 로드맵, 실무에서 뭐가 달라지나

by bamsik 2026. 3. 29.
반응형

GitHub Actions 2026 보안 로드맵, 실무에서 뭐가 달라지나

GitHub이 최근 2026년 Actions 보안 로드맵을 공개했다. CI/CD를 GitHub Actions로 돌리고 있다면 그냥 지나치기 어렵다. 보안 강화 방향이 실무에 꽤 직접적인 영향을 미치는 내용들이라, 미리 파악해두면 대응이 편하다.

핵심 변화 세 가지

1. 결정적 실행 (Deterministic Runs)

워크플로우가 리뷰된 것과 정확히 동일하게 실행되는 게 목표다. 지금은 써드파티 Action을 uses: action/checkout@v4처럼 태그로 지정하면 해당 태그가 가리키는 커밋이 바뀔 수 있다. 공격자가 태그를 갈아치우면 심각한 공급망 공격이 된다.

앞으로는 해시 불일치가 발생하면 실행 전에 중단된다. 의존하는 Action에 변경이 생기면 PR 단위 diff로 확인할 수 있게 바뀐다. 코드 리뷰처럼 워크플로우 의존성 변경도 리뷰하는 구조다.

# 현재 방식 (취약)
uses: actions/checkout@v4

# 권장 방식 (해시 고정)
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4

2. 정책 기반 권한 제어

조직 또는 레포 단위로 어떤 Action과 재사용 가능한 워크플로우를 허용할지 정의하는 기능이 강화됐다. 검증된 게시자 또는 특정 조직에서 만든 Action만 허용하거나, 허용 목록을 직접 관리할 수 있다.

최소 권한 원칙 적용이 훨씬 쉬워진다. 지금까지는 팀마다 제각각이던 걸 정책으로 일관되게 강제할 수 있게 된다.

3. CI/CD 가시성 향상

어떤 워크플로우가 언제 어떤 권한으로 실행됐는지 추적하기 어려웠는데, 이제 관찰 가능성(observability)을 강화하는 방향으로 가고 있다. 공급망 보안 감사가 더 수월해질 거라는 기대가 크다.

3월 업데이트에서 바로 쓸 수 있는 것

타임존 지원 (cron 스케줄)

드디어 cron 스케줄에 타임존을 지정할 수 있게 됐다. UTC 계산하다 한 번씩 실수한 경험이 있다면 반가운 소식이다.

on:
  schedule:
    - cron: '0 9 * * 1'
      timezone: 'Asia/Seoul'  # 이제 이게 된다!

KST 기준 오전 9시에 월요일마다 실행하고 싶으면 그냥 쓰면 된다. UTC 변환 실수할 일이 없어진다.

지금 당장 할 수 있는 보안 강화

로드맵 기능이 나오기 전에도 이미 할 수 있는 것들이 있다:

  • 써드파티 Action 해시 고정: @v3 대신 커밋 해시 사용
  • 권한 최소화: 워크플로우에 permissions: read-all 또는 필요한 권한만 명시
  • 시크릿 범위 제한: 레포 단위가 아닌 환경(Environment) 단위로 시크릿 관리
  • 풀 리퀘스트 트리거 주의: pull_request_target은 외부 기여자 코드에 시크릿 노출 위험 있음

느낀 것

GitHub이 Actions 보안에 이 정도 투자를 하는 건, 소프트웨어 공급망 공격이 그만큼 실질적인 위협이 됐기 때문이다. XZ Utils 사건처럼 의존성 체인을 타고 들어오는 공격은 이미 현실이 됐다.

사실 "해시 고정" 같은 건 예전부터 권장됐는데 귀찮다는 이유로 많이 무시됐다. 이번에 정책으로 강제되는 방향이 되면, 그냥 따라가는 수밖에 없겠지만 — 결과적으로는 더 안전한 CI/CD 환경이 만들어지는 거니까 나쁘지 않다고 본다.


📎 참고 자료

반응형