기술 설명
2026년 5월 18일, 'Megalodon'이라 명명된 대규모 자동화 공급망 캠페인이 6시간 동안 5,561개의 GitHub 저장소에 5,718개의 악성 커밋을 푸시했습니다. 위조된 봇 스타일 작성자 ID(build-bot, auto-ci, ci-bot, pipeline-bot)를 사용한 일회용 계정으로, 공격자들은 base64 인코딩된 bash 페이로드를 담은 악성 GitHub Actions 워크플로우 파일을 주입했습니다. 다음 CI 파이프라인 실행 시 CI 환경 변수, AWS 자격증명, GCP 액세스 토큰, Azure 자격증명, SSH 개인 키, Docker/Kubernetes 설정, npm 토큰 및 GitHub Actions OIDC 토큰을 C2 서버로 유출합니다. 이 캠페인은 또한 Tiledesk npm 패키지(@tiledesk/tiledesk-server 버전 2.18.6–2.18.12)를 손상시켜 npm 레지스트리를 통해 백도어를 하류로 전파했습니다. 공격 기법은 MITRE ATT&CK T1195.002(공급망 손상)에 해당합니다.
공격 경로
직접 감염된 파이프라인 실행(d-PPE): 쓰기 접근 권한이 있는 공격자(또는 약한 분기 보호가 있는 수락된 PR)가 악성 워크플로우 YAML을 기본 분기에 직접 푸시합니다. 워크플로우는 push 또는 pull_request_target 이벤트에서 트리거되어 다음 CI 실행 시 모든 비밀을 유출합니다. 두 번째 변형은 GitHub API를 통해 workflow_dispatch를 사용하여 휴면 백도어를 활성화합니다. OIDC 토큰 탈취 벡터는 특히 심각합니다: 올바르게 범위가 지정된 저장소는 악성 워크플로우가 수명이 짧은 클라우드 ID 토큰을 발급하여 정적 자격증명 없이 클라우드 액세스를 부여할 수 있습니다.
영향받는 시스템
5,561개 이상의 GitHub 저장소가 기본 분기에서 필수 PR 검토 부족; Tiledesk npm 패키지 버전 2.18.6–2.18.12; CI/CD 러너가 클라우드 자격증명 또는 OIDC 페더레이션에 액세스하는 모든 조직입니다. GitHub Actions를 모델 훈련, 데이터셋 처리 또는 에이전트 배포에 사용하는 AI 개발 파이프라인은 직접 범위에 포함됩니다.
완화 방안
1) build-system@noreply.dev 또는 ci-bot@automated.dev의 2026년 5월 18일 커밋에 대해 저장소를 검색합니다; 2) .github/workflows/에서 'SysDiag' 또는 'Optimize-Build' 워크플로우 이름을 감사합니다; 3) 216.126.225.129:8443에서 C2를 차단합니다; 4) 영향을 받은 저장소에 대해 모든 비밀, 클라우드 키, SSH 키 및 OIDC 신뢰 정책을 회전합니다; 5) @tiledesk/tiledesk-server 버전 2.18.6–2.18.12를 제거합니다; 6) 모든 기본 분기에 필수 PR 검토를 적용합니다; 7) OIDC 신뢰 정책을 특정 분기 및 환경으로 제한합니다. SafeDep는 5,718개의 악성 커밋 해시 전체 목록을 발표했습니다.