위키득계정 ↗
기술

Cargo Auditable

Cargo Auditable기술
주요 언어
Rust
주요 역할
바이너리 의존성 정보 기록
정보 형식
압축한 JSON 의존성 트리
기록 위치
전용 링커 섹션
Cargo Auditable은 Rust 실행 파일에 빌드 의존성 정보를 포함하는 도구다. 크레이트의 이름과 버전을 담은 의존성 트리를 바이너리에 기록해 배포된 파일에서도 알려진 취약점 검사를 수행하도록 돕는다.

빌드 결과에 남기는 정보

빌드할 때 사용한 의존성 트리를 JSON으로 만들고 압축해 실행 파일의 전용 섹션에 넣는다. 소스 프로젝트나 별도 장부 없이도 바이너리에서 크레이트 이름과 버전을 확인할 수 있도록 하는 구성이다.

검사 도구와의 연결

Cargo Audit과 Trivy 및 Grype 같은 도구가 기록된 정보를 읽어 취약점을 검사할 수 있다. Syft는 이를 추출해 다른 형식으로 변환하는 기능을 제공한다. 정보를 기록하는 단계와 그 정보로 검사를 수행하는 단계가 나뉜다.

재현성과 적용 범위

기록에는 타임스탬프를 넣지 않고 JSON을 정렬해 재현 가능한 빌드를 방해하지 않도록 설계한다. URL과 파일 경로는 제거하지만 크레이트 이름과 버전은 남긴다. 의존성 목록의 포함만으로 악의적인 코드나 공급망 공격이 방지되는 것은 아니다.

관련 문서

Cargo Audit / Cargo Vet / Syft / Trivy / Grype / Rust