Un crate Rust è un pacchetto distribuibile di codice Rust. I crate sono l'unità di base del riuso nell'ecosistema di pacchetti di Rust, e vengono comunemente pubblicati così che altri progetti possano aggiungerli come dipendenze. Un crate può fornire librerie, script di build, macro o strumenti da riga di comando, e può essere recuperato automaticamente dal sistema di build durante la compilazione.
Nella sicurezza informatica, i crate sono importanti perché il codice delle dipendenze viene spesso considerato affidabile ed eseguito all'interno del processo di build. Un crate malevolo o compromesso può leggere file sorgente locali, ispezionare le variabili d'ambiente o effettuare richieste di rete da una macchina di sviluppo o da un sistema CI. Ciò rende possibile un abuso della supply chain anche quando l'applicazione finale non è esposta direttamente. I difensori riducono questo rischio con il fissaggio delle dipendenze, la revisione degli aggiornamenti dei crate, permessi di build minimi e il monitoraggio di comportamenti inattesi durante la fase di build.


