근본 원인은 단순한 토큰 유출이 아닌 완전한 계정 탈취였습니다. 공격자는 레드햇 직원의 GitHub 계정을 장악하고 이 접근 권한을 사용해 상위 RedHatInsights/javascript-clients CI/CD 파이프라인에 악성 커밋을 주입했습니다. 이를 통해 공격자는 GitHub의 신뢰할 수 있는 퍼블리싱 메커니즘을 악용해 백도어가 포함된 패키지 릴리스에 대해 정당한 SLSA 출처 증명을 발행하고 이를 npm 레지스트리에 직접 푸시할 수 있었습니다.
손상된 패키지에는 설치 시 자동으로 실행되는 preinstall 스크립트가 포함되어 있어 28KB 크기의 자격 증명 탈취 페이로드를 다운로드했습니다. 이 악성코드는 '미아스마'로 명명된 Mini Shai-Hulud 계열의 새로운 변종으로, 위협 행위자 그룹 TeamPCP의 소행으로 추정되지만(모방 범죄자의 가능성도 배제할 수 없음), 자가 증식하는 웜으로 작동했습니다.
레드햇 단계에서 탈취된 자격 증명은 2026년 6월 5일에 다시 무기화되었습니다. 이전에 손상된 기여자 계정을 사용해 공격자는 Azure/durabletask 리포지토리에 단일 악성 커밋을 푸시했습니다. 이 리포지토리는 5월 19일 PyPI 패키지 침해의 피해자였으며, 동일한 기여자 계정이 두 공격 모두에 사용되어 초기 침해 이후 모든 접근 권한을 완전히 회수하지 못한 실패를 드러냈습니다.
악성 커밋에는 AI 코딩 에이전트를 위한 함정 역할을 하는 설정 파일이 포함되어 있었습니다. 개발자가 클로드 코드(Claude Code), 제미니 CLI(Gemini CLI), 커서(Cursor) 또는 VS Code와 같은 AI 기반 도구에서 리포지토리를 열면 파일이 자동으로 읽히면서 자격 증명을 탈취하는 페이로드를 실행하는 명령이 주입되었습니다.
GitHub의 대응은 즉각적이고 전례 없는 수준이었습니다. 자동화된 스위프를 통해 4개의 Microsoft GitHub 조직에 걸쳐 73개의 리포지토리가 비활성화되었습니다:
영향을 받은 리포지토리에는 회색 공지가 표시되었습니다: "이 리포지토리는 비활성화되었습니다. GitHub 서비스 약관 위반으로 인해 GitHub 직원에 의해 이 리포지토리에 대한 접근이 차단되었습니다".
미아스마 캠페인은 고전적인 공급망 중독과 새로운 자기 증식 및 AI 표적 기술을 결합한 다각적인 공격 전략을 사용했습니다.
preinstall 스크립트가 포함된 백도어 패키지를 사용했으며, 개발자가 npm install을 실행하는 즉시 페이로드를 전달했습니다.이번 사태에 대한 대응은 여러 주요 기술 및 보안 조직의 동기화된 노력을 필요로 했습니다.
미아스마 공격은 단독으로 발생하지 않았습니다. 6월 5일, Endor Labs와 StepSecurity의 연구원들은 아이언웜(IronWorm) 이라는 별도의 병행 캠페인을 공개했는데, 이 캠페인은 286개 이상의 악성 버전에 걸쳐 더 많은 57개의 npm 패키지를 손상시켜 새로운 미아스마 웜 변종을 유포했습니다. 이는 위협 행위자들이 공격을 적극적으로 확장하고 binding.gyp 파일을 코드 실행에 악용하는 등 새로운 기술을 실험하고 있음을 보여줍니다.
클라우드 보안 연합(CSA)은 중요한 장기적 위험을 지적했습니다: 이 캠페인이 TeamPCP에 기인한 것으로 추정되지만, 기본 코드베이스가 공개적으로 출시되었습니다. 이는 동일하거나 수정된 도구를 사용하는 모방 범죄자의 가능성을 배제할 수 없으며, 미아스마 공격 패턴이 계속해서 위협이 될 것임을 의미합니다.
근본 원인은 단순한 토큰 유출이 아닌 완전한 계정 탈취였습니다. 공격자는 레드햇 직원의 GitHub 계정을 장악하고 이 접근 권한을 사용해 상위 RedHatInsights/javascript-clients CI/CD 파이프라인에 악성 커밋을 주입했습니다. 이를 통해 공격자는 GitHub의 신뢰할 수 있는 퍼블리싱 메커니즘을 악용해 백도어가 포함된 패키지 릴리스에 대해 정당한 SLSA 출처 증명을 발행하고 이를 npm 레지스트리에 직접 푸시할 수 있었습니다.
손상된 패키지에는 설치 시 자동으로 실행되는 preinstall 스크립트가 포함되어 있어 28KB 크기의 자격 증명 탈취 페이로드를 다운로드했습니다. 이 악성코드는 '미아스마'로 명명된 Mini Shai-Hulud 계열의 새로운 변종으로, 위협 행위자 그룹 TeamPCP의 소행으로 추정되지만(모방 범죄자의 가능성도 배제할 수 없음), 자가 증식하는 웜으로 작동했습니다.
레드햇 단계에서 탈취된 자격 증명은 2026년 6월 5일에 다시 무기화되었습니다. 이전에 손상된 기여자 계정을 사용해 공격자는 Azure/durabletask 리포지토리에 단일 악성 커밋을 푸시했습니다. 이 리포지토리는 5월 19일 PyPI 패키지 침해의 피해자였으며, 동일한 기여자 계정이 두 공격 모두에 사용되어 초기 침해 이후 모든 접근 권한을 완전히 회수하지 못한 실패를 드러냈습니다.
악성 커밋에는 AI 코딩 에이전트를 위한 함정 역할을 하는 설정 파일이 포함되어 있었습니다. 개발자가 클로드 코드(Claude Code), 제미니 CLI(Gemini CLI), 커서(Cursor) 또는 VS Code와 같은 AI 기반 도구에서 리포지토리를 열면 파일이 자동으로 읽히면서 자격 증명을 탈취하는 페이로드를 실행하는 명령이 주입되었습니다.
GitHub의 대응은 즉각적이고 전례 없는 수준이었습니다. 자동화된 스위프를 통해 4개의 Microsoft GitHub 조직에 걸쳐 73개의 리포지토리가 비활성화되었습니다:
영향을 받은 리포지토리에는 회색 공지가 표시되었습니다: "이 리포지토리는 비활성화되었습니다. GitHub 서비스 약관 위반으로 인해 GitHub 직원에 의해 이 리포지토리에 대한 접근이 차단되었습니다".
미아스마 캠페인은 고전적인 공급망 중독과 새로운 자기 증식 및 AI 표적 기술을 결합한 다각적인 공격 전략을 사용했습니다.
preinstall 스크립트가 포함된 백도어 패키지를 사용했으며, 개발자가 npm install을 실행하는 즉시 페이로드를 전달했습니다.이번 사태에 대한 대응은 여러 주요 기술 및 보안 조직의 동기화된 노력을 필요로 했습니다.
미아스마 공격은 단독으로 발생하지 않았습니다. 6월 5일, Endor Labs와 StepSecurity의 연구원들은 아이언웜(IronWorm) 이라는 별도의 병행 캠페인을 공개했는데, 이 캠페인은 286개 이상의 악성 버전에 걸쳐 더 많은 57개의 npm 패키지를 손상시켜 새로운 미아스마 웜 변종을 유포했습니다. 이는 위협 행위자들이 공격을 적극적으로 확장하고 binding.gyp 파일을 코드 실행에 악용하는 등 새로운 기술을 실험하고 있음을 보여줍니다.
클라우드 보안 연합(CSA)은 중요한 장기적 위험을 지적했습니다: 이 캠페인이 TeamPCP에 기인한 것으로 추정되지만, 기본 코드베이스가 공개적으로 출시되었습니다. 이는 동일하거나 수정된 도구를 사용하는 모방 범죄자의 가능성을 배제할 수 없으며, 미아스마 공격 패턴이 계속해서 위협이 될 것임을 의미합니다.