Spectre è una classe di attacchi side-channel alla CPU che sfrutta l'esecuzione speculativa. I processori moderni prevedono quali istruzioni serviranno dopo ed eseguono in anticipo per mantenere alte le prestazioni. Anche quando la previsione è errata, possono rimanere tracce nelle cache, nei predictor dei rami o nel comportamento temporale. Un attaccante in grado di misurare tali tracce può dedurre dati che avrebbero dovuto restare privati, come segreti provenienti da un altro processo, sandbox o macchina virtuale.
Spectre è importante perché prende di mira il comportamento hardware, non solo i bug del software. Le tradizionali convalide e i controlli di accesso possono comunque essere aggirati se il processore perde informazioni attraverso lo stato microarchitetturale. Le difese si concentrano sulla riduzione di ciò che può essere osservato o speculato: mitigazioni a livello di processore e firmware, hardening del compilatore, modifiche all'isolamento del kernel e, talvolta, la disattivazione o la limitazione di funzionalità ad alto rischio come i percorsi di codice fortemente basati su JIT. In pratica, i team di sicurezza considerano Spectre come un compromesso tra prestazioni e isolamento che deve essere gestito su CPU, sistemi operativi, browser e runtime.


