러스트 (Rust) 공급망 공격
2026년 8월 20일 Nextron Systems 연구팀이 악성 크레이트 proc-macro1을 발견하고 Rust 보안 대응팀에 신고했습니다.
조사 결과, 인기 크레이트 arrayref의 유지관리자 계정이 침해되어 악의적인 코드가 포함된 버전이 배포된 것이 확인됐습니다.

Supply chain attack on arrayref (2026.08.20)
https://blog.rust-lang.org/2026/08/20/supply-chain-attack-on-arrayref/
Supply chain attack on arrayref | Rust Blog
Empowering everyone to build reliable and efficient software.
blog.rust-lang.org
| arrayref란 Rust 생태계의 작은 유틸리티 라이브러리(크레이트)로, 슬라이스(slice)에서 고정 크기 배열 참조를 안전하게 추출하는 매크로 2개를 제공 |
확인결과 3개의 악성 버전이 crates.io에 게시되었습니다.
- append-only-vec@0.1.9
- arrayref@0.3.10
- internment@0.8.7
여러 보안업체에서 관련 정보를 공개했습니다.
Rust Supply Chain Attack on arrayref: Significant Overlap with DPRK Campaigns (2026.08.21)
https://www.wiz.io/blog/rust-supply-chain-attack-on-arrayref-significant-overlap-with-dprk-campaigns
Rust Supply Chain Attack on arrayref: Significant Overlap with DPRK Campaigns | Wiz Blog
Malicious versions of the arrayref Rust crate (and others) executed a backdoor at compile time. The campaign's infrastructure overlaps with recent DPRK supply chain attacks, including Mastra and axios.
www.wiz.io
Rust Supply-Chain Attack: arrayref, internment, and append-only-vec Poisoned by the proc-macro1 Build-Time Dropper (2026.08.20)
https://www.stepsecurity.io/blog/arrayref-rust-crate-supply-chain-attack
Rust Supply-Chain Attack: arrayref, internment, and append-only-vec Poisoned by the proc-macro1 Build-Time Dropper - StepSecurit
Three Rust crates are compromised: arrayref 0.3.10, internment 0.8.7, and append-only-vec 0.1.9 each added a typosquatted build-time dependency (proc-macro1, proc-macro-en) whose build script downloads and runs a remote binary during cargo build. Full tech
www.stepsecurity.io
AI 요약이며, 내용을 일부 수정했습니다.
공격 구조
1단계 — 계정 침해 및 크레이트 하이재킹
공격자는 arrayref 유지관리자(droundy)의 계정이나 컴퓨터를 침해한 뒤, 다음 세 크레이트에 악성 의존성을 삽입했습니다:
- arrayref@0.3.10 (07:15 UTC 게시, 86분간 노출)
- internment@0.8.7 (07:34 UTC 게시, 90분간 노출)
- append-only-vec@0.1.9 (07:37 UTC 게시, 107분간 노출)
기존 안정 버전들을 의도적으로 yank(사용 중단 표시)해 사용자들이 악성 버전으로 강제 업그레이드하도록 유도했습니다.
2단계 — 타이포스쿼팅 크레이트를 통한 빌드타임 실행
삽입된 의존성은 proc-macro1 — (1억 5,400만 다운로드를 기록한 정상 크레이트 proc-macro2를 사칭한 타이포스쿼팅 크레이트)
이 크레이트의 build.rs(빌드 스크립트)가 핵심으로 피해자가 cargo build만 실행해도 악성코드가 실행됩니다. 코드를 실행하거나 별도 인스톨러를 실행할 필요가 없습니다.
build.rs의 동작:
- C2 URL(https://23.254.165[.]112:9089/)을 Base64 조각들로 나눠 런타임에 재조합 — 정적 문자열 분석 우회
- TLS 인증서 검증을 완전히 비활성화하는 커스텀 AcceptAll verifier 설치
- OS·아키텍처에 따른 플랫폼별 페이로드 다운로드 (Linux x86_64, Windows x86_64, macOS x86_64·aarch64 — 4종 지원)
- Unix는 /tmp/rust-setup, Windows는 %TEMP%\rust-setup.ps1로 저장 후 실행
3단계 — 2차 페이로드 (백도어)
- C2 통신: HTTPS POST /49890878 엔드포인트로 호스트 정보·탈취 자격증명을 Base64 JSON으로 전송
- 수집 정보: 호스트명, 사용자명, OS 정보, 설치된 앱 목록, Chrome·Brave·Edge SQLite 저장소에서 저장된 로그인 목록 열거(단, 암호화된 자격증명 자체는 추출하지 않음 — Wiz 보고서가 초기 오기재 후 정정)
- 지속성: Windows Registry Run 키 / macOS LaunchAgent / Linux systemd 사용자 서비스 — 플랫폼별 자동 지속성
- 명령 지원: kill(종료), minicfg(C2·비콘 간격 재설정), startup(지속성 설치), runscript(PowerShell·셸 스크립트 원격 실행)
- DGA 폴백: 주 C2 불통 시 5일마다 10개의 알고리즘 기반 .com 도메인을 생성해 대체 C2로 사용
- 설정 암호화: AES-128-GCM, 하드코딩 키 i am botking / 명령 인증: 내장 RSA-2048 개인키
영향 범위
arrayref는 전체 환경의 35% 이상에서 발견되며, Rust가 설치된 환경의 4분의 3에서 사용됩니다. 노출 시간(86~107분)이 짧았지만, Cargo 의존성 캐시(~/.cargo/registry/cache)를 통해 이미 빌드된 머신이라면 제거 이후에도 로컬에 악성 바이너리가 남아있을 수 있습니다.
대응
감염 여부 확인:
find ~/.cargo/registry/cache -type f \( \
-name 'arrayref-0.3.10.crate' -o \
-name 'internment-0.8.7.crate' -o \
-name 'append-only-vec-0.1.9.crate' -o \
-name 'proc-macro1-*.crate' -o \
-name 'proc-macro-en-*.crate' -o \
-name 'aovine-*.crate' -o \
-name 'arone-*.crate' -o \
-name 'aronenao-*.crate' -o \
-name 'tinymember-*.crate' \
\) -print
- 감염 확인 시 해당 호스트를 침해된 것으로 간주하고 전체 자격증명·CI 시크릿·서명키 교체
- /tmp/rust-setup, %TEMP%\rust-setup.ps1, %TEMP%\rust-setup-launch.vbs 삭제
- 지속성 아티팩트 제거: systemd 사용자 서비스, HKCU Run 키, LaunchAgent 점검
- Chrome·Brave·Edge 저장 비밀번호 및 세션 갱신
관련 기사
관련 기사입니다.
Rust Supply Chain Attack Puts Build-Time Malware in Crates with 245 Million Downloads (2026.08.20)
https://thehackernews.com/2026/08/rust-supply-chain-attack-puts-build.html
Rust Supply Chain Attack Puts Build-Time Malware in Crates with 245 Million Downloads
Rust deletes malicious releases of three crates after a proc-macro1 build script downloaded and ran a remote payload during compilation.
thehackernews.com
Rust Supply Chain Attack Linked to North Korean Hackers (2026.08.21)
https://www.securityweek.com/rust-supply-chain-attack-linked-to-north-korean-hackers
Rust Supply Chain Attack Linked to North Korean Hackers
North Korean hackers compromised the popular arrayref package in a supply chain attack targeting the Rust ecosystem.
www.securityweek.com
북한 연계 근거
Wiz는 조심스럽게 북한 연계 그룹 소행 가능성을 제시했습니다.
① 동일 C2 엔드포인트 패턴: /49890878 요청 경로가 북한 그룹 Sapphire Sleet에 귀속한 Mastra 캠페인(2026년 6월, npm 공급망 공격)에서 이미 사용된 것이 확인됩니다.
② SSL 인증서 공유: arrayref 페이로드 호스트(23.254.165[.]112)가 Mastra 캠페인에서 사용된 23.254.167[.]13과 동일한 SSL 발급자(WIN-A6QF8AHPQH1\Administrator@WIN-A6QF8AHPQH1)를 공유합니다.
③ axios npm 공격과의 인프라 중첩: 피해자가 보고한 C2 트래픽 목적지(23.254.167[.]216)가 Mandiant(Google Cloud TI)가 북한 연계 UNC1069의 axios npm 패키지 공격 분석에서 확인한 IP입니다.
세 공격 모두 Hostwinds LLC의 23.254.164.0/23 대역을 선호 인프라로 사용하는 공통점도 있습니다.
'보안위협 (악성코드, 취약점) > 보안위협 뉴스' 카테고리의 다른 글
| 폴란드 전력망 공격 추가 - 민간 전용 셀룰러망(Private APN)을 통한 사상 첫 OT 침투 사례 (0) | 2026.08.17 |
|---|---|
| ENDLESSDOORS 중국 인터넷 공유기 Zbtlink 백도어 - 원격 유지 보수 ? 의도된 백도어 ? (0) | 2026.08.10 |
| 특정 TV박스, 스마트폰으로 위장해 광고 클릭 (0) | 2026.08.05 |
| 2026년 3월 말 액시오스 (Axios) 공급망 공격 (0) | 2026.07.28 |
| 일부 LG 모니터, 동의 없이 McAfee 구독 홍보 소프트웨어 설치 (0) | 2026.07.28 |