피드로 돌아가기
GitHub BlogGitHub Blog
DevOps

GitHub Actions가 2026 로드맵을 통해 워크플로우 의존성 잠금, 정책 기반 실행 제어, 네트워크 경계 강화로 소프트웨어 공급망 공격 벡터 3가지를 동시에 차단

What’s coming to our GitHub Actions 2026 security roadmap

Greg Ose2026년 3월 26일10intermediate

Context

CI/CD 자동화 자체가 공격 대상이 되면서 변경 가능한 의존성 참조(태그, 브랜치)로 인한 즉시 전파, 과도한 권한 자격증명 노출, 워크플로우 실행에 대한 관찰 및 제어 부재 문제가 발생하고 있다. 최근 tj-actions/changed-files, Nx, trivy-action 같은 프로젝트 공격 사례에서 워크플로우 변조가 수천 개 저장소로 확산되는 패턴이 반복되고 있다.

Technical Solution

  • 워크플로우 YAML에 dependencies: 섹션 추가: 모든 직접 및 전이 의존성을 커밋 SHA로 잠금하여 Go의 go.mod + go.sum 방식의 재현성과 감사 가능성 제공
  • 정책 기반 실행 보호 도입: GitHub 룰셋 프레임워크 기반으로 액터(개별 사용자, 관리자, GitHub Apps, Dependabot)와 이벤트(push, pull_request, workflow_dispatch)를 중앙에서 제어
  • 네트워크 경계 강화: CI/CD 러너에서 아웃바운드 트래픽을 화이트리스트 기반으로 모니터링 및 강제 차단하는 정책 적용
  • 변경 불가능한 퍼블리싱 표준: 액션 생성 시 변경 가능한 태그 대신 불변 릴리스로 전환하여 생태계 진입 지점 일원화
  • 러너 가시성 확장: 프로세스 레벨 가시성, 파일 시스템 모니터링, 실행 신호 수집으로 러너를 일회용 블랙박스 대신 관찰 가능한 엔드포인트로 변환

Impact

아티클에 정량적 성능 개선 수치가 명시되지 않음.

Key Takeaway

소프트웨어 공급망 보안은 단일 계층(의존성 관리 또는 접근 제어)이 아닌 생태계-공격 표면-인프라 3계층 동시 강화를 통해서만 달성 가능하며, 구성 실수를 줄이려면 분산된 YAML 기반 설정 대신 중앙 정책을 기본값으로 설정해야 한다.


GitHub Actions를 사용하는 엔지니어링 팀에서 2026년 이후 워크플로우 의존성 잠금 파일(go.mod 형태)을 도입하면 pull request 단계에서 모든 의존성 변경을 검토 가능하게 만들 수 있고, 정책 기반 실행 제어로 리뷰어 권한이 없는 기여자의 민감한 배포 워크플로우 수동 실행을 원천 차단할 수 있으며, 네트워크 정책 강제 적용으로 credential 탈취 시에도 사전 승인된 목적지로만 통신 제한이 가능하다.

원문 읽기