악성 Rust 크레이트, 빌드 시 페이로드 실행

원제: Malicious Rust crate Arrayref runs a build-time payload

왜 중요한가

빌드 타임 악성 코드는 컴파일만으로 감염되므로, 오픈소스 공급망 보안의 새로운 위협 벡터로 주목된다.

2026년 8월 20일, 인기 Rust 크레이트 arrayref의 버전 0.3.10이 crates.io에 등장했다. 해당 버전은 타이포스쿼팅 크레이트 proc-macro1에 의존하며, 프로젝트 컴파일 시 빌드 스크립트가 원격 바이너리를 다운로드·실행한다. crates.io 팀은 악성 버전을 이미 삭제했다.

보안 기업 SafeDep는 2026년 8월 20일, Rust 패키지 저장소 crates.io에 악성 버전의 arrayref(v0.3.10)가 게시됐다고 공개했다.

arrayref는 Rust 생태계에서 널리 사용되는 크레이트로, 유지 관리자 droundy의 계정이 침해된 것으로 보인다. 해당 계정의 GitHub 저장소(github.com/droundy/arrayref, github.com/droundy/append-only-vec)와 계정 자체가 현재 404 오류를 반환해 업스트림 코드 확인이 불가능한 상태다.

악성 버전은 proc-macro1이라는 타이포스쿼팅 크레이트에 대한 의존성을 추가했다. 이 크레이트는 실제 유명 개발자 David Tolnay의 계정명(dtolnay)과 유사한 dtolney라는 계정이 게시했으며, 메타데이터에 David Tolnay의 이름을 사칭해 신뢰성을 위장했다.

proc-macro1의 빌드 스크립트는 프로젝트 컴파일 중 원격 바이너리를 다운로드해 실행한다. 공격은 빌드 타임에 발생하므로, 해당 버전을 포함한 프로젝트를 단순히 컴파일하는 것만으로도 악성 페이로드가 실행된다. 사용자가 패키지를 직접 설치하거나 실행하지 않아도 피해가 발생할 수 있어 위험성이 높다.

crates.io 팀은 보고 이후 악성 버전들을 삭제 조치했다. SafeDep는 침해 지표(IoC)와 기술적 분석 내용을 블로그를 통해 공개했다.

출처

safedep.io — 원문 읽기 →