위협 데이터베이스 멀웨어 미아스마 공급망 공격

미아스마 공급망 공격

최근 발견된 소프트웨어 공급망 공격 캠페인인 '미아스마(Miasma)'로 인해 여러 @redhat-cloud-services npm 패키지가 감염되었습니다. 이 공격은 개발자 환경에서 자격 증명과 민감한 정보를 수집하는 동시에 소프트웨어 개발 생태계 전반에 확산될 수 있는 자가 전파 웜을 배포하도록 설계되었습니다.

이번 캠페인은 이전에 Mini Shai-Hulud 와 관련된 전술과 매우 유사하며, 설치 시 실행, 자격 증명 탈취, CI/CD 침해, 암호화된 데이터 유출 및 하위 시스템 전파를 가능하게 하는 메커니즘을 활용합니다.

출처는 여전히 불확실합니다.

Miasma 공격의 배후는 아직 명확하게 밝혀지지 않았습니다. TeamPCP(Replicating Marauder, TGR-CRI-1135, UNC6780 등으로도 알려짐)가 이전에 Shai-Hulud 웜과 관련된 공격 도구를 오픈 소스 프로젝트로 공개했던 점 때문에 배후를 특정하기가 더욱 어려워졌습니다. 이로 인해 다른 사이버 범죄 조직들이 유사한 기법을 모방할 수 있게 되어, 정확한 배후를 특정하기가 더욱 어려워졌습니다.

손상된 npm 패키지

다음과 같은 npm 패키지가 영향을 받는 것으로 확인되었습니다.

@redhat-cloud-services/vulnerabilities-client

@redhat-cloud-services/tsc-transform-imports

@redhat-cloud-services/topological-inventory-client

@redhat-cloud-services/sources-client

@redhat-cloud-services/rule-components

@redhat-cloud-services/remediations-client

@redhat-cloud-services/rbac-client

난독화된 설치 로직을 통한 자격 증명 수집

보안 연구원들은 악성 패키지에 패키지 설치 중에 자동으로 실행되도록 설계된 난독화된 사전 설치 후크가 포함되어 있음을 발견했습니다. 이 멀웨어는 GitHub Actions 비밀 키, npm 인증 토큰, 클라우드 자격 증명, Kubernetes 및 HashiCorp Vault 비밀 키, SSH 키, Git 자격 증명, 그리고 감염된 시스템에 저장된 기타 기밀 파일 등 광범위한 중요 자산을 표적으로 삼습니다.

이전의 Mini Shai-Hulud 캠페인에서 관찰된 바와 같이, 이 멀웨어는 암호화된 데이터 유출 루틴을 포함하고 있습니다. 탈취된 정보는 api.anthropic.com:443/v1/api로 전송되며, GitHub는 또 다른 데이터 유출 채널로 사용됩니다. 이러한 이중 목적 전략은 자격 증명을 탈취하는 것뿐만 아니라 이를 악용하여 소프트웨어 공급망을 더욱 침해하려는 시도를 보여줍니다.

암호화된 데이터 패키지는 GitHub API를 통해 커밋되며, 커밋 메시지에는 다음 문자열이 포함될 수 있습니다.

'이 토큰을 무효화하면 소유자의 컴퓨터가 파괴될 것입니다.'

은밀 기술 및 전파 메커니즘

해당 악성 소프트웨어는 지속성을 극대화하고, 탐지를 회피하며, 접근 권한을 확장하기 위한 여러 가지 조치를 포함하고 있습니다. 특히 주목할 만한 특징은 러시아어 시스템에서의 실행을 의도적으로 회피한다는 점인데, 이는 이전에 글래스웜 공급망 공격에서 관찰된 바 있는 특징입니다.

npm 환경의 경우, 악성 코드는 OIDC 토큰 교환 및 whoami 엔드포인트와 상호 작용하고, 소프트웨어 아카이브를 업데이트된 tarball로 재패키징하며, Sigstore를 사용하여 수정된 아티팩트에 서명합니다. 탈취된 자격 증명은 'Miasma: The Spreading Blight'라는 설명이 있는 공격자가 관리하는 공개 GitHub 저장소로 유출됩니다.

조사관들은 이 설명이 포함된 가장 초기의 커밋을 2026년 5월 29일에 확인했으며, 이는 해당 날짜쯤에 실제 공격이 시작되었거나 초기 테스트 단계가 진행되었음을 시사합니다.

