@ AndréBorie è corretto. I compilatori e la configurazione corrispondente non saranno ben controllati per i problemi di sicurezza, quindi in generale non dovresti compilare codice non affidabile.
Il rischio è che venga sfruttato un overflow del buffer o qualche tipo di vulnerabilità di esecuzione della libreria, e il l'aggressore ottiene l'accesso all'account utente (si spera non root
!) che ha eseguito il compilatore. Anche un hack non di root
è serio nella maggior parte dei casi. Questo potrebbe essere elaborato in una domanda separata.
La creazione di una VM è una buona soluzione, per contenere eventuali potenziali exploit in modo che non possano danneggiare il resto dell'applicazione.
È la cosa migliore per avere un modello di VM Linux che puoi avviare secondo necessità con un ambiente di compilazione pulito.
Idealmente dovresti buttarlo via dopo ogni utilizzo, ma questo potrebbe non essere strettamente necessario. Se si isola abbastanza bene la VM e si disinfettano adeguatamente i dati di risposta dalla VM, cosa che si dovrebbe fare comunque; allora il peggio che un hack potrebbe fare è DoS o creare tempi di compilazione falsi. Questi non sono problemi seri da soli; almeno non così grave come l'accesso al resto della tua applicazione.
Tuttavia, il ripristino della VM dopo ogni utilizzo (cioè invece che quotidianamente) fornisce un ambiente più stabile in generale e può migliorare la sicurezza in certi edge casi.
Alcuni sistemi operativi forniscono contenitori come alternativa alle VM. Questo può essere un approccio più snello, ma si applicano gli stessi principi.