피드로 돌아가기
Pinning GitHub Actions to a tag is mass negligence and we all just watched it happen
Dev.toDev.to
Security

Mutable Tag Pinning 제거를 통한 CI/CD Supply Chain 보안 강화

Pinning GitHub Actions to a tag is mass negligence and we all just watched it happen

Aditya Agarwal2026년 4월 18일3intermediate

Context

GitHub Actions 사용 시 관습적으로 적용한 Tag Pinning(@v1 등)의 가변성으로 인한 보안 취약점 노출. Git Tag의 Force-push 가능성에 따라 신뢰하던 Action 코드가 사전 통보 없이 악성 코드로 교체될 수 있는 구조적 한계 존재.

Technical Solution

  • 가변적인 Git Tag 대신 불변성(Immutability)이 보장되는 Full Commit SHA Pinning으로 전환
  • Commit SHA 기반 참조를 통한 Upstream 소스 코드의 강제 변경 및 무단 삽입 원천 차단
  • 가독성 저하 문제 해결을 위한 SHA 옆 Tag 주석 표기 방식 도입
  • Renovate 등 자동화 도구를 통한 SHA 업데이트 및 변경 사항의 PR 기반 Review 프로세스 구축
  • CI Runner 내 저장된 Cloud Credentials 및 Deploy Keys 등 고가치 Secret 유출 경로 차단

1. 모든 Third-party Action의 참조 방식을 @v1 형태에서 Full Commit SHA 형태로 전수 조사 및 교체

2. SHA 업데이트 자동화를 위해 Dependabot 또는 Renovate 설정 적용

3. Action 업데이트 시 단순 버전 상승이 아닌 실제 코드 Diff 확인 절차 수립

4. CI/CD 파이프라인 내 최소 권한 원칙(Principle of Least Privilege)에 따른 Secret 접근 제어 재검토

원문 읽기