AntV npm 계정 탈취: 악성 버전과 실행 경로 확인하기
Socket과 SafeDep의 조사로 확인된 AntV 관련 npm 악성 버전을 살펴봅니다. 정확한 버전을 대조하고 실행 경로와 호스트에서 노출 가능했던 자격증명 범위를 확인하세요.
편집 기록: 이전 글의 Argus 탐지 건수와 속도는 당시 원시 이벤트 기록으로 재현할 수 없어 제거했습니다. 사고 규모와 공격 경로는 Socket·SafeDep의 조사에 근거합니다.


목차(6)
5월 19일 npm에서 일어난 일
2026년 5월 19일, AntV 생태계와 연결된 npm 게시 계정이 탈취돼 여러 패키지의 악성 버전이 올라왔다. Socket은 패키지 323개의 악성 버전 639개를 집계했고, SafeDep은 조사 당시 패키지 317개의 버전 637개를 집계했다. 두 숫자는 각 조사팀의 집계이며 Cremit의 탐지 건수가 아니다. 사용하는 자료의 패키지·버전 목록을 확인해야 한다.
탈취된 계정에는 오랫동안 배포해 온 패키지의 게시 권한이 있었다. 메인테이너 이름이 익숙하고 패키지가 오래됐다는 이유만으로 새 버전을 신뢰할 수 없다는 뜻이다. 계정의 평판과 별개로, 해당 버전의 내용과 외부 권고를 확인해야 한다.
악성 업데이트가 실행되는 경로
SafeDep은 난독화된 Bun 스크립트를 실행하는 preinstall 훅을 확인했다. 또 조사한 버전 637개 중 630개에서 GitHub에 있는 코드를 가리키는 optionalDependencies 항목을 확인했다. 설치 스크립트만 끄는 것으로 모든 실행 경로를 막았다고 볼 수 없다. 캠페인 이름보다 실제 package.json과 잠금 파일을 확인하는 편이 정확하다.
페이로드는 npm·GitHub 토큰, 클라우드 자격증명, SSH 키 등 호스트에서 접근 가능한 비밀을 찾았다. SafeDep은 자격증명 대상과 t.m-kosche.com 유출 목적지를 분석했다. 잠금 파일에서 영향받은 버전을 찾았다는 사실만으로 페이로드 실행이나 특정 토큰 유출까지 입증되지는 않는다.
탐지 신호를 읽는 방법
OSV 악성 패키지 권고는 권고에 적힌 특정 버전에 관한 강한 근거다. 게시자 변경, 짧은 시간의 대량 배포, 갑작스러운 파일 크기 변화는 조사할 이유가 되지만 각각 정상적인 원인도 있을 수 있다. 악성 여부를 판단할 때는 버전별 권고, manifest 차이, 게시 시각과 실행 경로를 함께 살펴야 한다.
Argus 사고 모니터에는 OSV MAL 플래그가 있고 휴리스틱 점수가 기준에 도달하면 소형 모델의 반대 판단을 넘어서 분류하는 경로가 있다. 이 코드는 분류 조건을 보여준다. 5월 19일 권고가 언제 제공됐는지, 이벤트를 몇 건 처리했는지, 공개 피드에 얼마나 빨리 반영됐는지까지 증명하지는 않는다.
이 글의 이전 버전은 Argus가 30분 안에 324건과 캠페인 알림 11건을 공개했다고 썼다. 현재 확인 가능한 5월 19일 원시 이벤트 기록으로 그 집계를 재현할 수 없어 속도와 포괄 범위 주장을 뺐다. 게시자 필드가 바뀐 횟수도 각 계정이 별도로 탈취됐다는 증거가 아니다.
운영자가 확인할 순서
- 잠금 파일의 정확한 패키지명과 버전을 Socket 및 SafeDep의 영향 버전 목록과 대조한다. 일부 버전만 문제인 패키지의 전체 이력을 악성으로 취급하지 않는다.
- 영향받은 버전을 설치하거나 빌드했다면 해당 개발자·CI 호스트를 찾는다. 설치 로그와 네트워크 기록으로 실행 및 외부 통신을 확인한다. 로그가 없다는 사실만으로 실행되지 않았다고 단정하지 않는다.
- 그 호스트에서 접근 가능했던 자격증명의 범위를 정한다. 노출 가능성이 있는 토큰은 발급처에서 폐기하고 다시 발급한다. 게시 권한과 높은 권한의 클라우드·소스 관리 토큰을 먼저 살핀다. 의존성을 선언했을 뿐인 개발자의 모든 npm 토큰이 자동으로 유출된 것은 아니다.
- 안전하다고 확인된 버전으로 고정하고 manifest와 잠금 파일의 변경을 검토한다. 영향 버전이 다시 빌드에 들어오지 않도록 한 뒤 원본 로그와 패키지 메타데이터를 보존한다.
Cremit Platform의 역할
Argus는 공개 패키지 이벤트를 관측하는 사고 모니터다. Cremit Platform은 연결한 소스에서 발견된 자격증명을 조사하는 별도 제품이다. 발견 위치를 기록하고, 지원 유형의 유효성을 확인하며, 지원 범위에서 AWS·GCP 키의 접근 범위를 살펴보고 담당자와 조치 상태를 추적한다. 패키지의 안전성을 인증하거나 호스트의 모든 자격증명을 자동 교체하지는 않는다.
출처와 편집 기록
Socket의 AntV 사고 분석 — 사고 범위와 영향 패키지.
SafeDep의 Mini Shai-Hulud 분석 — 패키지 목록, manifest 변경과 페이로드 분석.
OSV 권고 예시: MAL-2026-3982 — 특정 버전에 관한 악성 패키지 기록.
최초 발행: 2026년 5월 19일. 주요 수정: 2026년 10월 5일. 외부 사고 조사와 원자료로 검증되지 않은 내부 탐지 성과를 구분하기 위해 고쳤다.
이어서 읽기
GhostAction 사고 분석: 악성 워크플로가 Git 이력의 키를 수집하는 방식
공개 워크플로 100개의 네 버전과 우버 저장소의 변경 기록을 대조했습니다. Git 이력에서 삭제된 키를 수집하는 경로, 전송 실패를 정상 종료로 처리하는 동작, 자격증명의 권한에 따른 대응 순서를 설명합니다.
노출된 API 키 뒤의 머신 접근을 확인하는 법
노출된 키는 조사 단서입니다. 발급처, 계정, 권한, 사용 작업, 담당자를 찾아 접근 경로를 닫는 순서입니다.
Bitwarden CLI npm 악성 패키지: 영향 범위와 대응
2026년 4월 22일 npm에서 악성 CLI 패키지가 93분간 배포됐습니다. 설치 여부와 조사 결과, Bitwarden의 공식 대응 권고를 확인합니다.
다음 글을 메일로 받아보세요
Cremit의 월간 자격증명 보안 브리프. 한 통에 핵심만 담습니다.