Uno stack software è l’insieme degli strati software e delle piattaforme che collaborano per rendere utilizzabile l’hardware. Può includere codice di controllo di basso livello, sistemi operativi, strumenti di sviluppo, applicazioni e servizi di supporto. Nel calcolo quantistico, per esempio, l’hardware ha bisogno di software di controllo, framework di programmazione, algoritmi e strumenti di integrazione prima di poter supportare carichi di lavoro pratici.
Ogni strato può incidere sulla sicurezza: vulnerabilità o configurazioni errate di un componente possono esporne altri, mentre le dipendenze possono creare rischi per la catena di fornitura. Gli aggressori possono sfruttare librerie vulnerabili, compromettere processi di build o aggiornamento oppure abusare di interfacce deboli tra gli strati. I difensori mappano e aggiornano le dipendenze, limitano gli accessi, verificano le fonti del software e testano i componenti lungo tutto lo stack. Valutare lo stack nel suo insieme aiuta inoltre le organizzazioni a stabilire se una piattaforma sia gestibile, resiliente e affidabile, non solo se il suo hardware funziona.


