핵심 요약
- Novee Security가 Cordyceps라는 명칭의 새로운 CI/CD 워크플로 결함을 공개했다.
- 피해 범위는 300개 이상의 GitHub 저장소로, Microsoft, Google, Apache 등 대형 조직이 포함된다.
- 공격자는 워크플로우를 하이재킹해 저장소 전체 통제 권한을 확보하고 다운스트림 배포를 오염시킬 수 있다.
Cordyceps는 오픈소스 공급망의 빌드 단계 자체를 공격 표적으로 끌어올린 critical exploitable pattern이다.
2026년 6월 24일, Novee Security는 자사가 Cordyceps로 명명한 CI/CD 워크플로 결함이 300개 이상의 GitHub 저장소를 공급망 공격에 노출시키고 있다고 공개했다. 이번 사안은 Microsoft, Google, Apache 같은 대형 조직의 저장소까지 포함해 공격자가 저장소 전체 통제 권한을 확보할 수 있는 critical exploitable pattern으로 평가된다. 본문은 위협 인텔리전스 관점에서 결함의 메커니즘과 기업의 실무 대응 절차를 정리한다.
Cordyceps 취약점의 등장과 개념
Novee Security가 명명한 critical exploitable pattern의 정의
Cordyceps는 Novee Security가 부여한 명칭으로, GitHub Actions 등 CI/CD 워크플로우에서 발생하는 일련의 설정 오류와 권한 남용을 결합한 공격 패턴이다. 기존에는 개별 취약점으로 분류되던 항목들이 워크플로우 파일의 과도한 권한과 외부 트리거 노출이라는 두 축에서 동시에 충족될 때 저장소 장악으로 이어지는 새로운 공격 클래스로 분석된다. 연구진은 이 패턴을 critical exploitable pattern이라 명시하며, 단일 결함 패치만으로는 차단이 어렵다고 지적했다.
기존 CI/CD 공격과 Cordyceps의 차별점
기존 CI/CD 공격은 대부분 시크릿 유출이나 의존성 혼동에 초점을 맞췄다. 반면 Cordyceps는 워크플로우 정의 파일 자체를 1차 표적으로 삼아, 정상적인 빌드 경로 안에서 악성 단계를 주입한다. 이 때문에 코드 서명 검증이나 패키지 해시 검증 절차로 차단하기 어렵다는 점이 특징으로 대조 같은 전통적 탐지 절차가 우회될 수 있다. 즉, 결과물이 아닌 빌드 절차의 무결성을 침해한다는 점에서 공급망 위협의 범주가 확장된 것으로 평가된다.
침해 범위와 피해 저장소 분석
300개 이상 GitHub 저장소 영향과 주요 조직 리스트
| 구분 | 내용 |
|---|---|
| 총 영향 저장소 | 300개 이상 GitHub 저장소 |
| 주요 포함 조직 | Microsoft, Google, Apache 등 대형 조직 |
| 결함 카테고리 | CI/CD workflow weakness |
| 권한 침해 수준 | 저장소 전체 통제 권한 확보 가능 |
| 공개 시점 | 2026-06-24T12:48:11+00:00 |
Novee Security는 공개 자료에서 다수의 유명 조직 저장소가 동일한 패턴을 공유하고 있음을 제시했다. 이는 특정 기업 내부의 보안 부재라기보다는 GitHub Actions 도입 이후 광범위하게 복제된된 워크플로우 템플릿이 동일한 위험을 내포하고 있음을 시사한다.
저장소 전체 통제 권한이 갖는 실질적 위험
저장소 전체 통제 권한은 단순한 코드 변조를 넘어 release 권한, 패키지 배포 토큰, OIDC 신뢰 설정까지 포괄한다. 공격자는 이를 이용해 정상 릴리스에 악성 코드를 삽입하고, 동일 저장소를 의존하는 다운스트림 프로젝트 전반으로 백도어를 전파할 수 있다. 이로 인해 단일 저장소 침해가 수만 개의 파생 프로젝트에 영향을 주는 연쇄 효과가 발생한다.
공격 시나리오와 기술적 흐름
워크플로우 하이재킹 단계별 절차
Cordyceps 공격은 일반적으로 다음 절차로 진행된다. 먼저 공개 저장소에서 워크플로우 YAML 파일의 트리거 조건과 권한 범위를 분석한다. 이후 pull_request_target, workflow_run 등 외부 입력에 민감한 이벤트를 악용해 임의 명령 실행을 유도하고, 발급된 GITHUB_TOKEN의 과도한 권한을 활용해 저장소 설정과 시크릿을 탈취한다. 마지막 단계에서는 워크플로우 정의 자체를 변조해 이후 빌드까지 지속적 통제권을 유지한다.
악성 코드 주입을 통한 다운스트림 배포 영향
워크플로우 장악이 완료되면, 정상 빌드 결과물에 악성 페이로드가 포함된 채 패키지 레지스트리나 컨테이너 이미지로 배포된다. 다운스트림 소비자는 신뢰된 게시자 서명을 확인했기 때문에 자동으로 업데이트를 수용하며, 이 과정에서 엔드포인트 사용자의 자격 증명, 환경 변수, 호스트 권한까지 연쇄 유출된다. 본 시나리오는 SolarWinds 사건과 유사한 장기 잠복형 공급망 침해 패턴과 결이 같다 형태로 전개될 가능성이 있다.
기업의 탐지 및 완화 가이드
GitHub Actions 권한 최소화 및 OIDC 적용
권한 남용을 차단하기 위해 모든 워크플로우의 기본 권한을 read-only로 설정하고, 필요한 단계에서만 명시적 권한을 부여해야 한다. 장기 토큰 대신 OIDC 기반 단기 자격 증명을 채택하고, 환경(environment)별 승인 게이트를 필수로 지정한다. 또한 외부에서 포크된 PR에 대해 pull_request_target 사용을 금지하고 신뢰 가능한 작성자만 워크플로우를 트리거하도록 제한한다.
워크플로우 무결성 모니터링과 SBOM 갱신
워크플로우 YAML 파일에 대한 변경 탐지 알림을 설정하고, GitHub의 required reviewers, CODEOWNERS 정책을 모든 .github/workflows 경로에 적용한다. 빌드 결과물에 대해 SBOM을 자동 생성하고, 패키지 매니페스트와 대조해 비인가 의존성이 포함될 경우 배포를 차단하는 파이프라인을 구성한다. SBOM 데이터는 CISA의 공급망 위험관리 절차와 연계해 주기적으로 갱신한다.
공급망 보안 로드맵 제언
단기 점검 항목과 중장기 거버넌스 구축
단기적으로는 모든 공개 저장소의 워크플로우 권한을 1주일 이내에 점검하고, 미사용 시크릿과 과도한 토큰을 회수한다. 중장기적으로는 Sigstore 기반 서명 검증, SLSA 프레임워크 준수, 그리고 내부 CI/CD 자산에 대한 위협 인텔리전스 수집 체계를 통합한 거버넌스 구축을 권장한다. 본 권고는 Novee Security의 공개 자료와 CISA 공급망 가이드를 토대로 작성되었으며, 조직별 적용 시 추가 위협 모델링이 필요하다.
실무 핵심 정리
- 워크플로우 권한 최소화는 Cordyceps 대응의 1순위 통제이다.
- OIDC와 환경 승인을 조합해 토큰 유효 시간을 단축한다.
- SBOM과 코드 서명 대조는 다운스트림 침해를 조기 차단한다.
- 워크플로우 파일 변경에 대한 승인 체계를 필수로 운영한다.
- 공급망 거버넌스는 단일 결함이 아닌 프로세스 차원에서 설계한다.
참고 출처