2026년 5월 Mini Shai‑Hulud 캠페인은 npm과 PyPI 생태계의 170개 이상 패키지를 침해하며 수백 개의 악성 버전을 배포한 공급망 공격이다.[1][4] 5월 19일에는 @antv 생태계에서 유지관리자 계정이 탈취되면서 약 22분 만에 323개 패키지에 걸쳐 637개의 악성 버전이 자동으로 게시됐다.[5][7] 공격자는 GitHub Actions OIDC 토큰과 CI/CD 파이프라인을 악용해 Sigstore 서명과 SLSA provenance가 포함된 ‘정상 빌드처럼 보이는’ 악성 패키지를 배포했다.[1][10]

Create a landscape editorial hero image for this Studio Global article: What happened in the Mini Shai-Hulud npm supply chain attack on May 19, 2026, how were more than 630 malicious package versions published so. Article summary: Mini Shai-Hulud was a fast-moving npm/PyPI supply-chain worm campaign attributed to TeamPCP that abused maintainer access, CI/CD secrets, GitHub Actions OIDC trust, and provenance signing to publish malicious packages th. Topic tags: general, general web. Reference image context from search candidates: Reference image 1: visual subject "# ‘Mini Shai-Hulud’ malware compromises hundreds of open-source packages in sprawling supply-chain attack. A rapidly spreading malware campaign has infected hundreds of software pa" source context "‘Mini Shai-Hulud’ malware compromises hundreds of open-source packages in sprawling supply-chain attack | CyberScoop" Reference imag
오픈소스 소프트웨어 생태계는 기본적으로 신뢰 위에 서 있다. 유지관리자 계정, 자동화된 CI/CD 파이프라인, 그리고 암호화 서명 같은 장치들이 그 신뢰를 떠받친다. 2026년의 Mini Shai‑Hulud 공격은 바로 그 신뢰 체계가 어떻게 공격 도구로 바뀔 수 있는지를 보여준 사건이었다.
2026년 5월, TeamPCP로 알려진 공격 그룹은 npm과 PyPI 생태계를 겨냥한 공급망 공격을 실행했다. 특히 2026년 5월 19일, @antv 데이터 시각화 패키지 생태계에서 유지관리자 계정이 탈취되면서 약 22분 만에 323개 패키지에 걸쳐 637개의 악성 버전이 게시되는 사건이 발생했다.
이 공격이 특히 주목받는 이유는 단순히 규모 때문만이 아니다. 악성 패키지들이 정상 빌드에서 생성된 것처럼 보이는 서명과 빌드 provenance(SLSA) 를 포함하고 있었기 때문이다.
Mini Shai‑Hulud는 단일 사건이 아니라 여러 단계로 진행된 공격 캠페인이었다.
보안 연구에 따르면 2026년 5월 10일부터 12일 사이, 공격자들은 19개 네임스페이스에서 170개 이상의 npm 및 PyPI 패키지를 침해하고 400개 이상의 악성 버전을 게시했다.
이 공격은 다음과 같은 주요 프로젝트와 연결된 라이브러리에도 영향을 미쳤다.
이 패키지들은 웹 애플리케이션, 개발 도구, AI 플랫폼 등에서 널리 사용되는 핵심 의존성이며, 누적 다운로드 수가 수억 건에 달하는 라이브러리도 포함되어 있었다.
따라서 공격이 짧은 시간 동안 발생했더라도, 영향 범위는 매우 넓을 가능성이 있었다.
5월 19일 AntV 관련 사건에서 핵심 원인은 유지관리자 계정 탈취와 자동화된 패키지 배포 시스템이었다.
보고에 따르면 공격자는 npm의 atool 패키지와 연결된 유지관리자 계정을 탈취했다.
유지관리자는 보통 스크립트나 CI 파이프라인을 이용해 여러 패키지를 동시에 배포할 수 있다. 이 권한을 이용하면 공격자는 다음을 자동화할 수 있다.
이 방식 덕분에 공격자는 수백 개의 악성 패키지 버전을 단 몇 분 만에 생성할 수 있었다.
최근 많은 오픈소스 프로젝트는 보안을 위해 GitHub Actions의 Trusted Publishing 방식을 사용한다.
이 방식에서는 다음 구조가 사용된다.
장점은 장기 비밀 키를 저장하지 않아도 된다는 점이다.
하지만 Mini Shai‑Hulud 공격에서는 이 구조가 역으로 악용됐다.
공격자들은 일부 프로젝트에서 다음 행동을 수행한 것으로 보고된다.
그 결과 악성 패키지는 프로젝트의 실제 빌드 파이프라인이 만든 것처럼 보이게 되었다.
현대 소프트웨어 공급망 보안에서는 다음 기술이 널리 사용된다.
이 시스템은 소프트웨어가 실제로 특정 빌드 환경에서 생성됐는지 검증하는 데 사용된다.
하지만 Mini Shai‑Hulud 공격에서는 공격자가 이미 빌드 파이프라인 내부를 장악한 상태였다.
연구자들은 공격자가 CI 환경에서 OIDC 토큰을 이용해 정상적인 Sigstore 인증서를 발급받고 서명된 패키지를 생성한 것으로 보고했다.
즉 사용자 입장에서는 패키지가 다음 조건을 모두 충족했다.
겉보기에는 완전히 정상적인 릴리스였다.
패키지 내부에 삽입된 악성 코드는 주로 개발자 자격 증명과 인프라 접근 권한을 노렸다.
보고된 주요 표적은 다음과 같다.
이 정보를 탈취하면 공격자는 추가 저장소나 배포 파이프라인을 침해할 수 있다.
이 때문에 Mini Shai‑Hulud는 단순한 패키지 감염이 아니라 스스로 확산하는 공급망 웜(worm) 형태로 평가된다.
이번 사건은 현대 오픈소스 공급망 보안의 몇 가지 현실을 드러냈다.
OIDC 기반 배포, SLSA provenance, Sigstore 서명 같은 최신 보안 기술도 빌드 환경이 장악되면 무력화될 수 있다.
AntV 사건에서는 단일 계정 탈취로 수백 개 패키지와 수백 개 버전이 동시에 배포됐다.
npm 생태계에서는 하나의 라이브러리가 수천 개 프로젝트의 transitive dependency(간접 의존성) 로 사용되는 경우가 많다.
보안 분석가들은 Mini Shai‑Hulud 공격을 TeamPCP의 장기적인 공급망 공격 캠페인의 일부로 보고 있다. 이 그룹은 Checkmarx Jenkins AST 플러그인 침해 사건 등 다른 활동과도 연결되어 있다.
Mini Shai‑Hulud 사건은 한 가지 중요한 사실을 보여줬다.
암호학적 서명이나 provenance만으로는 안전을 보장할 수 없다.
공격자가 신뢰된 빌드 파이프라인을 장악하면, 악성 코드도 정상 소프트웨어처럼 보일 수 있기 때문이다.
그래서 많은 조직이 다음 영역에 더 집중하고 있다.
자동화된 빌드와 서명된 아티팩트가 표준이 되어 가는 지금, CI 인프라와 개발자 계정 자체의 보안이 오픈소스 공급망 방어의 핵심 요소로 떠오르고 있다.
Mini Shai‑Hulud 사건은 그 신뢰가 얼마나 빠르게 악용될 수 있는지 보여준 대표적인 사례로 기록되고 있다.
Studio Global AI
Use this topic as a starting point for a fresh source-backed answer, then compare citations before you share it.
2026년 5월 Mini Shai‑Hulud 캠페인은 npm과 PyPI 생태계의 170개 이상 패키지를 침해하며 수백 개의 악성 버전을 배포한 공급망 공격이다.[1][4]
2026년 5월 Mini Shai‑Hulud 캠페인은 npm과 PyPI 생태계의 170개 이상 패키지를 침해하며 수백 개의 악성 버전을 배포한 공급망 공격이다.[1][4] 5월 19일에는 @antv 생태계에서 유지관리자 계정이 탈취되면서 약 22분 만에 323개 패키지에 걸쳐 637개의 악성 버전이 자동으로 게시됐다.[5][7]
공격자는 GitHub Actions OIDC 토큰과 CI/CD 파이프라인을 악용해 Sigstore 서명과 SLSA provenance가 포함된 ‘정상 빌드처럼 보이는’ 악성 패키지를 배포했다.[1][10]