전국적인 미니 샤이-훌루드 캠페인, 신뢰가 관건.

발행: (2026년 5월 16일 AM 12:00 GMT+9)
10 분 소요
원문: DevOps.com

출처: DevOps.com

악명 높은 Shai‑Hulud 웜을 이용한 최신 공격 시리즈는 소프트웨어 개발자와 그들의 CI/CD 파이프라인이 직면한 위협을 선명하게 보여줍니다. 이는 악의적인 행위자들이 점점 더 DevOps 환경에 관심을 돌리면서 최근 몇 달 동안 제기된 문제이기도 합니다.

그렇지만 TeamPCP 그룹이 연루된 이번 최신 Shai‑Hulud 사건은 신뢰 남용이라는 추세를 반영합니다. 이는 기업 생태계와 개발 플랫폼 간의 광범위한 연결성을 감안할 때 핵심적인 포인트입니다.

“Shai‑Hulud는 일회성 패키지 침해라기보다 진화하는 공급망 플레이북으로 이해돼야 합니다.”라고 Pathlock의 SAP 보안 분석가 Jonathan Stross가 말했습니다.

2025년과 올해 초에 발생한 이전 Shai‑Hulud 공격은 개발자와 유지보수자의 자격 증명을 탈취해 악성 패키지를 배포하는 데 초점을 맞췄습니다. 최신 사건—‘Mini Shai‑Hulud’라 불리는—에서는 위협 그룹이 신뢰받는 CI/CD 배포 경로와 OpenID Connect (OIDC) 토큰을 악용했습니다. 즉, 악성 패키지 버전에도 여전히 유효한 출처 증명이 포함된 것입니다.

“다시 말해, 방어자가 신뢰를 구축하기 위해 점점 더 의존하는 신호들이 존재했지만, 패키지 내용 자체는 악성이라는 것이죠.”라고 Stross가 설명했습니다.

360 Privacy의 전략 정보 및 보안 담당 부사장 Chuck Randolph는 조직, 개발 팀, 코드 저장소가 이러한 캠페인을 인식하고 대비해야 한다고 강조했습니다. 이러한 캠페인은 지난 몇 년간 신원 남용 추세 위에 구축되고 있습니다.

“현대 공격은 단순히 취약점을 노리는 것이 아니라 신뢰를 악용하는 방향으로 점점 더 진화하고 있습니다.”라고 Randolph가 말했습니다. “소프트웨어 생태계이든 디지털 신원이든, 혹은 상호 연결된 플랫폼이든, 적들은 신뢰받는 관계를 무기로 삼아 속도, 규모, 운영 접근성을 확보하고 있습니다.”

광범위한 노출

그가 덧붙인 핵심 메시지는 “공격 표면이 더 이상 단일 시스템이나 사용자에 국한되지 않는다”는 점입니다. “이제 노출은 전체 생태계에 걸쳐 존재합니다. 하나의 관계, 자격 증명, 혹은 신뢰받는 플랫폼이 손상되면 연쇄적인 하위 효과가 발생할 수 있습니다. 더 큰 교훈은 디지털 노출과 운영 위험이 점점 더 얽혀 있다는 것입니다.”

Endor Labs, Aikido, Socket, StepSecurity 등 여러 보안 기업의 연구원들은 최근 며칠간 npm 및 PyPI 패키지가 손상된 최신 공격 라운드를 다룬 보고서를 발표했습니다. 이들 패키지는 Mistral AI, Guardrails AI, TanStack, UiPath 등 다양한 기업의 제품에 포함되었습니다.

TeamPCP는 지난해 등장했으며, 클라우드 네이티브 환경을 표적으로 자동화된 공급망 공격을 수행해 악성 코드를 소프트웨어 업데이트에 심고 이를 다운로드하는 조직을 감염시킵니다. 이번 캠페인에서 위협 행위자는 GitHub Actions 워크플로에 광범위한 권한을 획득하고, 페이로드를 초기화 모듈처럼 보이게 만들었습니다.

자격 증명 및 비밀 탈취

npm 패키지에 삽입된 난독화된 JavaScript 파일은 비밀 파일과 SSH 키를 탐색해 보안 키와 비밀번호 등 자격 증명을 탈취합니다. 대상은 Google Cloud Platform, Amazon Web Services, HashiCorp Vault, Kubernetes와 같은 고프로파일 클라우드 서비스는 물론 AI 도구, 메신저 앱, 암호화폐 지갑까지 포함됩니다.

다른 TeamPCP 공격과 마찬가지로, 악성코드는 랜섬 노트를 생성하고 피해자가 손상된 접근 권한을 취소하려 할 경우 데이터를 삭제하겠다고 위협합니다.

Sectigo 수석 연구원 Jason Soroko는 “최신 파동은 훨씬 은밀한 실행 모델을 채택했습니다. 패키지 tarball 안에 JavaScript 페이로드를 번들하고, 선택적 GitHub 의존성을 이용해 Bun 런타임으로 실행을 트리거함으로써 기존 정적 스캔을 우회합니다.”라고 설명했습니다.

동일한 목표, 더 큰 규모

Aikido 보안 연구원 Raphael Silva는 보고서에서 “737개의 악성 패키지‑버전 항목이 169개의 npm 패키지 이름에 걸쳐 발견되었다”고 밝혔습니다. 이번 캠페인은 지난달 SAP 패키지를 목표로 했던 Shai‑Hulud 공격과도 유사합니다.

“근본적인 목표는 여전히 동일합니다: 개발자 머신과 CI/CD 러너에서 자격 증명을 탈취하고, 이를 이용해 더 많은 패키지를 장악하는 것이죠.”라고 Silva가 적었습니다. “변화된 점은 규모와 배포 경로입니다. 이번 파동은 단순히 누군가가 수동으로 나쁜 버전을 올린 것이 아니라, 악성코드가 빌드 시스템 내부에서 실행돼 npm 및 GitHub 접근 권한을 탈취하고, 신뢰받는 배포 경로를 악용해 새로운 손상된 패키지를 푸시합니다. … 이것이 후속 조치이며, 같은 아이디어지만 훨씬 더 큰 파급 효과를 갖습니다.”

‘웜이 진화하고 있다’

Endor Labs의 보안 연구원 Peyton Kennedy는 Mini Shai‑Hulud가 규모가 커질 뿐 아니라 각 캠페인마다 기술적으로 더 정교해지고 있다고 지적했습니다. 예를 들어, 2주 만에 4개의 SAP 패키지가 84개의 TanStack 패키지로 확대되었으며, SAP 캠페인에서 사용된 정적 토큰 및 OIDC 브랜치‑푸시 벡터는 “브랜치 보호 규칙을 우회하면서도 정당한 OIDC 기반 발행 토큰을 생성하는 새로운 포크‑커밋 기법”을 포함하게 되었습니다.

“이 캠페인 흐름의 근본적인 진실은 변하지 않습니다: 출처는 패키지가 어디서 빌드됐는지를 알려줄 뿐, 빌드가 승인됐는지는 알려주지 않습니다.”라고 그는 적었습니다. “OIDC 신뢰 배포는 장기 토큰의 필요성을 없애지만, 새로운 신뢰 표면—워크플로와 커밋이 토큰을 요청할 수 있는 범위—을 도입합니다. 그 범위를 최소한으로 제한하는 것이 바로 이 유형의 공격을 차단하는 핵심 제어입니다.”

“웜은 진화하고 있습니다. 방어자도 마찬가지여야 합니다.”라고 Kennedy가 덧붙였습니다.

0 조회
Back to Blog

관련 글

더 보기 »