GitHub è utilizzato da sviluppatori in tutto il mondo per archiviare e condividere il codice dei progetti. Permette agli sviluppatori di creare repository pubblici e collaborare su vari progetti. Fondata nel 2008, GitHub è un servizio cloud che offre funzionalità di hosting ed è stata acquisita da Microsoft nel 2018.
GitHub dispone di un sistema di controllo delle versioni che offre funzionalità come la gestione delle richieste software, il tracciamento dei bug, la gestione delle attività, ecc. È open-source, accessibile e conta oltre 372 milioni di repository. Tuttavia, i creatori di GitHub avrebbero dovuto considerare la sicurezza, e talvolta possono verificarsi compromissioni. Le password possono essere rubate e i segreti di GitHub possono essere relativamente poco sicuri.
GitHub dispone di un programma partner per la scansione dei segreti che analizza i formati dei token segreti e cerca commit accidentali. Può inviare i risultati di queste scansioni ai provider di servizi cloud per verificare gli endpoint. Le scansioni di GitHub prevengono anche l’uso fraudolento delle credenziali e possono essere applicate ai pacchetti npm pubblici. Le organizzazioni possono scansionare repository privati, visualizzare e gestire la scansione dei segreti e altro ancora. GitHub offre anche un servizio di avviso segreti che accetta webhook da GitHub noti per contenere payload di messaggi di scansione dei segreti.

