> ## Documentation Index
> Fetch the complete documentation index at: https://chatcli.edilsonfreitas.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Scan de Segredos (@secrets)

> Encontra credenciais vazadas numa árvore, num arquivo, no índice do git ou em texto inline — 17 regras mais checagem de entropia, com todo valor redigido no relatório.

O tool **`@secrets`** é o que um revisor roda antes de um commit: varre um arquivo, uma árvore de diretórios, os arquivos em stage no git ou um texto inline atrás de credenciais vazadas. É Go puro, offline, limitado ao workspace, e **nunca ecoa o valor casado por inteiro** — os achados trazem os quatro primeiros caracteres, reticências e o tamanho.

***

## Subcomandos

```text theme={"system"}
<tool_call name="@secrets" args='{"cmd":"scan","args":{"path":"."}}' />
<tool_call name="@secrets" args='{"cmd":"scan","args":{"staged":true}}' />
<tool_call name="@secrets" args='{"cmd":"check","args":{"text":"export TOKEN=..."}}' />
<tool_call name="@secrets" args='{"cmd":"rules"}' />
```

### `scan {path?, include?, max_files?, staged?}`

Percorre `path` (padrão `.`) sem seguir symlinks, pulando `.git`, `node_modules`, `vendor`, `dist`, `build`, binários e arquivos acima de 1 MiB. `include` restringe por glob (ex.: `**/*.env`); `max_files` (padrão 5000) limita a varredura e o relatório avisa quando parou cedo. `staged: true` varre só os arquivos no índice do git (`git diff --cached`), a checagem de pré-commit.

### `check {text}`

Varre texto inline — um trecho que o agente vai escrever, uma config colada.

### `rules`

Lista os ids das regras com severidade e descrição.

***

## Regras

Access key ids e secret keys da AWS, tokens do GitHub (`ghp_`, `gho_`, `ghu_`, `ghs_`, `ghr_`, `github_pat_`), PATs do GitLab, tokens e webhooks do Slack, chaves de API do Google, chaves live do Stripe, chaves Twilio e SendGrid, chaves de API estilo `sk-`, JWTs, blocos PEM de chave privada, connection strings com senha embutida (postgres, mysql, mongodb, amqp, redis, mssql, jdbc), URLs com basic-auth, atribuições genéricas `password|secret|token|api_key = "..."`, e uma checagem de **entropia de Shannon** para strings longas de alta entropia atribuídas a nomes com cara de segredo.

Placeholders são suprimidos (`xxx`, `***`, `${VAR}`, `<...>`, `{{...}}`, `example`, `changeme`, `your_`, `dummy`, `sample`). Um arquivo `.secretsignore` (um glob ou id de regra por linha) e um marcador inline `secrets:ignore` na linha são respeitados.

***

## Saída

```text theme={"system"}
2 finding(s): critical=1 high=1 medium=0 (files scanned=184, skipped=3)
config/prod.env:12 aws-secret-key critical wJal…(40 chars)
deploy/notes.md:40 generic-assignment high hunt…(24 chars)
```

Quando limpo: `no secrets found (files scanned=184, skipped=3)`. O relatório é limitado a 500 linhas.

***

## Notas

* Somente leitura e seguro para concorrência — roda em paralelo com outras leituras.
* Os caminhos passam pela mesma política de caminhos sensíveis e fronteira de workspace do `@read`.
* Combine com o [`@osv`](/pt/security/dependency-scan) para dependências e com `@forge pr-review` para um checklist de revisão.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.