A quanto ho capito, le implementazioni JavaScript in esecuzione nei browser devono eseguire codice non affidabile e operare su dati non attendibili in modo sicuro. Le implementazioni linguistiche (ad es. Python) in esecuzione su un server, OTOH, eseguono codice attendibile e devono solo gestire in modo sicuro i dati non attendibili.
Questa differenza significa che le due implementazioni linguistiche devono risolvere problemi fondamentalmente diversi, per quanto riguarda la sicurezza?
Vi sono attacchi possibili tramite codice e dati non attendibili, ma non solo tramite dati non attendibili? Se è così, presumibilmente un'implementazione Python può permettersi di ignorare questi tipi di attacco, ma un'implementazione JS dovrebbe essere sicura contro di loro?
O tutti gli attacchi possibili tramite codice non affidabile dovrebbero essere considerati possibili anche attraverso dati non attendibili? In tal caso, le implementazioni Python dovrebbero impiegare tutte le funzionalità di sicurezza delle implementazioni JS?
In altre parole, è più semplice proteggere un'implementazione linguistica solo da dati dannosi, rispetto ai dati dannosi e al codice dannoso?