# NoScript

NoScript (o NoScript Security Suite) è una estensione libera e open source per il browser Firefox e altri basati su Mozilla. NoScript permette l'esecuzione di script JavaScript, Java, Flash (obsoleto dal 31 dicembre 2020), Silverlight e altri plugin solo da quei siti internet scelti dall'utente e inseriti in una apposita Lista fidata; questo fa aumentare la protezione contro molti attacchi informatici che sfruttano script malevoli per infettare il PC. È possibile permettere l'esecuzione completa di tutti gli script presenti su una determinata pagina, oppure consentirli temporaneamente mentre la si visita. Per gli script provenienti da domini di terze parti si può scegliere quali permettere e quali no selezionando il dominio di provenienza. NoScript fornisce anche una protezione anti-Cross-site scripting e anti-Clickjacking.

## Caratteristiche
### Blocco attivo dei contenuti

Per impostazione predefinita, NoScript blocca il contenuto web attivo (eseguibile), che può essere completamente o parzialmente sbloccato consentendo di elencare un sito o un dominio dal menu della barra degli strumenti dell'estensione o facendo clic su un'icona segnaposto.
Nella configurazione predefinita, il contenuto attivo è globalmente negato, sebbene l'utente possa capovolgerlo e utilizzare NoScript per bloccare specifici contenuti indesiderati. L'elenco delle autorizzazioni può essere permanente o temporaneo (fino alla chiusura del browser o alla revoca delle autorizzazioni). Il contenuto attivo può essere costituito da JavaScript, caratteri Web, codec multimediali, WebGL e Flash (obsoleto dal 31 dicembre 2020). L'add-on offre anche contromisure specifiche contro gli exploit di sicurezza.
Poiché molti attacchi al browser Web richiedono contenuto attivo che il browser normalmente esegue senza dubbio, disabilitare tale contenuto per impostazione predefinita e utilizzarlo solo nella misura in cui è effettivamente necessario riduce le possibilità di sfruttamento della vulnerabilità. Inoltre, il mancato caricamento di questo contenuto consente di risparmiare una notevole larghezza di banda e vanifica alcune forme di web tracking.
NoScript è utile anche per gli sviluppatori per vedere come funziona il loro sito con JavaScript disattivato. Può anche rimuovere molti elementi Web irritanti, come i messaggi pop-up in-page e alcuni paywall, che richiedono JavaScript per funzionare.
NoScript assume la forma di un'icona della barra degli strumenti o di un'icona della barra di stato in Firefox. Viene visualizzato su ogni sito Web per indicare se NoScript ha bloccato, consentito o parzialmente consentito l'esecuzione di script sulla pagina Web visualizzata. Facendo clic o passando il mouse (dalla versione 2.0.3rc1) il cursore del mouse sull'icona NoScript dà all'utente la possibilità di consentire o vietare l'elaborazione dello script.
L'interfaccia di NoScript, accessibile facendo clic con il pulsante destro del mouse sulla pagina Web o sulla casella NoScript distintiva nella parte inferiore della pagina (per impostazione predefinita), mostra l'URL degli script che sono bloccati, ma non fornisce alcun tipo di riferimento per verificare se un determinato script è sicuro da eseguire. Con pagine web complesse, gli utenti possono trovarsi di fronte a ben più di una dozzina di URL criptici diversi e una pagina web non funzionante, con solo la possibilità di consentire lo script, bloccare lo script o consentirlo temporaneamente.
Il 14 novembre 2017, Giorgio Maone ha annunciato NoScript 10, che sarà "molto diverso" dalle versioni 5.x, e utilizzerà la tecnologia WebExtension, rendendolo compatibile con Firefox Quantum. Il 20 novembre 2017, Maone ha rilasciato la versione 10.1.1 per Firefox 57 e versioni successive. NoScript è disponibile per Firefox per Android.

### Protezione anti-XSS

L'11 aprile 2007 NoScript 1.1.4.7 è stato rilasciato pubblicamente introducendo la prima protezione lato client contro il cross-site scripting di tipo 0 e di tipo 1 (XSS) mai fornita in un browser web.
Ogni volta che un sito Web tenta di iniettare codice HTML o JavaScript all'interno di un sito diverso (una violazione della politica della stessa origine), NoScript filtra la richiesta dannosa, neutralizzandone il pericoloso carico utile (payload).
Funzionalità simili sono state adottate anni dopo da Microsoft Internet Explorer 8 e da Google Chrome.

### Application Boundaries Enforcer (ABE)

L'Application Boundaries Enforcer (ABE) è un modulo NoScript integrato pensato per rafforzare le protezioni orientate all'applicazione web già fornite da NoScript, fornendo un componente simile a un firewall in esecuzione all'interno del browser.
Questo "firewall" è specializzato nella definizione e protezione dei confini di ogni applicazione web sensibile rilevante per l'utente (es. Plug-in, webmail, online banking e così via), secondo policy definite direttamente dall'utente, lo sviluppatore web / amministratore o una terza parte fidata. Nella sua configurazione predefinita, l'ABE di NoScript fornisce protezione contro CSRF e attacchi di rebinding DNS mirati alle risorse intranet, come router e applicazioni web sensibili.

### ClearClick (anti-clickjacking)

La funzione ClearClick di NoScript, rilasciata l'8 ottobre 2008, impedisce agli utenti di fare clic su elementi di pagina invisibili o "corretti" di documenti o applet incorporati, annullando tutti i tipi di clickjacking (ad esempio, da frame e plug-in).
Questo rende NoScript "l'unico prodotto disponibile gratuitamente che offre un ragionevole grado di protezione" contro gli attacchi di clickjacking.

### Miglioramenti HTTPS

NoScript può forzare il browser a utilizzare sempre HTTPS quando stabilisce connessioni ad alcuni siti sensibili, al fine di prevenire attacchi man-in-the-middle. Questo comportamento può essere attivato dai siti Web stessi, inviando l'intestazione Strict Transport Security o configurato dagli utenti per quei siti Web che non supportano ancora Strict Transport Security.
Le funzionalità di miglioramento HTTPS di NoScript sono state utilizzate dalla Electronic Frontier Foundation come base del suo componente aggiuntivo HTTPS Everywhere.

## Premi

* PC World ha scelto NoScript come uno dei 100 migliori prodotti del 2006.
* Nel 2008 NoScript ha vinto il premio editoriale di About.com come "Miglior componente aggiuntivo per la sicurezza".
* Nel 2010 NoScript è stato vincitore del "Reader's Choice Awards" nella categoria "Miglior componente aggiuntivo per la privacy/sicurezza" su About.com.
* Nel 2011, per il secondo anno consecutivo, NoScript è stato vincitore del "Reader's Choice Awards" nella categoria "Miglior componente aggiuntivo per la privacy/sicurezza" su About.com.
* NoScript è stato il vincitore del 2011 (prima edizione) del "Security Innovation Grant" del Dragon Research Group. Questo premio viene assegnato al progetto più innovativo nel campo della sicurezza informatica, come giudicato da un comitato indipendente.

## Controversie
### Conflitti con Adblock Plus e Ghostery

Nel maggio 2009 è stato riferito che una "guerra di estensione" era scoppiata tra lo sviluppatore di NoScript, Giorgio Maone, e gli sviluppatori dell'estensione di blocco degli annunci per Firefox Adblock Plus dopo che Maone aveva rilasciato una versione di NoScript che aggirava un blocco abilitato da un filtro AdBlock Plus. Il codice che implementa questa soluzione alternativa è stato "camuffato" per evitare il rilevamento. Maone ha dichiarato di averlo implementato in risposta a un filtro che ha bloccato il suo sito web. Dopo le crescenti critiche e una dichiarazione da parte degli amministratori del sito Mozilla Add-ons secondo cui il sito avrebbe cambiato le sue linee guida riguardo alle modifiche dei componenti aggiuntivi, Maone ha rimosso il codice e ha rilasciato scuse ufficiali.
Immediatamente dopo l'incidente di Adblock Plus, è sorto un battibecco tra Maone e gli sviluppatori del componente aggiuntivo Ghostery dopo che Maone ha implementato una modifica sul suo sito Web che ha disabilitato la notifica utilizzata da Ghostery per segnalare il software di tracciamento web. Questo è stato interpretato come un tentativo di "impedire a Ghostery di riferire su tracker e reti pubblicitarie sui siti web di NoScript". In risposta, Maone ha dichiarato che la modifica è stata apportata perché la notifica di Ghostery ha oscurato il pulsante di donazione sul sito NoScript. Questo conflitto è stato risolto quando Maone ha modificato il CSS del suo sito per spostare, anziché disabilitare, la notifica di Ghostery.