
secretlint v13.0.4
Strumento di linting componibile per prevenire il commit di credenziali.
Secretlint 

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: Previene il commit di file contenenti credenziali
- Pluggable: Consente di creare regole personalizzate e configurazioni flessibili
- Documentation: Descrive il motivo per cui una regola rileva un elemento 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, se ottieni un report di errore, il tuo progetto contiene credenziali come dati in chiaro.

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 nel minor tempo 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 pacchetti preinstallati:
- @secretlint/secretlint-rule-preset-recommend
- @secretlint/secretlint-rule-pattern
- @secretlint/secretlint-formatter-sarif
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 configurare un file di configurazione:```
npx secretlint --init
Infine, puoi eseguire Secretlint su qualsiasi file o directory in questo modo:``` npx secretlint "**/*"
:memo: Secretlint supporta i [glob pattern](https://github.com/mrmlnc/fast-glob#basic-syntax) e i glob pattern devono essere racchiusi tra doppi apici.
È anche possibile installare Secretlint globalmente usando `npm install --global`. Tuttavia, non lo consigliamo, alcune regole potrebbero risultare non funzionanti a livello globale.
### Utilizzo del binario singolo eseguibile
**Prerequisiti:** Nessuno
Puoi usare il comando `secretlint` senza Node.js utilizzando un binario singolo eseguibile.
1. Scarica il binario più recente dalla [pagina delle Release](https://github.com/secretlint/secretlint/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](https://github.com/secretlint/secretlint/blob/master/publish/binary-compiler).
## Utilizzo
`secretlint --help` mostra le istruzioni d'uso.
Secretlint CLI che analizza dati segreti/credenziali.
Usage
$ secretlint [file|glob*]
Note
supported glob syntax is based on picomatch (the engine used by micromatch)
https://github.com/micromatch/picomatch#globbing-features
https://github.com/micromatch/micromatch#matching-features
Options
--init setup config file. Create .secretlintrc.json file from your package.json
--format [String] formatter name. Default: "stylish". Available Formatter: checkstyle, compact, github, jslint-xml, junit, pretty-error, stylish, tap, unix, json, mask-result, table
--output [path:String] output file path that is written of reported result.
--secretlintrc [path:String] path to .secretlintrc config file. Default: .secretlintrc.*
--secretlintignore [path:String] path to .secretlintignore file. Default: .secretlintignore
--stdinFileName [String] filename to process STDIN content. Some rules depend on filename to check content.
--no-color disable ANSI-color of output.
--no-terminalLink disable terminalLink of output.
--no-maskSecrets disable masking of secret values; secrets are masked by default.
--no-glob disable glob pattern interpretation; treat all inputs as literal file paths.
--no-gitignore disable .gitignore cascade respect; .gitignore files are
respected by default (since v13).
Options for Developer
--profile Enable performance profile.
--secretlintrcJSON [String] a JSON string of .secretlintrc. use JSON string instead of rc file.
Experimental Options
--locale [String] locale tag for translating message. Default: en
Examples
# Scan a single file
$ secretlint ./README.md
# Scan all files (wrap glob in double quotes to avoid shell expansion)
$ secretlint "**/*"
$ secretlint "source/**/*.ini"
# Treat inputs as literal paths (for SvelteKit (group) / Next.js [param] etc.)
$ secretlint --no-glob "src/(auth)/login.ts"
# Lint STDIN content (filename hint affects which rules apply)
$ echo "SECRET" | secretlint --stdinFileName=secret.txt
# Use a custom config file
$ secretlint "**/*" --secretlintrc=.secretlintrc.custom.json
# Scan files ignored by .gitignore (e.g. to verify build artifacts)
$ secretlint --no-gitignore "dist/**/*"
# Mask secrets in a file in-place
$ secretlint .zsh_history --format=mask-result --output=.zsh_history
# Output JSON for programmatic parsing
$ secretlint "**/*" --format=json --output=secretlint-report.json
# Output GitHub Actions annotations in CI
$ secretlint "**/*" --format=github
Exit Status
Secretlint exits with the following values:
- 0:
- Linting succeeded, no errors found.
- Found lint error but --output is specified.
- 1:
- Linting failed, errors found.
- 2:
- Unexpected error occurred, fatal error.
## Configurazione
Secretlint ha un file di configurazione `.secretlintrc.{json,yml,js}`.
- Documentazione: [Configuring Secretlint](https://github.com/secretlint/secretlint/blob/master/docs/configuration.md)
Dopo aver eseguito `secretlint --init`, avrai un file `.secretlintrc.json` nella tua directory.