Un motore JavaScript è il componente del browser che analizza ed esegue gli script delle pagine web. Trasforma il codice della pagina in azioni che il browser può eseguire, come modificare il contenuto, effettuare richieste o avviare funzionalità interattive. Molti motori usano anche la compilazione just-in-time (JIT) per velocizzare l'esecuzione convertendo i percorsi di script più usati in codice macchina mentre la pagina è in esecuzione.
Questo componente è importante perché si trova in una superficie di attacco di alto valore: bug nell'analisi degli script, nell'ottimizzazione JIT o nella gestione della memoria possono consentire a una pagina web malevola di provocare arresti anomali, fughe di dati o persino l'esecuzione di codice nel processo del browser. I difensori considerano gli aggiornamenti del motore critici, perché i browser incentrati sulla privacy spesso ereditano lo stesso codice del motore e le stesse vulnerabilità dai progetti upstream. In pratica, ridurre l'esposizione a JavaScript e mantenere aggiornato il browser sono modi comuni per limitare il rischio derivante dai difetti del motore.


