

Capslock è una CLI di analisi delle capability per pacchetti Go che informa gli utenti riguardo alle operazioni privilegiate a cui un determinato pacchetto può accedere. Per fare ciò, classifica le capabilities dei pacchetti Go seguendo le chiamate transitive a operazioni privilegiate della libreria standard.
Il recente aumento degli attacchi alla supply chain che prendono di mira il software open source ha evidenziato che le dipendenze di terze parti non dovrebbero essere considerate intrinsecamente affidabili. Le capability indicano a quali permessi un pacchetto ha accesso e possono essere utilizzate insieme ad altri segnali di sicurezza per indicare quale codice richiede un esame più approfondito prima di poter essere considerato affidabile.
L'attuale analisi di sicurezza si concentra molto sull'identificazione delle vulnerabilità nei pacchetti -- un obiettivo importante dato il ritmo con cui vengono identificate nuove CVE. Per completare questa analisi, segnaliamo le capability dei pacchetti, il che significa che identifichiamo a quali permessi il pacchetto ha accesso tramite le sue dipendenze transitive da funzioni della libreria standard con accessi privilegiati.
Questo ha molte potenziali applicazioni: dall'identificare lo scopo dei pacchetti osservando quali capability utilizzano, all'indirizzare le revisioni di sicurezza verso percorsi di codice più privilegiati, fino a segnalare cambiamenti inattesi delle capability per fermare potenziali minacce alla supply chain prima che possano diventare un problema.
Questo è motivato dal Principio del Minimo Privilegio -- l'idea che l'accesso dovrebbe essere limitato all'insieme minimo che sia fattibile e pratico. Intendiamo applicare questo principio allo sviluppo software per garantire che il codice possa essere circoscritto all'insieme minimo di capability necessarie per svolgere lo scopo previsto.
Per saperne di più sulle capability nelle tue dipendenze, installa Capslock
go install github.com/google/capslock/cmd/capslock@latest
Puoi quindi invocare Capslock eseguendo capslock dal percorso dei pacchetti che vuoi analizzare.
Vedi il file avvertenze.
Vedi il file come contribuire.