GitHub 환경 내에서 악성코드는 손상된 토큰으로 접근 가능한 저장소를 열거하고, GraphQL 쿼리를 통해 워크플로 정의를 분석하며, createCommitOnBranch 뮤테이션을 사용하여 악성 워크플로를 삽입합니다. 이러한 접근 방식을 통해 악성 변경 사항이 검증되고 암호화 서명된 커밋처럼 위장될 수 있습니다.

고급 지속성 및 권한 상승 기능

분석 결과 악성 소프트웨어에 몇 가지 추가 기능이 내장되어 있는 것으로 밝혀졌습니다.

호스트의 /etc/sudoers.d 디렉터리를 바인드 마운트하고 CI 실행기에게 암호 없이 sudo 접근 권한을 부여하는 컨테이너를 실행하여 권한을 상승시키려는 시도입니다.

악성 활동을 시작하기 전에 CrowdStrike, SentinelOne, Carbon Black 및 StepSecurity Harden-Runner를 포함한 엔드포인트 보안 솔루션을 탐지합니다.

Anthropic Claude 코드에 SessionStart 후크를 삽입하고 Microsoft Visual Studio Code 프로젝트용 'runOn': 'folderOpen'으로 구성된 악성 tasks.json 파일을 생성하여 향후 개발 세션 동안 실행되도록 하는 지속성 메커니즘입니다.

클라우드 ID 침해에 대한 관심 증대

Miasma 변종의 주요 진화 사항은 클라우드 ID 수집에 대한 집중도가 확대되었다는 점입니다. Google Cloud Platform(GCP) 및 Microsoft Azure 환경을 대상으로 하는 새로운 모듈은 감염된 컴퓨터에서 접근 가능한 모든 클라우드 ID에 대한 정보를 수집합니다.

이전 변종들은 주로 클라우드 환경에서 비밀 정보를 추출하는 데 집중했습니다. 신원 정보에 초점을 맞춘 수집기가 추가된 것은 클라우드에 직접 접근하고 클라우드 인프라 내의 특권 계정을 악용하는 방향으로 전략적 변화가 일어났음을 시사합니다.

탐지 노력을 더욱 어렵게 만드는 것은 각 감염이 고유하게 암호화된 페이로드를 생성한다는 점입니다. 이러한 맞춤형 페이로드는 시그니처 기반 탐지, 악성코드 추적 및 사건 간 버전 상관관계 분석을 크게 방해합니다.

초기 침해 및 공급망 침투

입수된 증거에 따르면 이번 공격 캠페인은 레드햇 직원의 GitHub 계정이 해킹당하면서 시작된 것으로 보입니다. 조사관들은 해당 계정이 최초 감염 지점 역할을 하여 공격자들이 악성 코드를 감염된 패키지에 주입할 수 있도록 했다고 판단하고 있습니다.

해킹당한 계정은 악성 미완료 커밋을 두 개의 Red Hat Insights 저장소에 푸시하여 기존 코드 검토 절차를 우회하고 악성 페이로드를 소프트웨어 공급망에 유입시킨 것으로 알려졌습니다.

사고 대응 및 복구 지침

영향을 받는 패키지 버전을 설치한 조직은 즉시 해당 시스템을 격리하고, 악성 패키지를 제거하고, 노출되었을 가능성이 있는 모든 자격 증명을 교체하고, 무단 접근 징후가 있는지 GitHub 및 npm 활동을 조사하고, 환경 내 지속성 메커니즘을 검토해야 합니다. 특히 다음과 같은 무단 수정 사항에 주의를 기울여야 합니다.

~/.claude/settings.json, .vscode/tasks.json, .github/workflows/codeql.yml 및 .github/setup.js 파일입니다.

개발 환경과 클라우드 환경 전반에 걸쳐 강력한 접근 제어가 시행되어야 합니다.

해당 악성코드는 개발자 도구 내에서 백그라운드 실행 기능과 지속성을 확보하기 때문에, 영향을 받는 npm 패키지를 제거하거나 node_modules 디렉토리를 삭제하는 것만으로는 충분한 해결책으로 간주해서는 안 됩니다.

CI/CD 환경의 경우, 영향을 받은 워크플로 실행을 즉시 중단해야 합니다. 조직은 노출 기간 동안 생성된 빌드 아티팩트를 무효화하고, 악성 패키지가 환경에 유입된 이후에 릴리스, 컨테이너 이미지, npm 패키지, 배포 아티팩트 또는 기타 소프트웨어 구성 요소가 생성되었는지 철저히 검토해야 합니다.

트렌드

가장 많이 본

로드 중...