GitHub Actions OIDC 토큰, 불변 식별자로 보안 UP!

by DD
1개월 전
조회수 8

기존 GitHub Actions OIDC 토큰은 재사용 가능한 식별자를 사용하여 보안 취약점(Security Vulnerability)을 야기함

새로운 불변 식별자(Immutable Identifier) 형식을 도입하여 토큰의 무결성(Token Integrity)을 보장하고, 권한 오용 가능성을 차단함

2026년 6월 18일부터 신규 생성 및 이름 변경된 모든 레포지토리에 새로운 형식 자동 적용(Automatic Enforcement)

기존 레포지토리도 UI 및 API를 통해 선택적으로 적용(Opt-in) 가능하며, GitHub Enterprise Server(GHES)는 해당 사항 없음

OIDC 토큰의 취약점과 불변 식별자 도입 배경

본문에 따르면 기존 GitHub Actions OIDC 토큰은 레포지토리 이름 변경 시 토큰 재사용(Token Reuse)으로 인한 보안 문제가 발생할 수 있었다.

문제 상황: 레포지토리 이름 재사용 시, 악의적인 사용자가 동일한 주체(Subject) 클레임을 가진 토큰을 발급하여 클라우드 자원 접근 권한 획득(Cloud Resource Access)

해결 방안: 레포지토리 ID와 소유자 ID를 추가하여 토큰의 고유성(Token Uniqueness)을 보장하고, 토큰 탈취 시에도 권한 오용을 방지

영향: AWS, Azure, GCP 등 클라우드 환경에서 GitHub Actions를 사용하는 경우, 보안 정책(Security Policy) 업데이트가 필요하다.

불변 식별자 형식 및 적용 방법

GitHub Actions OIDC 토큰의 새로운 불변 식별자 형식은 레포지토리 ID와 소유자 ID를 포함하여 토큰의 식별성을 강화한다.

새로운 형식: `repo:<owner-id>/<repo-id>:ref:<ref>`와 같이, 레포지토리 이름 대신 고유 ID를 사용

적용 시점: 2026년 6월 18일부터 신규 레포지토리 및 이름 변경 시 자동 적용

기존 레포지토리 적용: UI 또는 API를 통해 선택적으로 적용(Opt-in) 가능하며, 클라우드 공급자(Cloud Provider)의 신뢰 정책(Trust Policy) 업데이트 필요

결과적으로, 불변 식별자 도입은 GitHub Actions를 사용하는 모든 사용자에게 보안 강화(Security Enhancement)를 제공한다.

클라우드 공급자(Cloud Provider) 신뢰 정책 업데이트

새로운 OIDC 토큰 형식을 사용하기 위해서는 AWS, Azure, GCP 등 클라우드 공급자의 신뢰 정책(Trust Policy) 업데이트가 필수적이다.

신뢰 정책 업데이트: 기존의 레포지토리 이름 기반 신뢰 설정을 레포지토리 ID 기반으로 변경

테스트: 새로운 형식을 미리 확인하고, 테스트 환경(Test Environment)에서 검증 후 프로덕션 환경에 적용

주의 사항: 신뢰 정책 업데이트 시, 기존 워크플로우(Workflow)에 영향이 없는지 꼼꼼히 확인

클라우드 환경에서 GitHub Actions를 사용하는 경우, 지속적인 보안 관리(Continuous Security Management)를 통해 안전한 환경을 유지해야 한다.

GitHub Enterprise Server(GHES) 미적용 및 향후 전망

본문에 따르면 이번 변경 사항은 github.com에만 적용되며, GitHub Enterprise Server(GHES)는 해당되지 않는다.

GHES 미적용 이유: github.com과 GHES의 OIDC 토큰 발급 방식(Token Issuance Method) 차이로 인한 기술적 제약

향후 전망: GitHub Actions의 보안 강화는 지속적으로 이루어질 것이며, OIDC 외에도 다양한 보안 기술이 도입될 것으로 예상

시사점: 클라우드 환경에서 GitHub Actions를 사용하는 경우, 최신 보안 권고 사항(Security Best Practices)을 지속적으로 확인하고 적용해야 한다.

결론적으로, github.com 사용자는 이번 변경 사항을 통해 더욱 안전한 워크플로우(Workflow)를 구축할 수 있다.

Immutable subject claims for GitHub Actions OIDC tokens

댓글 0

첫 번째 댓글을 남겨보세요!