2026년 5월 공격자는 npm 개발자 계정을 탈취해 약 22분 동안 317개 패키지에 637개의 악성 버전을 자동 게시했다. 악성 코드 는 npm 설치 과정에서 실행되어 GitHub, 클라우드, CI/CD 토큰 등 다양한 개발자 자격 증명을 수집하고 추가 공격을 시도했다.

Create a landscape editorial hero image for this Studio Global article: How are hackers carrying out the ongoing “Mini Shai‑Hulud” supply‑chain attacks on open‑source software packages, what happened in the recen. Article summary: Hackers are using compromised maintainer accounts and automated package-publishing to turn trusted open-source packages into credential-stealing malware delivery channels. The latest Mini Shai-Hulud wave hijacked an npm . Topic tags: general, general web. Reference image context from search candidates: Reference image 1: visual subject "HN Mini Shai-Hulud Strikes Again: 314 npm Packages Compromised. On May 19, 2026, a sophisticated supply chain attack dubbed “Mini Shai-Hulud” was executed" source context "Scraper Spider" Reference image 2: visual subject "HN Mini Shai-Hulud Strikes Again: 314 npm Packages Compromised. On May 19, 2026, a sophisticated supply cha
오픈소스 생태계는 기본적으로 신뢰(trust) 위에서 돌아간다. 개발자들은 npm이나 PyPI 같은 저장소에서 다른 사람이 만든 패키지를 의존성(dependency)으로 설치하고, 자동 업데이트를 통해 새로운 버전을 받아 사용한다.
하지만 Mini Shai‑Hulud라는 공격 캠페인은 바로 이 신뢰 구조를 노린다. 공격자는 새로운 악성 패키지를 올리는 대신 기존 유지관리자(maintainer)의 계정을 탈취해 정상 패키지에 악성 코드를 심는 방식을 사용했다.
2026년 5월에 발생한 사건은 이런 공급망 공격이 얼마나 빠르게 확산될 수 있는지를 보여주는 대표 사례다.
공격자는 새로운 패키지를 올리는 대신 패키지를 게시할 권한이 있는 유지관리자 계정을 직접 침해했다.
계정에 접근한 뒤 공격자는 기존 패키지의 새 버전을 배포하면서 그 안에 악성 코드를 삽입했다. 많은 프로젝트가 버전 범위(semver range)에 따라 의존성을 자동 업데이트하기 때문에, 개발자가 별다른 의심 없이 npm install
이 방식은 개별 개발자를 직접 공격하지 않아도 수많은 하위 프로젝트를 동시에 감염시킬 수 있다는 점에서 매우 위험하다.
2026년 5월 19일 보안 연구자들은 npm 계정 **atool**이 침해됐다는 사실을 발견했다. 공격자는 자동화된 스크립트를 사용해 약 22분 동안 317개 패키지에 637개의 악성 버전을 게시했다.
영향을 받은 주요 패키지는 다음과 같다.
size-sensorecharts-for-reacttimeago.js@antv/* 패키지 다수특히 echarts-for-react 같은 패키지는 주간 다운로드가 백만 건 이상으로 매우 널리 사용되기 때문에, 공격의 잠재적 영향 범위가 크게 확대됐다.
악성 버전에는 난독화된 JavaScript 페이로드가 포함되어 있었으며, 패키지 설치 시 자동 실행되도록 설계됐다.
공격자는 preinstall 같은 **npm 설치 훅(install hook)**을 이용했다. 이 스크립트는 개발자가 단순히 npm install
또 다른 방식으로는 optionalDependencies를 이용해 GitHub 커밋 해시를 참조하는 방법이 사용됐다. npm은 특정 커밋 SHA를 기준으로 저장소에서 코드를 가져올 수 있는데, 공격자는 포크된 저장소의 Git 객체 공유 구조를 이용해 실제 저장소에 쓰기 권한이 없어도 악성 코드를 로드할 수 있도록 했다.
악성 코드의 주요 목적은 자격 증명(credential) 수집이었다.
설치 후 페이로드는 개발 환경과 시스템을 스캔하며 다음과 같은 정보를 찾았다.
또한 다음과 같은 로컬 비밀번호 관리자 저장소에서도 데이터를 추출하려 시도했다.
탈취한 데이터는 두 가지 방식으로 외부로 전송됐다.
보안 연구자들은 Mini Shai‑Hulud를 자기 확산형(self‑propagating) 공급망 공격으로 분류한다.
이 악성코드는 단순히 데이터를 훔치는 데서 멈추지 않는다. 탈취한 자격 증명을 이용해 CI/CD 환경이나 개발 파이프라인을 추가로 침해하고 새로운 악성 패키지를 게시하려 시도한다.
즉, 이미 감염된 개발 환경이 다음 공격의 발판이 될 수 있다.
이 캠페인의 초기 파동은 2026년 5월 초 TanStack 패키지 생태계에서 발견됐다. TanStack은 React 등 프런트엔드 개발에서 널리 쓰이는 라이브러리 모음이다.
감염된 패키지에는 난독화된 JavaScript 번들이 포함되어 있었으며, 실행 환경을 분석한 뒤 CI/CD 비밀 정보와 개발자 자격 증명을 탈취하도록 설계되어 있었다.
TanStack 공격은 실제 기업 환경에도 영향을 미쳤다.
OpenAI는 이후 발표에서 직원 두 명의 기기가 이 악성 의존성 체인을 통해 영향을 받았다고 밝혔다. 해당 시스템에서는 자격 증명 탈취 시도와 내부 저장소 접근 활동이 일부 관찰됐다.
다만 회사는 다음과 같은 점을 확인했다고 밝혔다.
예방 조치로 OpenAI는 영향을 받은 시스템을 격리하고 세션을 종료했으며, 자격 증명을 교체하고 코드 서명 인증서도 회전(rotating)했다.
Mini Shai‑Hulud 사건은 최근 사이버 공격의 방향이 최종 사용자 대신 개발 생태계 자체를 노리는 방식으로 이동하고 있다는 점을 보여준다.
특히 다음과 같은 특징이 주목된다.
오늘날 대부분의 소프트웨어는 수십에서 수백 개의 오픈소스 의존성을 기반으로 동작한다. 따라서 인기 패키지가 잠깐이라도 침해되면 수천 개 이상의 하위 프로젝트에 연쇄적으로 영향을 줄 수 있다.
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월 공격자는 npm 개발자 계정을 탈취해 약 22분 동안 317개 패키지에 637개의 악성 버전을 자동 게시했다.
2026년 5월 공격자는 npm 개발자 계정을 탈취해 약 22분 동안 317개 패키지에 637개의 악성 버전을 자동 게시했다. 악성 코드 는 npm 설치 과정에서 실행되어 GitHub, 클라우드, CI/CD 토큰 등 다양한 개발자 자격 증명을 수집하고 추가 공격을 시도했다.
같은 캠페인의 이전 공격에서는 TanStack 패키지가 악성 코드에 감염되었고, 그 영향으로 OpenAI 직원 두 명의 기기에서도 감염 활동이 관찰됐다.