Un SBOM dimostra cosa hai installato. Non può dimostrare che avresti dovuto farlo.

Un SBOM è una ricevuta. Ti dice cosa hai installato. Non ti dice se sia stato giusto installarlo.

La maggior parte dei team utilizza SBOM e scansioni CVE nelle proprie pipeline CI/CD. Questi strumenti sono ottimi per trovare vulnerabilità note nei pacchetti esistenti. Ma presentano un enorme punto cieco quando si utilizzano agenti di codifica AI.

Un agente AI propone il nome di un pacchetto. Lo fa con la stessa sicurezza, che il nome sia reale, un'allucinazione o un typosquat.

Se un attaccante registra il nome di un pacchetto malevolo ieri, non avrà ancora un CVE. La tua scansione post-installazione lo vedrà e lo segnerà come pulito. La scansione è onesta, ma ha risposto alla domanda sbagliata. Ha risposto "è noto che sia dannoso?" invece di "questo nome dovrebbe esistere nel nostro stack?"

Nel momento in cui un SBOM registra un pacchetto malevolo, il danno è fatto. Il codice malevolo spesso viene eseguito durante la fase di installazione tramite script postinstall. Può rubare le tue variabili d'ambiente e i segreti della CI prima ancora che il tuo scanner veda l'albero dei file.

Hai bisogno di un verdetto prima dell'effetto collaterale.

Ho costruito un semplice strumento per risolvere questo problema. È un gate di provenienza pre-installazione. Funziona in modo diverso rispetto a uno scanner:

• Controlla i nomi PRIMA che venga eseguito npm install. • Utilizza un approccio "default-deny" rispetto a una baseline approvata. • Segnala i typosquat misurando la distanza di modifica (edit distance) dai pacchetti popolari. • Intercetta le allucinazioni che non corrispondono ad alcun nome noto e sicuro. • Verifica il tuo .npmrc per assicurarsi che non si stia collegando a un registro non autorizzato.

Questo strumento è offline, senza chiavi e utilizza solo la libreria standard di Python. Non si connette alla rete. Non risolve i pacchetti. Si limita a guardare i nomi proposti e a chiedere: "Garantiamo per questo nome?"

Se il nome non è presente nel tuo snapshot approvato e non è in una baseline popolare, il gate restituisce DENY.

Smetti di affidarti solo ai registri di ciò che è accaduto. Inizia a decidere cosa è permesso accadere.

Fonte: https://dev.to/alex_spinov/an-sbom-proves-what-you-installed-it-cant-prove-you-should-have-117c

Community di apprendimento opzionale: https://t.me/GyaanSetuAi