Visão geral
As políticas são agrupadas em categorias:| Categoria | Políticas | Tipo de hook |
|---|---|---|
| Comandos perigosos | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
| Segredos (sanitizadores) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
| Ambiente | block-env-files, protect-env-vars | PreToolUse |
| Acesso a arquivos | block-read-outside-cwd, block-secrets-write | PreToolUse |
| Git | block-push-master, block-work-on-main, block-force-push, warn-git-amend, warn-git-stash-drop, warn-all-files-staged | PreToolUse |
| Banco de dados | warn-destructive-sql, warn-schema-alteration | PreToolUse |
| Avisos | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
| Fluxo de trabalho | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
block-— impede o agente de prosseguir.warn-— fornece contexto adicional ao agente para que ele possa se autocorrigir.sanitize-— remove dados sensíveis da saída da ferramenta antes que o agente os veja.require-— bloqueia o evento Stop até que as condições sejam atendidas.
Comandos perigosos
Impede que agentes executem operações difíceis de desfazer ou que possam danificar o sistema host.block-sudo
Evento: PreToolUse (Bash)Padrão: Nega qualquer comando
sudo.
Bloqueia invocações que incluam a palavra-chave sudo. A correspondência de padrões é feita nos tokens de comando analisados, não na string bruta, para evitar bypass via injeção de operadores de shell.
Parâmetros:
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
allowPatterns | string[] | [] | Prefixos de comando exatos que são permitidos. Cada entrada é comparada com os tokens argv analisados. |
sudo systemctl status nginx é permitido, mas sudo rm /etc/hosts é negado.
Os padrões são comparados com os tokens analisados, não com a string de comando bruta. Isso evita bypass via operadores de shell anexados (por exemplo,
sudo systemctl status x; rm -rf / não corresponde a sudo systemctl status *).block-rm-rf
Evento: PreToolUse (Bash)Padrão: Nega
rm -rf, rm -fr e formas similares de exclusão recursiva.
Parâmetros:
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
allowPaths | string[] | [] | Caminhos que são seguros para excluir recursivamente (ex: /tmp). |
block-curl-pipe-sh
Evento: PreToolUse (Bash)Padrão: Nega
curl <url> | bash, curl <url> | sh, wget <url> | bash e padrões similares.
Sem parâmetros.
block-failproofai-commands
Evento: PreToolUse (Bash)Padrão: Nega comandos que desinstalem ou desabilitem o próprio failproofai (ex:
npm uninstall failproofai, failproofai policies --uninstall).
Sem parâmetros.
Segredos (sanitizadores)
Impede que agentes vazem credenciais em seu contexto ou saída. As políticas de sanitização são acionadas em eventos PostToolUse. Quando Claude executa um comando Bash, lê um arquivo ou chama qualquer ferramenta, essas políticas inspecionam a saída antes que ela seja retornada ao Claude. Se um padrão de segredo for detectado, a política retorna uma decisão de deny que impede a saída de ser passada de volta.sanitize-jwt
Evento: PostToolUse (todas as ferramentas)Padrão: Redige tokens JWT (três segmentos base64url separados por
.).
Sem parâmetros.
sanitize-api-keys
Evento: PostToolUse (todas as ferramentas)Padrão: Redige formatos comuns de chaves de API: Anthropic (
sk-ant-), OpenAI (sk-), GitHub PATs (ghp_), chaves de acesso AWS (AKIA), chaves Stripe (sk_live_, sk_test_) e chaves Google API (AIza).
Parâmetros:
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
additionalPatterns | { regex: string; label: string }[] | [] | Padrões regex adicionais para tratar como segredos. |
sanitize-connection-strings
Evento: PostToolUse (todas as ferramentas)Padrão: Redige strings de conexão de banco de dados que contêm credenciais incorporadas (ex:
postgresql://user:password@host/db).
Sem parâmetros.
sanitize-private-key-content
Evento: PostToolUse (todas as ferramentas)Padrão: Redige blocos PEM (
-----BEGIN PRIVATE KEY-----, -----BEGIN RSA PRIVATE KEY-----, etc.).
Sem parâmetros.
sanitize-bearer-tokens
Evento: PostToolUse (todas as ferramentas)Padrão: Redige cabeçalhos
Authorization: Bearer <token> onde o token tem 20 ou mais caracteres.
Sem parâmetros.
Ambiente
Protege a configuração de ambiente sensível de ser lida ou exposta por agentes.block-env-files
Evento: PreToolUse (Bash, Read)Padrão: Nega a leitura de arquivos
.env via cat .env, chamadas da ferramenta Read com .env como caminho do arquivo, etc.
Não bloqueia .envrc ou outros arquivos relacionados ao ambiente — apenas arquivos nomeados exatamente .env.
Sem parâmetros.
protect-env-vars
Evento: PreToolUse (Bash)Padrão: Nega comandos que imprimam variáveis de ambiente:
printenv, env, echo $VAR.
Sem parâmetros.
Acesso a arquivos
Mantém agentes trabalhando dentro dos limites do projeto e longe de arquivos sensíveis.block-read-outside-cwd
Evento: PreToolUse (Read, Bash)Padrão: Nega a leitura de arquivos fora do diretório de trabalho atual (a raiz do projeto). Parâmetros:
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
allowPaths | string[] | [] | Prefixos de caminho absoluto que são permitidos mesmo se estiverem fora do cwd. |
block-secrets-write
Evento: PreToolUse (Write, Edit)Padrão: Nega escritas em arquivos comumente usados para chaves privadas e certificados:
id_rsa, id_ed25519, *.key, *.pem, *.p12, *.pfx.
Parâmetros:
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
additionalPatterns | string[] | [] | Padrões de nome de arquivo adicionais (estilo glob) para bloquear. |
Git
Previne pushes acidentais, force-pushes e erros de branch que são difíceis de desfazer.block-push-master
Evento: PreToolUse (Bash)Padrão: Nega
git push origin main e git push origin master.
Parâmetros:
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
protectedBranches | string[] | ["main", "master"] | Nomes de branches que não podem receber push diretamente. |
block-work-on-main
Evento: PreToolUse (Bash)Padrão: Nega o checkout direto dos branches
main ou master.
Parâmetros:
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
protectedBranches | string[] | ["main", "master"] | Nomes de branches que não podem ser obtidos diretamente via checkout. |
block-force-push
Evento: PreToolUse (Bash)Padrão: Nega
git push --force e git push -f.
Sem parâmetros específicos da política. Use o hint transversal para sugerir alternativas:
warn-git-amend
Evento: PreToolUse (Bash)Padrão: Instrui Claude a prosseguir com cuidado ao executar
git commit --amend. Não bloqueia o comando.
Sem parâmetros.
warn-git-stash-drop
Evento: PreToolUse (Bash)Padrão: Instrui Claude a confirmar antes de executar
git stash drop. Não bloqueia o comando.
Sem parâmetros.
warn-all-files-staged
Evento: PreToolUse (Bash)Padrão: Instrui Claude a revisar o que está sendo adicionado ao stage ao executar
git add -A ou git add .. Não bloqueia o comando.
Sem parâmetros.
Banco de dados
Detecta operações SQL destrutivas antes que sejam executadas no banco de dados.warn-destructive-sql
Evento: PreToolUse (Bash)Padrão: Instrui Claude a confirmar antes de executar SQL contendo
DROP TABLE, DROP DATABASE ou DELETE sem uma cláusula WHERE.
Sem parâmetros.
warn-schema-alteration
Evento: PreToolUse (Bash)Padrão: Instrui Claude a confirmar antes de executar instruções
ALTER TABLE.
Sem parâmetros.
Avisos
Fornece contexto extra aos agentes antes de operações potencialmente arriscadas, mas não destrutivas.warn-large-file-write
Evento: PreToolUse (Write)Padrão: Instrui Claude a confirmar antes de escrever arquivos maiores que 1024 KB. Parâmetros:
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
thresholdKb | number | 1024 | Limite de tamanho de arquivo em kilobytes acima do qual um aviso é emitido. |
O handler de hook impõe um limite de 1 MB de stdin nos payloads. Para testar esta política com conteúdo pequeno, defina
thresholdKb para um valor bem abaixo de 1024.warn-package-publish
Evento: PreToolUse (Bash)Padrão: Instrui Claude a confirmar antes de executar
npm publish.
Sem parâmetros.
warn-background-process
Evento: PreToolUse (Bash)Padrão: Instrui Claude a ter cuidado ao iniciar processos em segundo plano via
nohup, &, disown ou screen.
Sem parâmetros.
warn-global-package-install
Evento: PreToolUse (Bash)Padrão: Instrui Claude a confirmar antes de executar
npm install -g, yarn global add ou pip install sem um ambiente virtual.
Sem parâmetros.
Comportamento de IA
Detecta quando agentes ficam travados ou se comportam de forma inesperada.warn-repeated-tool-calls
Evento: PreToolUse (todas as ferramentas)Padrão: Instrui Claude a reconsiderar quando a mesma ferramenta é chamada 3 ou mais vezes com parâmetros idênticos — um sinal comum de que o agente está preso em um loop. Sem parâmetros.
Fluxo de trabalho
Impõe um fluxo de trabalho disciplinado ao final da sessão. Essas políticas são acionadas no evento Stop e impedem Claude de parar até que cada condição seja atendida. Elas seguem uma cadeia de dependência natural: commit → push → PR → CI. Se uma política nega, as políticas seguintes na cadeia são ignoradas (deny interrompe o fluxo). Todas as políticas de fluxo de trabalho são fail-open: se a ferramenta necessária não estiver disponível (ex:gh não instalado, sem remote git), a política permite com uma mensagem informativa explicando por que a verificação foi ignorada.
require-commit-before-stop
Evento: StopPadrão: Nega a parada quando há alterações não commitadas (arquivos modificados, em stage ou não rastreados). Retorna uma mensagem informativa quando o diretório de trabalho está limpo. Sem parâmetros.
require-push-before-stop
Evento: StopPadrão: Nega a parada quando há commits não enviados por push ou quando o branch atual não tem um branch de rastreamento remoto. Sugere
git push -u para criar um branch de rastreamento se necessário. Falha de forma aberta se nenhum remote estiver configurado.
Parâmetros:
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
remote | string | "origin" | Nome do remote para o qual fazer push. |
require-pr-before-stop
Evento: StopPadrão: Nega a parada quando não existe pull request para o branch atual, ou quando o PR existente está fechado/mesclado. Instrui Claude a criar um PR com
gh pr create.
Sem parâmetros.
Esta política requer que o GitHub CLI (
gh) esteja instalado e autenticado.
Execute gh auth login com um token de acesso pessoal que tenha escopo repo para acesso de leitura a
pull requests. Se gh não estiver instalado ou autenticado, a política falha de forma aberta e reporta o motivo ao Claude.require-ci-green-before-stop
Evento: StopPadrão: Nega a parada quando as verificações de CI estão falhando ou ainda em execução no branch atual. Verifica tanto as execuções de workflow do GitHub Actions quanto as verificações de bots de terceiros (ex: CodeRabbit, SonarCloud, Codecov). Trata conclusões
skipped como sucesso. Retorna uma mensagem informativa quando todas as verificações passam.
Sem parâmetros.
Esta política requer que o GitHub CLI (
gh) esteja instalado e autenticado.
Execute gh auth login com um token de acesso pessoal que tenha escopo repo para acesso de leitura às
execuções de workflow do Actions e à API de Verificações. Se gh não estiver instalado ou autenticado, a política falha de forma aberta e reporta o motivo ao Claude.Desabilitando políticas individuais
Remova uma política específica deenabledPolicies na sua configuração, ou desative-a na aba Políticas do dashboard.
enabledPolicies não são executadas, mesmo que existam entradas de policyParams para elas.
