GitHub sospende le notifiche di malware fatte da Dependabot: troppi falsi positivi

Nella costante e continua ricerca di aiutare gli sviluppatori nel loro lavoro quotidiano GitHub, se possibile ancora di più da quando è stata acquisita da Microsoft, in questi anni ha presentato prodotti e tecnologie dalle funzioni più disparate.

Pensate alle GitHub Actions, per gestire la Continuous Integration dei progetti, oppure ricordate Copilot, il servizio che suggerisce modifiche al codice in maniera attiva? Ciascuna di queste tecnologie ha avuto i suoi intoppi e frenate nel corso del tempo, ed oggi tocca a Dependabot, ossia la componente automatica (bot, appunto) che segnala le eventuali anomalie presente nel codice presente all’interno dei repository.

GitHub ha infatti annunciato di aver sospeso le notifiche prodotte da Dependabot in merito ai malware fino a quando il numero dei falsi positivi non calerà sensibilmente. Infatti, a quanto pare, la funzionalità che era stata aggiunta il 15 giugno, quindi da meno di quindici giorni, produce segnalazioni che il più delle volte non sono veritieri.

La spiegazione, a quanto pare, è molto semplice:

GitHub has conducted a rapid root cause investigation and found that the majority of those alerts in question were for substitution attacks. During these types of incidents, an attacker would publish a package to the public registry with the same name as a dependency users rely on from a third party or private registry, in the hope a malicious version would be consumed. Dependabot doesn’t look at project configuration to determine if the packages are coming from a private registry, so it has been triggering an alert for packages with the same name from the public npm registry.

GitHub ha condotto una rapida indagine sulla causa principale [del problema] e ha scoperto che la maggior parte di quegli avvisi riguardava attacchi “di sostituzione”. Durante questo tipo di incident, un utente malintenzionato pubblica un pacchetto nel registro pubblico con lo stesso nome di una dipendenza su cui fanno affidamento gli utenti da un registro di terze parti o privato, nella speranza che venga consumata una versione dannosa. Dependabot non esamina la configurazione del progetto per determinare se i pacchetti provengono da un registro privato, quindi attiva un avviso per i pacchetti con lo stesso nome dal registro npm pubblico.

Quindi, in poche parole, al momento Dependabot non è sufficientemente intelligente da distinguere un attacco dal workflow tipico di uno sviluppatore.

Chiaramente per buona parte delle organizzazioni questi falsi positivi sono deleteri ed in conseguenza di questo la decisione da parte di GitHub è stata naturale, ma rimane il fatto che questo genere di controlli rimangano essenziali nella nostra epoca, dove una singola dipendenza di npm (la cui azienda, ricorderete, è stata acquisita da GitHub recentemente) malevola può causare conseguenze a dir poco catastrofiche.

Cosa ci fa dire che il problema verrà risolto a breve? Il servizio di notifica è parte integrante dei servizi offerti nella versione a pagamento di GitHub Enterprise Server, si fa in fretta a capire come questa problematica scalerà molto, molto velocemente!

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.

Tags: , ,