GHSA-382Q-FPQH-29F7: 나쁜 말에 베팅하기: 악의적인 `polymarket-clients-sdk` Crate
Source: Dev.to
개요
취약점 ID: GHSA-382Q-FPQH-29F7
CVSS 점수: 10.0
공개일: 2026-02-06
Rust 생태계를 겨냥한 고전적인 공급망 공격입니다. polymarket‑clients‑sdk 크레이트가 crates.io에 공식 Polymarket 예측 플랫폼 SDK인 척 나타났습니다. 베팅을 위한 헬퍼 함수를 제공하는 대신, 자격 증명을 탈취하고 악성 빌드 스크립트를 통해 개발자 환경을 손상시킬 수 있는 페이로드를 전달했습니다. 이는 브랜드 탈취와 패키지 설치 시 임의 코드 실행이라는 고유 위험이 결합된 전형적인 사례입니다.
기술 세부 사항
- 공격 유형: 공급망 / 악성 패키지
- CWE ID: CWE‑506 (Embedded Malicious Code)
- 플랫폼: Rust / crates.io
- 공격 벡터: 네트워크 (정품 소프트웨어로 위장)
- 메커니즘:
build.rs임의 코드 실행 - 필요 권한: 사용자 수준 (개발자 권한을 상속)
영향을 받는 환경
- Rust 개발 워크스테이션
- Rust 프로젝트를 빌드하는 CI/CD 파이프라인
- crates.io에 접근 가능한 시스템
영향
악성 크레이트는 컴파일 시 즉시 임의 코드를 실행하여 환경 변수, 개인 키 및 기타 비밀을 탈취할 가능성이 높습니다. 해당 크레이트가 설치된 경우, 해당 머신은 손상된 것으로 간주하고 모든 노출된 비밀을 교체해야 합니다.
완화 및 복구
- 식별:
Cargo.toml에polymarket-clients-sdk가 포함된 프로젝트를 찾습니다. - 제거: 해당 의존성을 즉시 삭제합니다.
target디렉터리와Cargo.lock파일을 삭제하여 컴파일된 아티팩트를 정리합니다.- 전체 시스템 손상 가정: 머신에 접근 가능한 모든 비밀, 키, 환경 변수를 교체합니다.
- 재구축: 호스트 시스템이나 컨테이너를 깨끗한 상태에서 다시 빌드합니다.
예방 조치
cargo-vet와 같은 공급업체 검증 도구 사용- 샌드박스 환경에서 빌드 (예: Docker, Firejail)
Cargo.lock을 통해 의존성 고정- 빌드 시 외부 요청을 제한하는 네트워크 제어 적용
참고 자료
- GHSA-382Q-FPQH-29F7 Advisory
- Rust 문서: Build Scripts
- Full report for GHSA-382Q-FPQH-29F7 (대화형 다이어그램 및 전체 익스플로잇 분석 포함)