Vai al contenuto

Ricerca di segreti nel codice

Secret Scanner

Passa al setaccio codice, log o un file di configurazione incollati alla ricerca di chiavi API, token e chiavi private, con criteri basati sull’entropia.

Le chiavi finiscono nei commit, vengono incollate nelle segnalazioni e stampate nei log, e nell’istante in cui succede sono pubbliche, che qualcuno se ne sia accorto o no. Questo strumento legge codice incollato, uno scarico di log o un file di configurazione e indica le stringhe che sembrano credenziali: prima per i formati noti dei fornitori, poi per entropia, per quelle che non hanno alcun formato.

🔒 Funziona interamente nel tuo browsersecretsscanapi-keyaudit
Analizza

Analizzato mentre scrivi, in un worker, in questa scheda.

Rilevatore ad alta entropia
4,0 bit/carattere

La prosa inglese sta intorno a 4,0 su un documento intero ma scende sotto 3,0 su una parola sola. L’esadecimale è 4,0 per costruzione, il base64 circa 5,5, e un alfabeto casuale di 62 caratteri si avvicina a 5,95.

24

Sedici è il pavimento: più corte di così ci sono i codici colore e i frammenti di UUID, e nessuna credenziale che valga la pena trovare è così corta.

48 pattern dei fornitori sono sempre attivi e coprono AWS, Google Cloud, GitHub, Slack, Stripe, OpenAI, Anthropic, Twilio, SendGrid, npm, PyPI, le chiavi private, gli URI dei database, Kakao, Naver e Toss Payments.

Non esce niente da questa scheda. In particolare, nessuna chiave trovata qui viene mandata al suo fornitore per vedere se è ancora valida: vorrebbe dire prendere ogni credenziale del tuo codice e consegnarla a terzi dalla tua stessa macchina, che è esattamente il danno per cui esiste uno scanner di segreti. I controlli offline sono aritmetica fatta qui: il formato che il fornitore pubblica e, per un token GitHub, il checksum che GitHub ci mette dentro. I riscontri mostrano solo un’anteprima oscurata, quindi il rapporto si può incollare in un ticket senza problemi.

Come si usa

  1. Incollare il testo oppure trascinare il file

    Va bene qualunque cosa sia testo: sorgenti, un `.env`, un log di CI, uno scarico di configurazione. Gira in un worker, quindi un incolla di grandi dimensioni non congela la pagina.

  2. Leggere prima le corrispondenze di formato

    Un riscontro su un prefisso noto — `AKIA…`, `ghp_…`, `sk-…`, l’intestazione di un blocco PEM — è pressoché certo. Sono quelli da affrontare prima di ogni altra cosa.

  3. Trattare i riscontri per entropia come candidati

    Una stringa ad alta entropia senza una forma riconosciuta può essere una chiave, un hash, un UUID, una risorsa minificata o un’immagine in base64. Lo strumento dice quale regola è scattata, così si può giudicare.

  4. Revocare, e poi fare pulizia

    Una chiave trapelata è trapelata. Cancellare il commit o modificare il log non la spubblica, quindi prima si revoca e si riemette e poi si sistema la cronologia.

Domande frequenti

Un risultato pulito significa che non ci sono segreti?

No, ed è questo il limite che vale la pena capire. Trova gli schemi che conosce e le stringhe che sembrano casuali. Un formato di chiave interno a bassa entropia, una password che si legge come una parola o una credenziale divisa fra due variabili passano tutti indisturbati.

Controlla se la chiave funziona ancora?

Non può, e non lo farebbe. Verificare una chiave significa usarla contro il fornitore, il che manda la propria credenziale a una terza parte: l’opposto di ciò per cui questa pagina esiste. Se una chiave sia attiva è una cosa che può dire soltanto chi l’ha emessa.

Il mio codice viene caricato?

No. La scansione avviene in un worker dentro il browser. Uno strumento che chiede il file che più probabilmente contiene i propri segreti non deve anche mandarlo da qualche parte.

Nel mio bundle minificato è segnalato tutto.

L’output minificato è denso e sembra casuale per costruzione, che è esattamente ciò su cui si basa la regola dell’entropia. Conviene analizzare i sorgenti invece degli artefatti di build, oppure restringersi alle regole basate sui formati.

Può ricevere da

Dopo

Questi accettano ciò che produce questo strumento, così il risultato può passare direttamente.