[Rust 공식문서 한국어 정리] 82. Rust cargo-audit 가이드
[Rust 공식문서 한국어 정리] 82. Rust cargo-audit 가이드
원문 제목: cargo-audit — Audit Cargo.lock for security vulnerabilities
작성자: RustSec Contributors
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📌 1. 서론 — 이 문서가 다루는 내용
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
이 문서는 cargo-audit를 사용하여 Rust 프로젝트의 의존성에서 알려진 보안 취약점을 검사하는 방법을 설명합니다.
RustSec Advisory Database를 기반으로, Cargo.lock에 기록된 크레이트 버전이 취약한지를 자동으로 확인합니다.
설치, 실행, CI 통합, 그리고 취약점 발견 시 대응 전략을 중심으로 설명합니다.
보안은 모든 소프트웨어의 기본 요건이며, cargo-audit는 Rust 생태계의 보안 모니터링을 자동화하는 필수 도구입니다.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔑 2. 핵심 개념 4가지
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
① RustSec: Rust 보안 권고 데이터베이스로, 알려진 취약점을 수집하고 관리합니다.
② cargo-audit: Cargo.lock을 검사하여 RustSec 데이터베이스의 취약점과 일치하는지 확인하는 도구입니다.
③ Advisory: 특정 크레이트 버전의 보안 취약점에 대한 공식 보고서입니다.
④ CI Integration: CI 파이프라인에 cargo audit를 통합하여, 의존성 변경 시 자동으로 보안 검사를 수행합니다.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📖 3. 주요 내용 상세
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
cargo-audit는 cargo install cargo-audit로 설치하고, cargo audit으로 실행합니다.
프로젝트 루트의 Cargo.lock을 읽어, 의존하는 모든 크레이트의 버전을 RustSec 데이터베이스와 비교합니다.
취약점이 발견되면 크레이트 이름, 취약한 버전 범위, CVSS 점수, 그리고 관련 Advisory 링크를 출력합니다.
RustSec Advisory Database는 커뮤니티가 운영하는 공개 데이터베이스입니다.
crates.io의 크레이트 중 보안 취약점이 발견된 경우, 누구나 PR을 통해 Advisory를 추가할 수 있습니다.
Advisory는 취약한 버전 범위, 패치 버전, 그리고 문제 설명을 포함합니다.
cargo audit는 다양한 출력 형식을 지원합니다.
--json으로 JSON 출력을 생성하여, CI에서 파싱하거나 보고서를 자동 생성할 수 있습니다.
--ignore으로 특정 Advisory를 무시할 수 있지만, 가능한 한 패치를 적용하는 것이 바람직합니다.
CI 통합은 보안 검사를 자동화하는 핵심입니다.
GitHub Actions에서 cargo audit를 실행하고, 취약점 발견 시 PR을 블로킹합니다.
Dependabot이나 Renovate와 함께 사용하면, 취약점이 패치된 새 버전을 자동으로 제안받을 수 있습니다.
취약점 대응은 다음과 같은 단계로 이루어집니다.
cargo update로 패치 버전을 적용하거나, Cargo.toml의 버전 요구사항을 상향 조정합니다.
패치가 불가능한 경우, 취약한 기능을 비활성화하거나, 임시 완화책을 적용합니다.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🛠 4. 실전 활용
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
로컬 개발 환경에서 주기적으로 cargo audit를 실행하여, 의존성의 보안 상태를 확인합니다.
CI에서 cargo audit를 실행하고, 취약점 발견 시 Slack/이메일로 알림을 전송합니다.
cargo-deny와 함께 사용하여, 보안 취약점과 함께 라이선스 불일치도 동시에 검사합니다.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 5. 정리
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
cargo-audit는 Rust 프로젝트의 의존성 보안을 자동으로 모니터링하는 필수 도구입니다.
RustSec 데이터베이스와 연동하여, 알려진 취약점을 빠르게 감지하고 대응할 수 있습니다.
CI에 통합하여 지속적인 보안 검사를 수행하고, 취약점은 즉시 패치하세요.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔗 출처 링크
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
원문: https://docs.rs/cargo-audit/latest/cargo_audit/
RustSec: https://rustsec.org/
#Rust #cargo-audit #Security #RustSec #Dependencies #CI #번역

오뉴노노 님의 최근 댓글
ㅋㅋㅋㅋㅋ 2019 01.14 잘 읽었습니다 2018 12.30 포인트가 없어서 아직 시작을 못하고있는데요! 글은 잘 읽었습니다! 포인트 쌓고 도전할거에요 2018 12.30