
secretlint v13.0.4
Herramienta de linting conectable para evitar confirmar credenciales.
Secretlint 

Secretlint es una herramienta de linting conectable para evitar la confirmación de credenciales.
Características
- Escáner: Encuentra credenciales en un proyecto y las reporta
- Amigable con el proyecto: Fácil de configurar en tu proyecto e integrar con servicios de CI
- Hook de Pre-Commit: Evita la confirmación de archivos con credenciales
- Conectable: Permite crear reglas personalizadas y configuración flexible
- Documentación: Describe la razón por la que una regla lo detecta como secreto
Demostración rápida
Puedes ver el resultado del linting de secretlint en https://secretlint.github.io/.
Inicio rápido
Puedes probar Secretlint en tu proyecto con un solo comando.
Si ya tienes Docker instalado:
docker run -v `pwd`:`pwd` -w `pwd` --rm -it secretlint/secretlint secretlint "**/*"
Si ya tienes Node.js instalado:
npx @secretlint/quick-start "**/*"
Después de ejecutarlo,
Si obtienes un resultado vacío y el estado de salida es 0, tu proyecto es seguro.
De lo contrario, obtendrás algún informe de error, tu proyecto incluye credenciales como datos sin procesar.

Si deseas obtener seguridad continua, consulta la siguiente guía de instalación y configura el hook de pre-commit y CI.
Instalación
Usando Docker
Requisitos previos: Requiere Docker
Usa nuestro contenedor Docker para obtener un entorno con Node.js y secretlint ejecutándose tan rápido como puedas descargarlos.
Puedes revisar todos los archivos bajo el directorio actual con secretlint mediante el siguiente comando:
docker run -v `pwd`:`pwd` -w `pwd` --rm -it secretlint/secretlint secretlint "**/*"
El contenedor Docker secretlint/secretlint funciona sin configuración por diseño.
Esta imagen Docker tiene paquetes integrados:
- @secretlint/secretlint-rule-preset-recommend
- @secretlint/secretlint-rule-pattern
- @secretlint/secretlint-formatter-sarif
Para más detalles, consulta el Dockerfile de secretlint.
Usando Node.js
Requisitos previos: Requiere Node.js 22+.
Secretlint está escrito en JavaScript. Puedes instalar Secretlint usando npm:``` npm install secretlint @secretlint/secretlint-rule-preset-recommend --save-dev
A continuación, debes configurar un archivo de configuración:```
npx secretlint --init
Finalmente, puedes ejecutar Secretlint en cualquier archivo o directorio así:``` npx secretlint "**/*"
:memo: Secretlint admite [glob pattern](https://github.com/mrmlnc/fast-glob#basic-syntax) y el glob pattern debe ir entre comillas dobles.
También es posible instalar Secretlint globalmente usando `npm install --global`. Pero no lo recomendamos, algunas reglas pueden romperse globalmente.
### Usando un binario de ejecución única
**Requisitos previos:** Ninguno
Puedes usar el comando `secretlint` sin Node.js usando un binario de ejecución única.
1. Descarga el último binario desde la [página de Releases](https://github.com/secretlint/secretlint/releases)
2. Cambia los permisos del archivo a ejecutable: `chmod +x ./secretlint`
3. Ejecuta `./secretlint --init` para crear un archivo de configuración
4. Ejecuta `./secretlint "**/*"` para analizar tu proyecto
Para más detalles, consulta el README de [publish/binary-compiler](https://github.com/secretlint/secretlint/blob/master/publish/binary-compiler).
## Uso
`secretlint --help` muestra el Uso.
Secretlint CLI that scan secret/credential data.
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.
## Configuración
Secretlint tiene un archivo de configuración `.secretlintrc.{json,yml,js}`.
- Documentación: [Configuring Secretlint](https://github.com/secretlint/secretlint/blob/master/docs/configuration.md)
Después de ejecutar `secretlint --init`, tendrás un archivo `.secretlintrc.json` en tu directorio.
En él, verás algunas reglas configuradas así:```json
{
"rules": [
{
"id": "@secretlint/secretlint-rule-preset-recommend"
}
]
}
La propiedad id es el nombre del paquete de reglas de secretlint.