Una distribuzione sorgente, o sdist, è un formato di pacchetto Python che include file sorgente invece di binari precompilati. Durante l'installazione, il gestore dei pacchetti può dover compilare il progetto localmente, il che può attivare passaggi di configurazione, compilazione o altra logica eseguita in fase di installazione. Questo rende gli sdist flessibili per gli sviluppatori, ma anche più rischiosi rispetto ai pacchetti puramente precompilati, perché il processo di installazione può eseguire codice prima che il pacchetto sia completamente considerato affidabile.
Nella sicurezza informatica, gli sdist sono importanti perché gli aggressori possono nascondere comportamenti dannosi in script di build, hook delle dipendenze o metadati di packaging che vengono eseguiti durante l'installazione. I difensori riducono questo rischio preferendo pacchetti bloccati e verificati, esaminando i file di build, usando ambienti di build isolati e bloccando le build da sorgente non necessarie nelle pipeline di produzione. In pratica, il rischio legato agli sdist emerge ovunque i sistemi automatizzati installano dipendenze senza revisione umana, trasformando un normale recupero di pacchetti in un possibile percorso di esecuzione.


