에스코어 인사이트
원문에 앞서 국내 개발·보안 조직이 함께 점검할 만한 사항을 간단히 정리했습니다.
•
영향 패키지 점검: @kolbo/mcp@1.57.1, agentgui@1.0.1127, godot-kit@1.0.1786316795, envpack-conf@1.0.1, postcss-initial-provider@3.0.4, tailwindcss-motion-advanced@1.0.1의 사용 여부를 개발자 PC, CI/CD, 내부 캐시에서 확인합니다.
•
후속 실행 조사: 영향을 받은 버전을 설치했다면 추가 JavaScript 페이로드 실행, 분리된 Node.js 자식 프로세스, 외부 통신 흔적 등 후속 침해 여부를 조사합니다.
•
신뢰 패키지 검증: 기존에 사용하던 정상 패키지도 탈취된 특정 버전을 통해 악성 코드가 유입될 수 있으므로 패키지 이름뿐 아니라 버전별 동작과 게시 이력을 확인합니다.
핵심 요약
•
Sonatype Research Labs는 동일한 악성 페이로드를 전달하는 npm 패키지 6개를 확인했습니다. 이 중 3개는 탈취된 정상 패키지이고, 나머지 3개는 추가로 확인된 악성 패키지입니다. Sonatype은 이를 sonatype-2026-005899와 sonatype-2026-005901로 추적하고 있습니다.
•
이 악성코드는 DPRK 연계 Contagious Interview 캠페인으로 분류된 활동에서 OpenSourceMalware가 확인한 것과 동일한 Ethereum 지갑 주소를 사용하며, NullReceiver 기법으로 추가 JavaScript 페이로드를 호스팅하는 인프라를 찾습니다.
•
영향을 받은 버전을 설치한 조직은 해당 패키지를 제거하고, 후속 페이로드 실행이나 침해 여부를 확인하기 위해 영향을 받은 환경을 조사해야 합니다.
2026년 8월 10일, Sonatype Research Labs는 동일한 악성 페이로드가 포함된 npm 패키지 6개를 확인했습니다. 여기에는 탈취된 정상 패키지 3개와 처음부터 악성코드가 포함된 상태로 게시된 패키지 3개가 포함됩니다.
이 페이로드는 Ethereum 블록체인 트랜잭션을 이용해 추가 JavaScript 악성코드를 호스팅하는 인프라를 찾습니다. Sonatype 연구진은 최근 DPRK 연계 Contagious Interview 캠페인으로 분류된 활동에서 이 6개 패키지가 동일한 Ethereum 지갑 주소를 사용한다는 사실을 확인했습니다. OpenSourceMalware는 이 특정 블록체인 기반 명령제어(C2) 기법을 NullReceiver라고 명명했으며, Contagious Interview는 Lazarus APT 그룹과 연관된 더 광범위한 캠페인을 가리킵니다.
6개 npm 패키지가 동일한 악성코드를 전달
Sonatype의 Adam Reynolds에 따르면 영향을 받은 패키지는 두 그룹으로 나뉩니다.
첫 번째 그룹은 탈취된 뒤 악성 버전이 게시된 것으로 보이는 정상 npm 패키지 3개이며, Sonatype은 이를 sonatype-2026-005899로 추적하고 있습니다.
•
@kolbo/mcp@1.57.1
•
agentgui@1.0.1127
•
godot-kit@1.0.1786316795
탈취된 패키지에서는 정상 패키지에 원래 존재하던 파일에 악성 페이로드가 삽입됐습니다. 아래 이미지는 agentgui의 database.js 마지막 줄에 삽입된 사례를 보여줍니다.
agentgui database.js에 삽입된 악성 페이로드
연구진은 이후 동일한 페이로드를 포함한 npm 패키지 3개를 추가로 확인했습니다. 이 패키지들은 기존 패키지를 탈취한 사례가 아니므로 별도로 sonatype-2026-005901로 추적하고 있습니다.
•
envpack-conf@1.0.1
•
postcss-initial-provider@3.0.4
•
tailwindcss-motion-advanced@1.0.1
이 악성코드는 왜 다음 행동을 위해 블록체인을 조회하는가
npm에 유입된 경로는 다르지만, 6개 패키지에는 모두 동일한 악성 페이로드가 들어 있으며 같은 지갑 주소와 연관돼 있습니다.
로더가 실행되면 해당 지갑에서 발생한 출금 트랜잭션을 Ethereum에서 조회하고, 트랜잭션 수신자 주소의 바이트를 읽습니다. 이 바이트를 디코딩하면 두 개의 IPv4 주소가 나오며, 악성코드는 이를 기본 및 보조 명령제어(C2) 엔드포인트로 사용합니다. 즉, Ethereum 트랜잭션이 악성코드에 다음 연결 위치를 알려주는 지시용 데드 드롭(dead drop) 역할을 합니다.
Sonatype이 관찰한 구현은 NullReceiver의 동작보다 더 광범위합니다. 로더는 여러 Ethereum RPC 제공자를 조회하고, 이들 사이에서 요청을 동시에 경쟁시켜 가장 빠른 응답을 사용하며, 배치 JSON-RPC 호출을 수행할 수 있습니다. 관련 트랜잭션을 찾기 위해 Blockscout API를 대체 경로로 사용할 수도 있습니다. 따라서 한 가지 방식이 실패해도 여러 경로를 통해 C2 인프라를 복구할 수 있습니다.
C2 인프라를 확인한 뒤 로더는 /0x/cls와 /0x/ls 엔드포인트에서 두 개의 추가 단계를 가져오려고 시도합니다. 일반적인 HTTP GET 응답을 통해 인코딩된 페이로드를 받을 수 있으며, 이 방식이 실패하면 HEAD 요청을 보내 X-Payload-B64 응답 헤더에서 페이로드를 가져올 수 있습니다. 이후 페이로드는 Base64 및 XOR 방식으로 디코딩된 뒤 실행됩니다.
/0x/cls에서 가져온 페이로드는 eval()을 사용해 현재 Node.js 프로세스 안에서 직접 실행할 수 있으며, 다운로드된 단계는 분리된 Node.js 자식 프로세스로 실행할 수도 있습니다.
동일한 페이로드, npm에 유입된 두 가지 경로
이 6개 패키지는 같은 악성코드가 두 가지 방식으로 배포될 수 있음을 보여줍니다. 하나는 개발자가 이미 신뢰하고 있을 수 있는 패키지를 탈취하는 방식이고, 다른 하나는 악성 페이로드 전달을 목적으로 새 패키지를 게시하는 방식입니다.
탈취된 3개 패키지에는 상당한 수준의 정상 기능이 그대로 남아 있으며, 정상 파일 끝부분에 악성 로더가 추가됐습니다. 이는 DPRK 연계 PolinRider 캠페인에서도 관찰했던 것과 같은 동작입니다.
독립적으로 게시된 패키지에도 정상적으로 보이는 기능이 포함돼 있습니다. envpack-conf에는 패키지 구성 코드가 있고, postcss-initial-provider에는 정상적인 PostCSS 플러그인 코드가 있으며, tailwindcss-motion-advanced는 utils.min.js 안에 로더를 포함하고 있습니다.
익숙한 DPRK 연계 기법
이 6개 패키지는 DPRK 연계 Contagious Interview 캠페인에서 사용된 블록체인 기반 명령제어 방식인 NullReceiver와 매우 유사한 기법을 사용합니다. 최근 OpenSourceMalware는 npm 패키지 bianira-ui와 fluid-type-ui에서 이 기법을 확인했습니다.
해당 활동에서 악성코드는 공격자가 제어하는 Ethereum 지갑을 조회하고, 가장 최근 출금 트랜잭션의 수신자 주소를 읽은 뒤, 그 주소에서 C2 IP를 디코딩해 연결했습니다. OpenSourceMalware는 이 패키지들을 DPRK Contagious Interview 캠페인과 연관된 것으로 판단했습니다.
Sonatype Research Labs도 이번 사례에서 유사한 공격 기법을 관찰했습니다. 정상 패키지 탈취, 블록체인을 이용한 후속 인프라 조회, 패키지 파일에 악성코드를 삽입하거나 악성코드가 포함된 파일을 함께 배포하는 방식입니다.
빌드 환경에서 이 6개 npm 패키지를 확인해야 합니다
개발팀과 보안팀은 환경에서 영향을 받은 6개 npm 패키지를 사용하고 있는지 확인하고, 영향을 받은 버전이 있다면 제거해야 합니다.
탈취된 3개 패키지는 개발자가 이미 알고 신뢰할 수 있는 패키지를 통해 악성코드가 유입됐기 때문에 특히 위험을 놓치기 쉽습니다. 추가로 확인된 악성 패키지 3개는 동일한 페이로드가 새로 게시된 패키지를 통해서도 유입될 수 있음을 보여줍니다.
영향을 받은 패키지를 하나라도 설치했다면 후속 JavaScript 실행 여부와 그 밖의 침해 징후를 조사해야 합니다.
Sonatype Research Labs는 관련 npm 활동을 계속 조사하고 있으며, 추가 패키지나 인프라가 확인되는 대로 조사 결과를 업데이트할 예정입니다.
에스코어는 Sonatype 공식 파트너로서 소프트웨어 공급망 보안 및 오픈소스 거버넌스 구축을 지원합니다.
도입이나 구축이 필요하시면 언제든 문의해 주세요.
지원 솔루션: Nexus Repository · Repository Firewall · Lifecycle · Sonatype Guide


