Lo SHA pinning significa bloccare una dipendenza, un plugin o un pacchetto a un singolo hash di commit esatto in un repository sorgente. Lo SHA identifica una singola revisione, quindi la build o l'installatore dovrebbe recuperare e verificare proprio quel codice specifico invece di un bersaglio variabile come il nome di un branch o un tag. Questo è importante perché tag e branch possono essere riassegnati in seguito, mentre un hash di commit è immutabile.
Nella sicurezza informatica, lo SHA pinning è una difesa della supply chain. Aiuta a garantire che il codice revisionato sia lo stesso codice effettivamente installato, riducendo il rischio di dipendenze reindirizzate, aggiornamenti malevoli o modifiche inattese nella pipeline dei plugin di un agente. I difensori lo usano per la gestione delle dipendenze, l'installazione dei plugin e le build automatizzate, spesso insieme ai controlli delle firme e a policy di aggiornamento rigorose. Se uno strumento ignora lo SHA bloccato o sostituisce silenziosamente un'altra revisione, la protezione fallisce e un attaccante può ottenere un percorso per eseguire codice non attendibile all'interno di uno spazio di lavoro attendibile.


