Sto creando un'iniziativa di sicurezza del software presso una piccola azienda di software. Parte di questo è la selezione di uno strumento di analisi statica per il rilevamento anticipato e automatico delle vulnerabilità della sicurezza.
Molte lingue hanno diversi strumenti di analisi statica incumbent. C #, il nostro linguaggio back-end, ne ha una pletora, come HP Fortify o Checkmarx CxSuite per citarne alcuni.
Molti di questi strumenti scansionano anche il codice JavaScript nel browser. Controllano gli oggetti comuni come gli attacchi cross-site scripting (XSS) e cross-site request forgery (CSRF o XSRF). Capiscono persino JQuery e le vecchie librerie JavaScript.
Tuttavia, non sono stato in grado di trovare uno strumento di analisi statico che esamina i framework MVC JavaScript. AngularJS , il framework JavaScript che stiamo utilizzando, attenua molte vulnerabilità di sicurezza comuni (come molti attacchi di iniezione DOM tramite l'associazione dati) ma fornisce soluzioni diverse ad altri vulnerabilità (come il suo proprio meccanismo di protezione XSRF ).
Quali strumenti di analisi statica esistono per supportare i siti Web di AngularJS? Il costo non è tanto un problema, piuttosto che un buon set di regole. Anche gli strumenti specifici di AngularJS o specifici di JavaScript vanno bene.
Ricorda:
- Questo strumento di analisi statica non sostituisce i test manuali o di penetrazione. Ciò avverrà in seguito, ma gli strumenti di analisi statici consentono di individuare i problemi non appena viene scritto il codice anziché chiudere verso la fine quando il prodotto è completo. Mentre sto lavorando con buoni sviluppatori, non sono esperti di sicurezza. La base di codice è sempre più grande (100K + linee) e personalmente non posso rivedere ogni singolo cambiamento.
- Molti strumenti di analisi statica consentono la creazione di nuove regole e sono felice di farlo. Tuttavia, il mio obiettivo è quello di fornire software invece di creare e eseguire il debug dei controlli di sicurezza di base.