코드 공개 직후 보안 연구자들은 npm에 올라온 여러 의심 패키지를 발견했다. 보고된 사례에는 다음과 같은 이름이 포함됐다.
chalk-tempalte@deadcode09284814/axios-utilaxois-utilscolor-style-utils코드 공개 후 불과 며칠 만에 이런 패키지가 등장했다는 점은, 공격 도구가 공개될 경우 악성코드 확산 속도가 얼마나 빨라질 수 있는지를 보여준다.
이 캠페인의 핵심 유포 전략 중 하나는 **타이포스쿼팅(typosquatting)**이다.
이는 정상 패키지 이름과 매우 비슷한 이름을 만들어 개발자가 실수로 설치하도록 유도하는 방식이다.
예를 들어:
chalk-tempalte → 실제 패키지 chalk-template과 매우 유사axois-utils → axios 관련 패키지로 착각하기 쉬움npm에서는 의존성이 자동 설치되거나 CI/CD 파이프라인에서 자동으로 빌드가 실행되는 경우가 많다. 이런 환경에서는 단 한 번의 오타나 악성 의존성만으로도 설치 과정에서 공격 코드가 실행될 수 있다.
Shai‑Hulud는 단순한 악성 패키지가 아니라 자기 전파형 공급망 웜이라는 점이 특징이다.
보안 연구자들이 분석한 기능에는 다음이 포함된다.
특히 중요한 점은 웜의 자동 확산 능력이다. 감염된 환경에서 npm 게시 권한 토큰이 발견되면, 악성코드는 해당 계정이 관리하는 다른 패키지에도 자동으로 악성 버전을 배포할 수 있다.
이 때문에 중앙 명령 서버 없이도 생태계 전체로 확산될 수 있는 구조가 만들어진다.
Shai‑Hulud 자체도 이미 위험한 공격이었다. 하지만 두 가지 변화가 위험 수준을 한 단계 끌어올렸다.
결과적으로 위협 모델은 “하나의 조직화된 공격 그룹”에서 같은 도구를 사용하는 다수의 독립 공격자 집단으로 확장됐다.
Shai‑Hulud 사건은 최근 보안 트렌드를 분명하게 보여준다. 공격자들은 이제 사용자 PC보다 소프트웨어 개발 인프라 자체를 노리고 있다.
예를 들면 다음과 같은 영역이다.
이 인프라 중 하나라도 침해되면, 악성 패키지는 설치 과정에서 실행되고 빌드 시스템의 비밀 정보를 빼내며 수많은 다운스트림 프로젝트까지 영향을 줄 수 있다.
Shai‑Hulud 코드 공개 이후 카피캣 npm 악성코드가 빠르게 등장한 사건은 한 가지 사실을 보여준다.
공격 도구가 공개되는 순간, 공급망 공격은 단일 사건이 아니라 ‘생태계 규모의 문제’로 확장될 수 있다.
Comments
0 comments