Scaricare un modello è eseguire codice di terzi con i tuoi permessi – e per anni il rischio è stato letteralmente questo: il formato pickle di PyTorch è codice Python serializzato, e caricarlo può eseguire comandi arbitrari. Un checkpoint "innocuo" su un hub pubblico poteva aprire una reverse shell all'import. I rischi in fila:
- deserializzazione malevola (pickle): la ragione per cui esiste safetensors – un formato che contiene solo dati, nessun codice eseguibile. Preferiscilo sempre; scansiona i pickle (picklescan) quando sei costretto a usarli
- checkpoint manomessi: pesi alterati con backdoor o comportamenti nascosti – da qui l'importanza di hash e firme verificabili, non del solo "scaricato dal repo giusto"
- librerie non validate:
transformers,tokenizerse affini sono dipendenze come le altre – CVE, versioni pinnate, SBOM
La risposta emergente è l'AIBOM (AI Bill of Materials): l'inventario firmato di cosa c'è in un sistema AI – modello, dataset di provenienza, licenze, dipendenze – l'equivalente dell'SBOM per l'era dei modelli, e un tassello di conformità AI Act. La regola pratica minima: safetensors, hash verificati, fonti fidate, e trattare ogni modello scaricato come una dipendenza da governare, non come un file di dati inerte.