Il typosquatting ha smesso di essere una truffa per utenti ingenui che digitano male un URL. Ora, gli attaccanti registrano nomi di dominio quasi identici a librerie software popolari. Quando uno sviluppatore commette un errore di battitura nell'installare un pacchetto, il suo sistema di integrazione continua scarica codice malevolo senza che nessuno se ne accorga. Il problema scala da un singolo utente all'intera catena di fornitura.
Come gli attaccanti sfruttano i processi automatizzati 🔍
Gli attaccanti pubblicano pacchetti in repository pubblici come npm o PyPI con nomi come requets invece di requests. Gli strumenti CI/CD, che eseguono installazioni senza supervisione umana, sono il bersaglio perfetto. Non verificando ogni dipendenza, il sistema scarica il pacchetto malevolo. Una volta dentro, il codice può rubare credenziali, iniettare backdoor o modificare il binario finale. La rilevazione è complessa perché il nome è quasi identico a quello legittimo.
Lo sviluppatore che ha digitato male e ha distribuito un backdoor 🛠️
Immagina uno sviluppatore assonnato che scrive pip install collerful-stuff invece di colorful-stuff. Il suo CI lo accetta felicemente, senza fare domande. Il pacchetto malevolo si installa, saluta l'attaccante e gli apre una VPN privata verso il database di produzione. Tutto per una lettera di differenza. La cosa peggiore è che lo sviluppatore incolpa la tastiera, ma il vero colpevole è il sistema che si fida ciecamente di qualsiasi nome che assomigli a quello corretto.