Come verificare il codice JavaScript scritto da qualcun altro prima di includerlo sul mio sito?

4

Desidero includere una funzione per aggiungere una funzione di ordinamento su una tabella HTML sul mio sito, utilizzando la libreria di tablesorter .

Lo userei su una parte del sito che richiede un accesso per accedere ai dati. Ma sono preoccupato che la libreria possa infiltrarsi nel malware o provare a estrarre i dati visualizzati nella tabella. Cosa devo cercare nel file JS per assicurarmi che non stia rendendo vulnerabili i dati del sito includendo questo JS scritto da qualcun altro?

Ospiterò lo script sui miei server e non collegheremo a un file di terze parti.

    
posta Don85203 12.02.2018 - 18:12
fonte

3 risposte

1

Per la lib che hai collegato puoi controllare il codice guardandolo. Il file che collegheresti tra i tag <script> dovrebbe essere letto. Raccomanderei CONTRO di usare jquery-latest.js e invece di usare la versione dalla homepage di jquery (poiché la sua versione è stata ridotta).

Detto questo, mentre guardiamo attraverso jquery.tablesorter.js ... sembra piuttosto carino. Sono circa 1.000 righe di codice ben documentato. Anche se non conosci la sintassi di javascript stesso ... se capisci la programmazione dovresti essere in grado di esaminare il codice esistente e comprenderne il flusso. Come affermato da Aria, non dovrebbe contenere IP o nomi di dominio a meno che non siano nei commenti per documentare ulteriormente il codice (che appare in questo codice).

    
risposta data 13.02.2018 - 13:24
fonte
5

Una soluzione imperfetta è fare affidamento sulla reputazione. La biblioteca ha molti utenti? Molti download su GitHub o npm? Una comunità attiva? Ne fanno uso grandi attori affermati? Una backdoor in jQuery sarebbe stata già scoperta, ma non quella in una piccola libreria oscura.

Se ciò non è abbastanza buono per te, il prossimo passo è passare attraverso il codice. Ci sono alcune euristiche che puoi usare. Il codice offuscato è una grande bandiera rossa. Quindi sono richieste HTTP impreviste che utilizzano, ad es. XHR o fetch. Ma un aggressore intelligente può nascondere il codice per estrarre i dati: un tag immagine dall'aspetto insospettabile potrebbe essere usato per fare una richiesta HTTP per esempio. Quindi non aspettarti di essere in grado di farlo con grep. Se hai dei dubbi, forse dovresti mirare almeno ad una comprensione superficiale dell'intero codice base.

    
risposta data 13.02.2018 - 13:03
fonte
1

Dovresti cercare:

  • password
  • Password crittografate come hash
  • Codice crittografato / codificato
  • Riferimenti a siti Web esterni, come indirizzi IP, nomi di dominio

Questi sono segni comuni di backdoor nel codice basato sul web.

    
risposta data 12.02.2018 - 18:33
fonte

Leggi altre domande sui tag