Un file .csproj è il file di progetto XML usato da Microsoft Build Engine (MSBuild) per definire come un'applicazione .NET viene compilata, pacchettizzata e pubblicata. Elenca i file di origine, i riferimenti, i framework di destinazione e le impostazioni di build, e può anche importare altra logica di build da file .props e .targets.
Poiché MSBuild può eseguire task durante una build, un file .csproj malevolo o manomesso può essere più di una semplice configurazione. Può attivare comandi, caricare target inattesi o modificare il flusso di build in modo che il codice venga eseguito quando uno sviluppatore apre o compila il progetto. Questo rende i file di progetto una vera superficie di attacco negli сценарi della supply chain software e di phishing. I difensori dovrebbero esaminare i progetti sconosciuti in ambienti isolati, controllare le importazioni e i target personalizzati, e cercare task Exec sospetti, script o riferimenti a pacchetti che non corrispondono al normale lavoro di sviluppo.


