La cross-compilazione è il processo di compilazione del software su un sistema in modo che il binario risultante venga eseguito su un'architettura CPU o un sistema operativo diverso. Ad esempio, uno sviluppatore può compilare codice su una workstation x86-64 per un dispositivo embedded basato su MIPS, usando una cross-toolchain con il compilatore, il linker, gli header e le librerie corretti.
Nella sicurezza informatica, la cross-compilazione è importante perché molti target sono router, stampanti, telecamere e altri sistemi embedded che non possono compilare software localmente. I difensori la usano per produrre aggiornamenti del firmware, correzioni di sicurezza e strumenti diagnostici per hardware con risorse limitate. Gli attaccanti usano la stessa tecnica per creare malware o implant per architetture poco comuni che le loro macchine non possono eseguire in modo nativo. Quando le cross-build sono difficili, gli aggiornamenti vengono ritardati e i dispositivi vulnerabili restano esposti più a lungo, rendendo la portabilità della build un problema di sicurezza oltre che di sviluppo.


