Torna agli aggiornamenti
New releaseJul 21, 2026

secretlint v13.0.3

Strumento di linting componibile per prevenire il commit di credenziali.

Condividi

Secretlint Actions Status

Secretlint is that Pluggable linting tool to prevent committing credentials.

Secretlint è uno strumento di linting pluggable per prevenire il commit di credenziali.

Funzionalità

  • Scanner: Trova le credenziali in un progetto e le segnala
  • Project Friendly: Facile da configurare nel tuo progetto e da integrare con i servizi CI
  • Pre-Commit Hook: Impedisce il commit di file contenenti credenziali
  • Pluggable: Consente di creare regole personalizzate e una configurazione flessibile
  • Documentation: Descrive il motivo per cui la regola lo rileva come segreto

Demo rapida

Puoi visualizzare il risultato del linting di secretlint su https://secretlint.github.io/.

Avvio rapido

Puoi provare a usare Secretlint nel tuo progetto con un solo comando.

Se hai già installato Docker:

docker run -v `pwd`:`pwd` -w `pwd` --rm -it secretlint/secretlint secretlint "**/*"

Se hai già installato Node.js:

npx @secretlint/quick-start "**/*"

Dopo l'esecuzione, se ottieni un risultato vuoto e lo stato di uscita è 0, il tuo progetto è sicuro. Altrimenti, riceverai un report di errore: il tuo progetto contiene credenziali come dati grezzi.

An example of secretlint results

Se desideri ottenere una sicurezza continua, consulta la seguente guida all'installazione e configura il pre-commit hook e la CI.

Installazione

Utilizzo di Docker

Prerequisiti: Richiede Docker

Usa il nostro container Docker per ottenere un ambiente con Node.js e secretlint in esecuzione il più rapidamente possibile.

Puoi controllare tutti i file nella directory corrente con secretlint tramite il seguente comando:

docker run -v `pwd`:`pwd` -w `pwd` --rm -it secretlint/secretlint secretlint "**/*"

Il container Docker secretlint/secretlint funziona senza configurazione per design.

Questa immagine Docker include i seguenti pacchetti:

Per maggiori dettagli, consulta il Dockerfile di secretlint.

Utilizzo di Node.js

Prerequisiti: Richiede Node.js 22+.

Secretlint è scritto in JavaScript. Puoi installare Secretlint usando npm:

npm install secretlint @secretlint/secretlint-rule-preset-recommend --save-dev

Dovresti quindi creare un file di configurazione:

npx secretlint --init

Infine, puoi eseguire Secretlint su qualsiasi file o directory in questo modo:

npx secretlint "**/*"

📝 Secretlint supporta i glob pattern e il glob pattern deve essere racchiuso tra virgolette doppie.

È anche possibile installare Secretlint globalmente usando npm install --global. Tuttavia, non lo consigliamo: alcune regole potrebbero non funzionare correttamente a livello globale.

Utilizzo del binario eseguibile singolo

Prerequisiti: Nessuno

Puoi usare il comando secretlint senza Node.js utilizzando un binario eseguibile singolo.

  1. Scarica il binario più recente dalla pagina Releases
  2. Cambia i permessi del file per renderlo eseguibile: chmod +x ./secretlint
  3. Esegui ./secretlint --init per creare un file di configurazione
  4. Esegui ./secretlint "**/*" per analizzare il tuo progetto

Per maggiori dettagli, consulta il README di publish/binary-compiler.

Utilizzo

secretlint --help mostra la guida all'utilizzo.

Secretlint CLI che analizza dati segreti/credenziali.

Utilizzo
$ secretlint [file|glob*]

Nota
la sintassi glob supportata si basa su picomatch (il motore usato da micromatch)
https://github.com/micromatch/picomatch#globbing-features
https://github.com/micromatch/micromatch#matching-features

Opzioni
--init             configura il file di configurazione. Crea il file .secretlintrc.json dal tuo package.json
--format           [String] nome del formatter. Predefinito: "stylish". Formatter disponibili: checkstyle, compact, github, jslint-xml, junit, pretty-error, stylish, tap, unix, json, mask-result, table
--output           [path:String] percorso del file di output in cui viene scritto il risultato segnalato.
--secretlintrc     [path:String] percorso del file di configurazione .secretlintrc. Predefinito: .secretlintrc.*
--secretlintignore [path:String] percorso del file .secretlintignore. Predefinito: .secretlintignore
--stdinFileName    [String] nome del file per elaborare il contenuto STDIN. Alcune regole dipendono dal nome del file per verificare il contenuto.
--no-color         disabilita il colore ANSI dell'output.
--no-terminalLink  disabilita terminalLink dell'output.
--no-maskSecrets   disabilita la mascheratura dei valori segreti; i segreti sono mascherati per impostazione predefinita.
--no-glob          disabilita l'interpretazione dei glob pattern; tratta tutti gli input come percorsi di file letterali.
--no-gitignore     disabilita il rispetto della cascata di .gitignore; i file .gitignore sono
                   rispettati per impostazione predefinita (dalla v13).

Opzioni per sviluppatori
--profile          Abilita il profilo delle prestazioni.
--secretlintrcJSON [String] una stringa JSON di .secretlintrc. usa la stringa JSON invece del file rc.

Opzioni sperimentali
--locale            [String] tag di locale per la traduzione dei messaggi. Predefinito: en

Esempi
# Analizza un singolo file
$ secretlint ./README.md

# Analizza tutti i file (racchiudi il glob tra virgolette doppie per evitare l'espansione della shell)
$ secretlint "**/*"
$ secretlint "source/**/*.ini"

# Tratta gli input come percorsi letterali (per SvelteKit (group) / Next.js [param] ecc.)
$ secretlint --no-glob "src/(auth)/login.ts"

# Analizza il contenuto STDIN (il suggerimento sul nome del file influisce su quali regole si applicano)
$ echo "SECRET" | secretlint --stdinFileName=secret.txt

# Usa un file di configurazione personalizzato
$ secretlint "**/*" --secretlintrc=.secretlintrc.custom.json

# Analizza i file ignorati da .gitignore (ad es. per verificare gli artefatti di build)
$ secretlint --no-gitignore "dist/**/*"

# Mascherà i segreti in un file sul posto
$ secretlint .zsh_history --format=mask-result --output=.zsh_history

# Restituisce JSON per l'analisi programmatica
$ secretlint "**/*" --format=json --output=secretlint-report.json

Categorie