기술 설명
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(모든 푸시/PR에서 트리거) 및 Optimize-Build(workflow_dispatch를 사용하여 CI 실행 기록에 표시되지 않는 휴면 백도어). OIDC 토큰을 수집하여 AWS, GCP 또는 Azure의 정상적인 CI/CD 파이프라인을 가장합니다.
영향받는 시스템
Tiledesk, WIZnet, persian-tools 등의 프로젝트를 포함한 5,561개의 공개 GitHub 저장소. 포이즈닝된 저장소에서 게시된 Npm 패키지는 백도어를 하위 스트림으로 전달합니다. Optimize-Build 변형의 휴면 백도어는 공격자가 트리거할 때까지 CI 기록에서 보이지 않습니다.
완화 방안
5월 18일 2026년 이후에 .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을 요구하십시오.