Questa guida coprirà tutto ciò che devi sapere su GitHub Secret Scanning ed entrerà nei dettagli.
Cos’è GitHub Secret Scanning?
GitHub Secret Scanning comprende diverse funzionalità di sicurezza che mantengono i segreti al sicuro all’interno delle organizzazioni. Alcune di queste funzionalità sono disponibili come strumenti, mentre le aziende che utilizzano le soluzioni di sicurezza avanzata di GitHub godono di vantaggi unici.
La scansione dei segreti di GitHub estrae i segreti dall’intera cronologia Git di tutti i branch nei repository GitHub.
Perché è importante GitHub Secret Scanning?
GitHub Secret Scanning è necessaria perché previene potenziali fughe di credenziali e aiuta a definire i pattern regex degli sviluppatori. È noto che i repository sono a rischio di esposizione di dati sensibili e inserire segreti hardcoded nel codice sorgente è una cattiva pratica. I team DevOps utilizzano le GitHub Actions per automatizzare i workflow e distribuire applicazioni, e dispongono di una potente funzionalità integrata chiamata secrets. Permette agli utenti di archiviare e utilizzare in modo sicuro valori all’interno del codice sorgente, ma gli esperti ritengono che l’uso dello strumento da solo non sia sufficiente per una sicurezza adeguata.
Gli strumenti di scansione dei segreti di terze parti sono servizi esterni che offrono un modo sicuro, centralizzato e protetto per gestire e archiviare i segreti nei workflow DevOps. Offrono maggiore flessibilità rispetto ai secrets delle GitHub Actions e funzionalità aggiuntive come capacità di archiviazione superiori, limiti di archiviazione più elevati, rotazione delle chiavi segrete, gestione dei controlli di accesso, auditing, versioning, ecc.
Funzionalità disponibili per Secret Scanning in GitHub
- I secrets delle GitHub Actions sono visibili solo alle GitHub Actions e non vengono mostrati nei log di output o nelle interfacce web
- GitHub Secret Scanning può essere utilizzato per archiviare file di dati crittografati come certificati SSH e può essere aggiornato o eliminato in qualsiasi momento
- I GitHub Actions Secrets seguono specifiche policy di sicurezza e protocolli di crittografia che solo gli utenti autorizzati possono visualizzare e accedere
Tuttavia, il GitHub Secret Scanner predefinito presenta diverse limitazioni:
- La prima è che esiste un limite massimo di dimensione di 64 KB per ogni segreto e solo 100 segreti possono essere archiviati nei repository
- Un’organizzazione non può archiviare più di 1.000 segreti e manca di funzionalità di sicurezza avanzate come rotazione delle chiavi segrete, auditing, versioning, ecc.
- Non è disponibile il supporto cross-repository e le organizzazioni non possono sincronizzare, condividere, organizzare o aggiornare i segreti simultaneamente su più workflow o progetti.
Come funziona GitHub Secret Scanning?
Gli utenti possono configurare come ricevere avvisi in tempo reale per la scansione dei repository alla ricerca di segreti trapelati. La funzionalità di scansione dei segreti di GitHub può essere abilitata per qualsiasi repository pubblico di loro proprietà. Una volta attivata, GitHub esegue la scansione di eventuali segreti in tutta la cronologia Git di tutti i branch presenti all’interno del repository GitHub.
La scansione dei segreti funziona per più repository all’interno della stessa organizzazione. GitHub Secret Scanning aiuta le organizzazioni a prevenire l’uso fraudolento dei segreti ed elimina la possibilità che vengano commessi per errore.
Come configurare GitHub Secret Scanning?
- Visita GitHub.com e vai alla pagina principale del repository
- Fai clic sulla scheda Settings per aprire un menu a discesa. Nella sezione sicurezza situata nella barra laterale, fai clic su Code Security and analysis
- Verifica se GitHub Advanced Security è abilitato. Se non lo è, fai clic su Enable.
- Fai clic su Enable GitHub Advanced Security per questo repository.
- Una volta fatto ciò, la scansione dei segreti sarà automaticamente abilitata per il repository pubblico dell’organizzazione. Se accanto alla funzionalità Secret Scanning è presente un pulsante ‘Enable’, dovrai cliccarlo. Puoi disattivare la scansione dei segreti facendo clic sul pulsante Disable.
- GitHub Secret Scanning blocca anche i commit che contengono segreti supportati e offre una funzionalità Push Protection. Puoi cliccare su Enable per questa opzione se desideri revisionare manualmente i push.
Quali sono le best practice per GitHub Secret Scanning?
Ecco alcune delle best practice per la scansione dei segreti su GitHub:
Dare priorità ai nuovi segretiÈ essenziale revisionare le credenziali recentemente inviate prima di archiviarle nei secrets. Questo aiuta a mantenere basso il numero di segreti per le organizzazioni e utilizza i webhook per indirizzare le notifiche di nuovi segreti ai team corretti. Gli sviluppatori dovrebbero ricevere adeguata documentazione formativa e distribuirla prima di commettere nuovi segreti. Seguire gli avvisi e implementare un processo di remediation avanzato è fondamentale per ogni tipo di segreto.
Gestire i segreti già commessiÈ fondamentale affrontare i segreti commessi più critici e iniziare a revisionare i segreti più vecchi. Dopo aver identificato ogni tipo di segreto, gli sviluppatori dovrebbero definire e documentare il processo di remediation. Dovrebbero inoltre comunicare eventuali modifiche agli utenti nuovi e stabilire linee guida per la gestione dei repository interessati.
Eseguire scansioni di sicurezza avanzateÈ possibile configurare scansioni di sicurezza avanzate utilizzando GitHub Enterprise Cloud. L’organizzazione richiederà una licenza GitHub Advanced Security e GitHub può eseguire automaticamente scansioni di pattern partner su qualsiasi repository pubblico.
Guida all'acquisto CNAPP
Scoprite tutto quello che c'è da sapere per trovare la giusta piattaforma di protezione delle applicazioni cloud-native per la vostra organizzazione.
Leggi la guidaPro e contro di GitHub Secret Scanning
Vantaggi di Git Secret Scanning
La scansione dei segreti è una funzionalità preziosa che aiuta le organizzazioni a identificare informazioni sensibili e adottare misure per proteggerle. L’utilizzo di strumenti di scansione dei segreti aiuta le aziende a rafforzare la propria postura di sicurezza cloud. GitHub offre la scansione dei segreti gratuitamente su tutti i repository pubblici e collabora con provider di servizi cloud per segnalare le credenziali trapelate tramite il suo programma partner di scansione dei segreti.
Gli sviluppatori open-source hanno accesso gratuito agli avvisi sui segreti trapelati nel codice, possono tracciare le modifiche e adottare le azioni appropriate. GitHub ha inoltre aggiunto la push protection per tutti i clienti GitHub Advanced Security, a partire da aprile 2022, per la scansione proattiva dei segreti e la prevenzione delle fughe prima che vengano commessi. La push protection per pattern personalizzati viene configurata e applicata caso per caso.
Di seguito un elenco dei vantaggi di GitHub Secret Scanning:
- La scansione dei segreti di GitHub è gratuita per organizzazioni di tutte le dimensioni e garantisce accesso pubblico
- Offre maggiore sicurezza e rende estremamente semplice tenere traccia di tutti i segreti archiviati nei repository pubblici
- La scansione dei segreti di GitHub è molto più veloce rispetto alla revisione manuale delle singole righe di codice
- I settori sanitario, finanziario e retail possono crittografare informazioni sensibili e garantire la conformità agli standard e alle normative pertinenti.
Svantaggi di Git Secret Scanning
Di seguito sono riportati gli svantaggi di GitHub Secret Scanning:
- L’analisi delle minacce può richiedere troppo tempo
- Possono verificarsi falsi positivi e falsi negativi durante il rilevamento dei segreti
- Può rallentare i tempi di sviluppo
- Esiste la possibilità di errori automatici di build
- Vengono scansionate meno righe rispetto agli strumenti di scansione dei segreti GitHub di terze parti
- Errori di estrazione nei database e avvisi nel codice generato
- La configurazione della scansione dei segreti per i pattern partner sui repository pubblici non può essere modificata
Come SentinelOne aiuterà nella GitHub Secret Scanning?
Le credenziali rubate sono responsabili di quasi la metà di tutti gli attacchi informatici. GitHub ha rilevato oltre 1 milione di segreti trapelati su repository pubblici e più di una dozzina di fughe accidentali ogni minuto.
Le fughe accidentali di API, token e altri segreti aumentano il rischio di data breach cloud, danni reputazionali e causano responsabilità legali. Il GitHub Secret Scanner predefinito si basa su pattern di attacco noti e firme per rilevare l’uso improprio delle credenziali. Le organizzazioni non hanno realmente un modo per indagare su come questi segreti vengano acceduti e trascurano l’elemento umano.
Qui entra in gioco SentinelOne.
SentinelOne identifica le configurazioni cloud errate, le fughe di credenziali e revisiona i template Infrastructure as Code (IaC). Consente ai team di sicurezza di individuare istanze non gestite, cluster Kubernetes e diversi servizi cloud.
Il CNAPP completo di SentinelOne va oltre e applica la sicurezza shift-left. Il suo Offensive Security Engine identifica tutti i potenziali exploit e corregge vulnerabilità sconosciute o nascoste. SentinelOne CNAPP scansiona repository cloud pubblici e privati e protegge i workload mission critical. Offre automazione della sicurezza che può migliorare istantaneamente la postura di sicurezza cloud di un’organizzazione. La piattaforma è in grado di rilevare oltre 750+ tipi diversi di segreti e previene anche le fughe di credenziali cloud.
Utilizzando una combinazione di analisi statica machine learning e analisi comportamentale dinamica, i team di sicurezza possono scansionare e correggere i problemi relativi ai segreti in tempo reale. SentinelOne CNAPP ruota regolarmente le chiavi segrete, riducendo così il rischio di compromissione dei segreti. La piattaforma implementa algoritmi di crittografia simmetrica come AES, DES e 3DES per una protezione avanzata. Purple AI è il tuo analista di sicurezza personale e accelera le operazioni SecOps con un piano di controllo unificato basato su AI. Riduce il Mean Time to Respond e semplifica le indagini sui segreti.
Protezione dei carichi di lavoro cloud (CWPP) basata su AI per server, VM e container, che rileva e blocca le minacce in tempo reale durante l'esecuzione.
Conclusione
Sebbene GitHub Secret Scanning possa richiedere molte risorse, le organizzazioni non devono trascurarla. Buone tecniche di scansione dei segreti su GitHub possono aiutare a prevenire data breach, proteggere i clienti e ridurre al minimo i guasti operativi.
La scansione dei segreti di GitHub è una componente essenziale della sicurezza cloud e aiuta a identificare i difetti nei repository di codice. Senza strumenti di scansione dei segreti GitHub, le entità sarebbero vulnerabili, con conseguenze potenzialmente gravi.
Domande frequenti
La scansione dei segreti su GitHub consiste nell'utilizzo di strumenti e processi per la scansione dei segreti nei repository pubblici e privati. Analizza i segreti nel codice per individuare difetti, rileva deviazioni o modifiche di configurazione e pianifica azioni efficaci e la remediation delle minacce.
Gli utenti possono utilizzare la funzionalità predefinita di GitHub Secret Scanning per eseguire la scansione dei segreti nel codice. In alternativa, possono utilizzare uno strumento completo di scansione dei segreti su GitHub come SentinelOne per una sicurezza e protezione olistica.
GitHub Secret Scanning, offerto da GitHub, è completamente gratuito. Lo strumento di scansione GitHub di SentinelOne incluso con CNAPP parte da 2000 USD al mese con il piano Starter.
La scansione del codice su GitHub è gratuita per impostazione predefinita per gli utenti GitHub. Tuttavia, può presentare varie limitazioni risolvibili tramite strumenti premium a pagamento come SentinelOne.


