Le applicazioni web di oggi spesso utilizzano una moltitudine di componenti di terze parti che contengono a loro volta decine di migliaia di righe di codice, scritte da tantissimi soggetti diversi. Gli sviluppatori che usano questi componenti si affidano alla descrizione dell’autore che, nella maggior parte dei casi, non è sufficiente per certificare in toto la sicurezza del codice delle proprie applicazioni.
Microsoft ha in questi giorni deciso di rilasciare pubblicamente Application Inspector, uno strumento multipiattaforma basato su riga di comando che gli ingegneri utilizzano verificare rapidamente il comportamento dei componenti software di terze parti facendo venire a galla eventuali problematiche di sicurezza.
Dall’azienda di Redmond si osserva che il riutilizzo del codice porta con sé vantaggi importanti in termini di time-to-market, interoperabilità e qualità ma a volte tale pratica fa crescere eccessivamente la complessità del software e introduce rischi nascosti.
“Vi fidate del vostro team di ingegneri, ma il codice che scrivono spesso rappresenta solo una piccola parte dell’intera applicazione. Quanto bene capite cosa fanno effettivamente tutti quei componenti software esterni?” Chiedono Guy Acosta e Michael Scovetta, membri del team Customer Security and Trust di Microsoft.
Application Inspector, pubblicato sotto forma di prodotto opensource su GitHub, viene presentato come un analizzatore di codice statico unico nel suo genere perché evidenzia le caratteristiche “interessanti” in un rapporto basato su oltre 500 modelli. L’idea è uno strumento come Application Inspector possa aiutare a identificare gli aspetti più meritevoli di indagine in maniera molto più rapida rispetto alla verifica di tipo manuale.
Il software Microsoft prende in esame le caratteristiche dei componenti software che influiscono sulla sicurezza, come l’uso della crittografia, i componenti che si collegano a un’entità remota come un cloud pubblico e le piattaforme sulle quali lavora.
Lo strumento è in grado di analizzare milioni di linee di codice sorgente da componenti che sono realizzati ricorrendo ai linguaggi di programmazione più diffusi.
Costruito su .NET Core, Application Inspector può essere utilizzato dagli sviluppatori su Windows, Linux o macOS.