Sono lo sviluppatore principale di una libreria JavaScript Open Source. Quella libreria viene utilizzata nell'azienda per cui lavoro, per diversi clienti. Ogni tanto c'è un cliente che si sente paranoico nell'implementare una biblioteca di cui non ha mai sentito parlare e mi chiede perché dovrebbe fidarsi di questo codice.
Comprendo la preoccupazione e di solito li indirizza a un repository github in cui è ospitata la libreria e mostro altri progetti e client che utilizzano la stessa libreria. A volte riesaminano il codice su github e tutto procede liscio dopo.
Ma questa volta il cliente è un po 'più paranoico. Mi ha chiesto che tipo di controllo di sicurezza ha avuto la libreria e mi ha detto che i loro sistemi sono "validati con i primi 10 controlli OWASP / scansioni".
Dopo alcune ricerche la cosa più vicina che ho trovato è questo documento che elenca le 10 vulnerabilità principali nelle applicazioni web nel 2010, da OWASP.
Penso che non tutti questi si applicano, dal momento che non sto fornendo un'applicazione web ma solo una libreria javascript. E la mia comprensione è che queste vulnerabilità la maggior parte delle volte devono essere controllate manualmente da uno specialista della sicurezza piuttosto che da una scansione automatica.
Ora alle mie domande:
- C'è un modo per affermare gli standard di sicurezza in una libreria JavaScript?
- C'è qualche strumento in grado di scansionare JavaScript per minacce alla sicurezza?
UPDATE 1
Anche se non sono un esperto in sicurezza, sono uno sviluppatore web e comprendo i difetti comuni che possono causare vulnerabilità alle applicazioni Web. Ciò di cui ho bisogno è un modo per dimostrare in particolare a una persona non tecnica che questa libreria è stata controllata almeno per minacce minime e exploit ed è in effetti sicura per essere utilizzata sul loro sito web.
Ciò che mi viene in mente è forse una società neutrale o un consulente specializzato in sicurezza web in grado di revisionare il codice e attestarne la qualità. È una pratica comune?
UPDATE 2
Immagina che qualcuno ti dia un grande file javascript da includere nel tuo sito come parte di un'integrazione. Questo script verrà eseguito all'interno del tuo sito e. Probabilmente vuoi essere sicuro da dove viene quel file e chi è stato lo sviluppatore che lo ha creato. Immagina che qualche sviluppatore disonesto su Facebook abbia deciso di inserire del codice maligno all'interno dello script simile per rubare dati o cookie dai siti in cui viene eseguito.
Quando includi librerie di aziende ben conosciute o progetti Open Source che vengono esaminati da più persone (come jQuery) questo è un caso molto improbabile. Ma quando includi uno script da una piccola azienda o da uno sviluppatore solista, posso considerarlo un problema.
Non voglio cercare exploit nella mia biblioteca, perché so di averne incluso nessuno. Voglio solo dimostrare in qualche modo che il codice è sicuro, quindi gli utenti non hanno questo tipo di preoccupazione quando lo usano.