
Gli utenti di Arch Linux apprezzano da sempre la flessibilità dell‘Arch User Repository, meglio conosciuto come AUR. Questo enorme archivio gestito dalla comunità consente di installare software non presente nei repository ufficiali, ma comporta anche alcuni rischi. I file PKGBUILD possono contenere istruzioni dannose o modifiche introdotte da attori malevoli, soprattutto nei casi di compromissione degli account manutentori o di attacchi alla catena di distribuzione.
Aur-Guard è uno strumento progettato per ridurre questi rischi attraverso un sistema di scansione automatica che controlla i PKGBUILD prima che vengano eseguiti da makepkg. L’obiettivo è offrire un ulteriore livello di protezione senza sostituire la revisione manuale del codice, ma aiutando gli utenti a individuare rapidamente elementi sospetti.
Come funziona Aur-Guard e quali controlli esegue
Aur-Guard analizza i PKGBUILD alla ricerca di modelli frequentemente associati ad attività malevole. Tra gli esempi più evidenti troviamo comandi che scaricano script da Internet e li eseguono direttamente, tentativi di installare chiavi SSH non autorizzate, shell inverse, modifiche ai permessi SUID, operazioni distruttive sui dischi e checksum impostati in modalità SKIP per tutti i file.
Il software introduce due livelli di verifica. Il primo consiste in uno shim che si posiziona davanti a makepkg e intercetta ogni compilazione avviata direttamente o tramite helper come yay e paru. Il secondo è un hook di pacman che esegue un controllo aggiuntivo immediatamente prima dell’installazione del pacchetto.
Ogni scansione produce un punteggio di rischio che determina il livello di affidabilità del pacchetto. Le classificazioni disponibili includono trusted, ok, sketchy, suspicious e malicious. Alcune regole particolarmente critiche vengono considerate indicatori inequivocabili di comportamento dannoso e portano immediatamente alla classificazione più severa.
Un aspetto interessante riguarda l’analisi degli script .install. Questi file vengono eseguiti con privilegi elevati durante l’installazione e rappresentano una superficie di attacco particolarmente sensibile. Aur-Guard li esamina utilizzando lo stesso insieme di regole applicato ai PKGBUILD.
Difesa contro attacchi alla supply chain e integrazione con gli helper AUR
Uno dei punti più avanzati di Aur-Guard è il monitoraggio delle modifiche nel tempo. Dopo una scansione riuscita, il contenuto del PKGBUILD viene archiviato localmente. Le versioni successive vengono confrontate con quelle precedenti per individuare nuove istruzioni sospette.
Questo approccio è particolarmente efficace contro gli attacchi alla supply chain. Un pacchetto considerato affidabile per mesi potrebbe improvvisamente ricevere codice dannoso attraverso un aggiornamento. In questi casi Aur-Guard evidenzia le novità rilevate e può aumentare automaticamente il livello di rischio.
Lo strumento utilizza inoltre le informazioni pubbliche dell’AUR per raccogliere dati sul manutentore, sulla popolarità del pacchetto, sull’età del progetto e sulla cronologia degli aggiornamenti. Un cambio di manutentore viene trattato come un segnale importante e può contribuire ad aumentare il livello di attenzione richiesto all’utente.
Per evitare richieste ripetitive durante la compilazione, Aur-Guard mantiene una cache temporanea delle decisioni già prese. Se un pacchetto identico viene controllato più volte nel giro di pochi minuti, il sistema riutilizza il verdetto precedente evitando di mostrare nuovamente la stessa richiesta di conferma.
L’integrazione con gli helper AUR è trasparente. Grazie alla priorità di /usr/local/bin nel percorso di ricerca dei comandi, Aur-Guard può intercettare automaticamente le chiamate a makepkg effettuate da strumenti come yay, paru, pikaur, trizen e aurutils. In questo modo la protezione viene applicata senza richiedere modifiche significative alla configurazione abituale dell’utente.
Per chi utilizza regolarmente AUR, Aur-Guard rappresenta una soluzione interessante per rafforzare la sicurezza del sistema e individuare tempestivamente comportamenti anomali che potrebbero passare inosservati durante una normale installazione.
Abbiamo testato Aur-guard su Arch Linux con ambiente desktop GNOME 50.2.