기술 설명
5월 13일에 처음 보고된 Mini Shai-Hulud 캠페인의 업데이트: 5월 18일 2026년, 위협 행위자들이 손상된 Personal Access Token과 배포 키를 사용하여 6시간 내에 5,561개의 공개 GitHub 저장소에 5,718개의 악성 커밋을 푸시했습니다. 초기 npm 패키지 포이즈닝 공격과 달리, 이 Megalodon 단계는 GitHub Actions CI/CD 워크플로우 파일을 직접 대상으로 했으며, CI 시크릿, 클라우드 자격증명(AWS, GCP, Azure), SSH 키, GitHub OIDC 토큰, 소스 코드 시크릿 및 데이터베이스 연결 문자열을 탈취하기 위해 설계된 base64 인코딩된 bash 페이로드를 주입하여 216.126.225.129:8443의 C2로 외유했습니다. 5월 26일 현재, 약 2,900개의 저장소가 여전히 감염된 상태이며, 이는 손상된 저장소의 83%가 발견 후 1주일 이상 정리되지 않았다는 의미입니다. 별도 연구는 Megalodon 캠페인을 Shai-Hulud의 배후 집단인 TeamPCP와 연결하고 있습니다.
공격 경로
손상된 개발자 PAT 또는 배포 키를 사용하여 풀 리퀘스트 없이 악성 커밋을 main/master 브랜치에 직접 푸시했습니다. 두 가지 페이로드 변종 배포: SysDiag(모든 push/PR에서 트리거)와 Optimize-Build(workflow_dispatch를 사용하여 CI 실행 기록에 표시되지 않는 휴지 상태의 백도어). OIDC 토큰이 수집되어 AWS, GCP 또는 Azure의 정상적인 CI/CD 파이프라인을 가장하는 데 사용되었습니다.
영향받는 시스템
Tiledesk, WIZnet, persian-tools 및 기타 프로젝트를 포함한 5,561개의 공개 GitHub 저장소. 포이즈닝된 저장소에서 발행된 npm 패키지는 백도어를 다운스트림으로 전파합니다. Optimize-Build 변종의 휴지 상태 백도어는 공격자가 트리거할 때까지 CI 기록에 표시되지 않습니다.
완화 방안
2026년 5월 18일 이후 .github/workflows/ 디렉토리에서 무단 수정 사항을 감사하십시오 — 알 수 없는 8자 GitHub 핸들(예: rkb8el9r)이나 위조된 ID(build-bot, auto-ci, ci-bot)의 커밋을 찾으십시오. 모든 CI/CD 토큰, PAT 및 배포 키를 철회하고 로테이션하십시오. IoC 커밋 해시 'acac5a9' 및 C2 도메인 216.126.225[.]129:8443을 검색하십시오. workflow_dispatch로 트리거된 작업이 주입된 페이로드가 있는지 확인하십시오. 브랜치 보호 규칙을 요구하고 기본 브랜치에 대한 직접 푸시에 PR을 요구하십시오.