In sintesi
- Nessuna interruzione nella copertura di scansione durante il passaggio dai precedenti fornitori e strumenti
- Ha utilizzato l'analisi di raggiungibilità per restringere il campo da decine di migliaia di risultati a quelli pochi che contano davvero
- Durante la fase di verifica del concetto, ha valutato la precisione di Aikido superiore a quella dello strumento precedente
- Durante la migrazione è stata mantenuta una traccia di audit inattaccabile per i revisori e le autorità di vigilanza
- Presentare a ogni sviluppatore un unico ticket chiaro, anziché una serie di risultati grezzi
- Collabora direttamente con il team di Aikido tramite Slack, garantendo correzioni in giornata e risposte rapide
Farsi strada tra una valanga di risultati
Revolut è una società fintech globale, fondata nel 2015 con sede a Londra, che oggi opera in 40 paesi e introduce nuovi prodotti ogni trimestre. Il suo team di ingegneri conta oltre 2.500 sviluppatori e garantire la sicurezza di un sistema che evolve a un ritmo così rapido, a livello di applicazioni, cloud, rete e intelligenza artificiale, rappresenta una sfida in continua evoluzione.
Arsalan Ghazi è responsabile della sicurezza delle applicazioni presso Revolut, dove il suo compito è proteggere i dati dei clienti in ogni ambito. Egli descrive in una sola frase il problema fondamentale dell’analisi della composizione del software.
"L'SCA è una vera e propria fonte inesauribile di risultati. Ce ne sono centinaia di migliaia ogni giorno, ogni settimana, e grazie all'intelligenza artificiale, che aiuta i ricercatori a individuarne altri nelle risorse open source, i numeri stanno aumentando come mai prima d'ora."
La parte difficile non è individuare le vulnerabilità, ma capire quali siano quelle rilevanti.
La sfida
Una diga che continua ad allargarsi
SCA genera una quantità di risultati che nessun team è in grado di vagliare manualmente, e l’intelligenza artificiale sta accelerando questo processo man mano che i ricercatori individuano sempre più vulnerabilità nel codice open source. Senza un modo per distinguere le vulnerabilità sfruttabili dal rumore di fondo, un team di sicurezza passa il tempo a smistare i risultati anziché a risolvere i problemi.
Una migrazione che una banca soggetta a regolamentazione non può permettersi di sbagliare
Revolut utilizzava già uno strumento SCA, quindi il passaggio ad Aikido ha comportato un cambio completo di fornitore, non una configurazione ex novo. Per una fintech soggetta a regolamentazione, ciò significa ricostruire le automazioni interne, aggiornare la documentazione e dimostrare agli auditor e alle autorità di regolamentazione che la copertura delle scansioni non ha mai subito interruzioni.
Perché Revolut ha scelto Aikido
Accessibilità che rimanda al lavoro vero e proprio
Ciò che è emerso con particolare evidenza nel proof of concept è stata l'analisi della raggiungibilità: individuare le vulnerabilità che interessano effettivamente le librerie transitive di Revolut, in modo che il team sappia a quali risultati dare la priorità.
"L'analisi di raggiungibilità individua le vulnerabilità effettive nelle librerie transitive. Su circa 10.000 problemi, sappiamo quali devono essere considerati prioritari e su quali l'azienda deve concentrarsi per risolverli."
Maggiore precisione rispetto allo strumento precedente
Dopo aver testato il proof of concept su repository reali, il team ha valutato l'accuratezza di Aikido superiore a quella dello strumento che già utilizzava.
"Nella fase di verifica del concetto, l'accuratezza è risultata superiore a quella dello strumento che stavamo già utilizzando."
Un team che lavora come se fosse parte della vostra azienda
Il rapporto di assistenza si è distinto tanto quanto il prodotto stesso.
"Ci sono casi in cui segnaliamo un problema e loro lo risolvono lo stesso giorno. La comunicazione avviene direttamente su Slack: qualcuno prende atto della segnalazione e risponde entro 15 minuti. Non consideriamo Aikido come una terza parte, ma come parte integrante del nostro team."
Come gli sviluppatori riescono a vedere solo ciò che conta
Revolut non lascia che siano i singoli sviluppatori a occuparsi dell’adozione. Il team responsabile della sicurezza delle applicazioni gestisce l’implementazione su tutti i servizi, effettua la selezione e decide quali dei migliaia di problemi emersi necessitano effettivamente di una correzione. Gli sviluppatori non devono mai accedere a una coda per cercare il proprio lavoro. Ricevono un unico ticket nel sistema di gestione delle vulnerabilità di Revolut, con un link ad Aikido, il CVE pertinente e la versione a cui devono passare.
"I nostri sviluppatori ricevono solo un ticket loro assegnato, contenente un link ad Aikido, le informazioni relative al CVE e l'indicazione della versione che devono aggiornare. Il riscontro è positivo. Trovano ciò di cui hanno bisogno nel ticket e si mettono subito al lavoro per risolvere il problema."
Tale controllo si estende anche al modo in cui Revolut gestisce le nuove versioni dei pacchetti. Per evitare il rischio che una nuova versione risulti compromessa, la politica interna del team impone agli sviluppatori di attendere cinque giorni prima di implementare in produzione una versione raccomandata.
Passare da fornitori precedenti senza interruzioni
La differenza che lo switch doveva garantire era la continuità: un ambito coerente di scansione SCA in tutti i repository, senza alcuna finestra temporale in cui il team non potesse individuare eventuali problemi.
"Sostituire un fornitore non è facile. Bisogna ricostruire i processi automatizzati, aggiornare la documentazione e fornire ai revisori e alle autorità di regolamentazione una traccia di audit completa. Una volta firmato il contratto, l'integrazione di Aikido è stata semplice e veloce."
La migrazione non è stata l'unico passo verso il consolidamento. Revolut aveva sviluppato internamente il proprio strumento DAST, in linea con la propria filosofia di sviluppare in proprio ciò che è possibile, ma ciò comportava un notevole carico di manutenzione e operazioni manuali. Lo hanno sostituito con Aikido non appena hanno constatato che funzionava senza quel sovraccarico.
"In Revolut sviluppiamo tutto internamente, quando possibile, quindi avevamo un nostro strumento DAST. Richiedeva molta manutenzione e un notevole impegno manuale. Lo abbiamo sostituito con Aikido perché funzionava subito, senza bisogno di configurazioni."
Qual è il futuro di Revolut?
Attualmente Revolut utilizza Aikido per l'analisi della composizione del software con analisi di raggiungibilità e per i test dinamici di sicurezza delle applicazioni (DAST).
Il team sta valutando l'implementazione di una protezione in fase di esecuzione con Zen per colmare una lacuna che Arsalan descrive chiaramente.
"Seguiamo l'approccio 'shift left', ma non c'è alcuna protezione sul lato destro. Vorremmo una protezione in fase di esecuzione per casi come le vulnerabilità zero-day, in cui l'aggiornamento di una libreria richiede tempo."
È in fase di sperimentazione una soluzione di protezione dei dispositivi volta ad affrontare i rischi legati alla catena di approvvigionamento sui computer degli sviluppatori, dove la presenza di pacchetti e postazioni di lavoro compromessi rappresenta una preoccupazione crescente. I test di penetrazione basati sull’intelligenza artificiale sono previsti nella roadmap per un trimestre futuro, mentre una prima fase di sperimentazione è ancora in fase di convalida. L’obiettivo che Arsalan ha fissato per il suo team è quello di individuare più problemi internamente rispetto a quanto facciano i programmi esterni, spostando ulteriormente l’equilibrio verso l’interno e individuando i problemi in una fase più precoce del ciclo di sviluppo.
Per quanto riguarda l’analisi statica, Revolut ha sviluppato internamente le proprie capacità. Uno strumento SAST di terze parti provato anni fa faticava a individuare vulnerabilità realmente critiche, quindi il team ha scritto le proprie regole, basate sui risultati dei programmi bug bounty e dei test di penetrazione, per analizzare l’intero codice e ogni nuova pull request. Ora stanno verificando se l’analisi di Aikido riesca a individuare problemi che il loro sistema basato su regole non rileva.
"Stiamo tenendo d'occhio ciò che scopre Aikido. Alcune scoperte recenti non erano semplici risultati basati su regole, ma utilizzavano un modello di linguaggio di grandi dimensioni (LLM) per il SAST, ed è proprio questo che al momento ci manca."
Verdetto finale
Arsalan torna sempre sulla sua interpretazione di questa collaborazione.
"Ci stanno aiutando a proteggere il nostro codice e i nostri dati, e ci stanno aiutando a perfezionare lo strumento sulla base di ciò che osserviamo e di ciò che riteniamo possa funzionare. Questo è l'aspetto che apprezzo di più."

