Uno script di build è codice che Cargo può compilare ed eseguire automaticamente durante una build Rust, di solito da un file build.rs. Viene usato per attività personalizzate come la generazione di file sorgente, il controllo delle librerie di sistema o l'impostazione della configurazione al momento della compilazione prima che il crate principale venga compilato.
Gli script di build sono importanti per la sicurezza perché vengono eseguiti all'interno della pipeline di build, non solo nell'applicazione finale. Questo dà loro accesso all'host di build, alle variabili d'ambiente, ai file del workspace e talvolta all'accesso alla rete. In un attacco alla supply chain, una dipendenza malevola o un pacchetto compromesso può abusare di uno script di build per ispezionare segreti, alterare il codice generato o esfiltrare dati durante la compilazione. Chi difende riduce il rischio esaminando con attenzione i nuovi script di build, limitando i segreti della CI, isolando le build e monitorando traffico in uscita inatteso durante la compilazione.


