Rassegniamoci: rinunciare alle analisi AI del codice non è più possibile, lo dimostra il progetto curl

Per riassumere il senso di questo articolo, che prende spunto dal bellissimo case study che ha visto Mythos analizzare il codice del progetto curl, basterebbero queste righe scritte da Daniel Stenberg:

Not using AI code analyzers in your project means that you leave adversaries and attackers time and opportunity to find and exploit the flaws you don’t find.

Non usare analizzatori di codice AI nel tuo progetto significa lasciare ai tuoi avversari ed aggressori il tempo e l’opportunità di trovare e sfruttare le falle che tu non hai trovato.

Pensandoci, per quanto l’affermazione possa apparire scontata, in realtà contiene la conferma del punto di non ritorno in cui ci troviamo, la certificazione del fatto che l’era informatica in cui stiamo vivendo, l’era AI, ha cambiato tutto.

Ne parlavamo qualche giorno fa analizzando la proposta di inserimento di un Killswitch all’interno del Kernel che possa disabilitare istantaneamente le funzioni vulnerabili: non prevedere all’interno del proprio ciclo di sviluppo un’analisi da parte di una AI sarebbe incosciente.

Il caso specifico di curl è particolarmente interessante. Il progetto è immenso: 176.000 righe di codice C, escludendo le linee vuote, 660.000 parole, e ogni singola linea di codice sorgente di produzione è stata scritta (e poi riscritta) 4,14 volte.

A contribuire al codice oggi sono 573 singoli individui e, nel corso del tempo, 1.465 persone hanno partecipato.

Tutto questo ben di Dio è stato dato in pasto a Mythos, il modello indicato da Anthropic come il più potente di sempre, ed il risultato dell’analisi ha svelato cinque vulnerabilità che il modello ha indicato come “confermate”, ma che dopo attenta analisi si sono tramutate in un singolo nuovo CVE, categorizzato con severità bassa.

Tanto? Poco? Ci si aspettava di più? Stenberg lo aveva chiesto in un sondaggio:

E più o meno gli utenti si può dire che ci avevano preso.

Ma il senso di tutta l’analisi, al netto del fatto che per curl non sia stata così rivelatoria, sono le parole che abbiamo riportato in apertura, poiché ad oggi, sarebbe sciocco fare a meno dei vantaggi offerti dalle analisi AI, che sono (citando ancora Stenberg):

  • La capacità di individuare quando il commento dice qualcosa sul codice e poi concludere che il codice non funziona come dice il commento.
  • La capacità di controllare il codice per piattaforme e configurazioni per cui altrimenti non sarebbero possibili i test.
  • La conoscenza dei dettagli sulle librerie di terze parti, le loro API e sui protocolli per rilevare anomalie.
  • La capacità di creare report facili da capire.
  • La capacità di generare contestualmente la patch alla problematica.

Difficile non pensare a quanto questi aspetti siano cruciali in una pipeline moderna.

In conclusione, ecco un eccellente esempio di uso dell’AI che non è guidato dall’hype, quanto piuttosto da un bisogno reale che viene soddisfatto: tutto quello di cui il mondo ha bisogno.

Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *