
secretlint v13.0.3
Ferramenta de linting plugável para evitar o commit de credenciais.
Secretlint 

Secretlint é uma ferramenta de linting plugável para evitar o commit de credenciais.
Funcionalidades
- Scanner: Encontra credenciais em um projeto e as reporta
- Amigável para Projetos: Fácil de configurar no seu projeto e integrar com serviços de CI
- Pre-Commit Hook: Evita o commit de arquivos com credenciais
- Plugável: Permite criar regras personalizadas e configuração flexível
- Documentação: Descreve o motivo pelo qual a regra detecta algo como segredo
Demonstração Rápida
Você pode visualizar o resultado do linting do secretlint em https://secretlint.github.io/.
Início Rápido
Você pode experimentar o Secretlint no seu projeto com um único comando.
Se você já tem o Docker instalado:
docker run -v `pwd`:`pwd` -w `pwd` --rm -it secretlint/secretlint secretlint "**/*"
Se você já tem o Node.js instalado:
npx @secretlint/quick-start "**/*"
Após a execução,
Se você obteve um resultado vazio e o status de saída é 0, seu projeto está seguro.
Caso contrário, você obteve algum relatório de erro, seu projeto inclui credenciais como dados brutos.

Se você deseja obter segurança contínua, consulte o guia de instalação a seguir e configure o pre-commit hook e o CI.
Instalação
Usando Docker
Pré-requisitos: Requer Docker
Use nosso contêiner Docker para obter um ambiente com Node.js e secretlint em execução o mais rápido que você puder baixá-los.
Você pode verificar todos os arquivos no diretório atual com o secretlint usando o seguinte comando:
docker run -v `pwd`:`pwd` -w `pwd` --rm -it secretlint/secretlint secretlint "**/*"
O contêiner Docker secretlint/secretlint funciona sem configuração por design.
Esta Imagem Docker possui pacotes integrados:
- @secretlint/secretlint-rule-preset-recommend
- @secretlint/secretlint-rule-pattern
- @secretlint/secretlint-formatter-sarif
Para mais detalhes, consulte o Dockerfile do secretlint.
Usando Node.js
Pré-requisitos: Requer Node.js 22+.
Secretlint é escrito em JavaScript. Você pode instalar o Secretlint usando o npm:``` npm install secretlint @secretlint/secretlint-rule-preset-recommend --save-dev
Você deve então configurar um arquivo de configuração:```
npx secretlint --init
Por fim, você pode executar o Secretlint em qualquer arquivo ou diretório assim:``` npx secretlint "**/*"
:memo: O Secretlint suporta [glob pattern](https://github.com/mrmlnc/fast-glob#basic-syntax) e o glob pattern deve ser envolvido por aspas duplas.
Também é possível instalar o Secretlint globalmente usando `npm install --global`. Mas não recomendamos, algumas regras podem ser quebradas globalmente.
### Usando Binário de Execução Única
**Pré-requisitos:** Nenhum
Você pode usar o comando `secretlint` sem Node.js usando um binário de execução única.
1. Baixe o binário mais recente da [página de Releases](https://github.com/secretlint/secretlint/releases)
2. Altere a permissão do arquivo para executável: `chmod +x ./secretlint`
3. Execute `./secretlint --init` para criar um arquivo de configuração
4. Execute `./secretlint "**/*"` para analisar seu projeto
Para mais detalhes, consulte o README de [publish/binary-compiler](https://github.com/secretlint/secretlint/blob/master/publish/binary-compiler).
## Uso
`secretlint --help` mostra o 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.
## Configuração
O Secretlint possui um arquivo de configuração `.secretlintrc.{json,yml,js}`.
- Documentação: [Configurando o Secretlint](https://github.com/secretlint/secretlint/blob/master/docs/configuration.md)
Após executar `secretlint --init`, você terá um arquivo `.secretlintrc.json` em seu diretório.
Nele, você verá algumas regras configuradas assim:```json
{
"rules": [
{
"id": "@secretlint/secretlint-rule-preset-recommend"
}
]
}
A propriedade id é o nome do pacote de regras do secretlint.