Descripción general
Las políticas están agrupadas en categorías:| Categoría | Políticas | Tipo de hook |
|---|---|---|
| Comandos peligrosos | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
| Secretos (sanitizadores) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
| Entorno | block-env-files, protect-env-vars | PreToolUse |
| Acceso a archivos | 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 |
| Base de datos | warn-destructive-sql, warn-schema-alteration | PreToolUse |
| Advertencias | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
| Flujo de trabajo | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
block-— impide que el agente continúe.warn-— proporciona al agente contexto adicional para que pueda corregirse.sanitize-— elimina datos sensibles de la salida de una herramienta antes de que el agente la reciba.require-— bloquea el evento Stop hasta que se cumplan las condiciones.
Comandos peligrosos
Evita que los agentes ejecuten operaciones difíciles de deshacer o que puedan dañar el sistema anfitrión.block-sudo
Evento: PreToolUse (Bash)Comportamiento predeterminado: Deniega cualquier comando
sudo.
Bloquea las invocaciones que incluyen la palabra clave sudo. La coincidencia de patrones se realiza sobre los tokens del comando analizado, no sobre la cadena de texto sin procesar, para evitar eludir la política mediante inyección de operadores de shell.
Parámetros:
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allowPatterns | string[] | [] | Prefijos exactos de comandos que están permitidos. Cada entrada se compara con los tokens argv analizados. |
sudo systemctl status nginx está permitido, pero sudo rm /etc/hosts está denegado.
Los patrones se comparan con los tokens analizados, no con la cadena de comandos sin procesar. Esto evita eludir la política mediante operadores de shell añadidos (por ejemplo,
sudo systemctl status x; rm -rf / no coincide con sudo systemctl status *).block-rm-rf
Evento: PreToolUse (Bash)Comportamiento predeterminado: Deniega
rm -rf, rm -fr y formas similares de eliminación recursiva.
Parámetros:
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allowPaths | string[] | [] | Rutas en las que es seguro realizar una eliminación recursiva (p. ej. /tmp). |
block-curl-pipe-sh
Evento: PreToolUse (Bash)Comportamiento predeterminado: Deniega
curl <url> | bash, curl <url> | sh, wget <url> | bash y patrones similares.
Sin parámetros.
block-failproofai-commands
Evento: PreToolUse (Bash)Comportamiento predeterminado: Deniega comandos que desinstalarían o desactivarían failproofai (p. ej.
npm uninstall failproofai, failproofai policies --uninstall).
Sin parámetros.
Secretos (sanitizadores)
Evita que los agentes filtren credenciales en su contexto o en la salida. Las políticas sanitizadoras se activan en eventos PostToolUse. Cuando Claude ejecuta un comando Bash, lee un archivo o llama a cualquier herramienta, estas políticas inspeccionan la salida antes de que se devuelva a Claude. Si se detecta un patrón de secreto, la política devuelve una decisión de denegación que impide que la salida sea enviada de vuelta.sanitize-jwt
Evento: PostToolUse (todas las herramientas)Comportamiento predeterminado: Redacta tokens JWT (tres segmentos base64url separados por
.).
Sin parámetros.
sanitize-api-keys
Evento: PostToolUse (todas las herramientas)Comportamiento predeterminado: Redacta los formatos de clave API más comunes: Anthropic (
sk-ant-), OpenAI (sk-), PATs de GitHub (ghp_), claves de acceso de AWS (AKIA), claves de Stripe (sk_live_, sk_test_) y claves de API de Google (AIza).
Parámetros:
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
additionalPatterns | { regex: string; label: string }[] | [] | Patrones de expresiones regulares adicionales que deben tratarse como secretos. |
sanitize-connection-strings
Evento: PostToolUse (todas las herramientas)Comportamiento predeterminado: Redacta cadenas de conexión a bases de datos que contienen credenciales embebidas (p. ej.
postgresql://user:password@host/db).
Sin parámetros.
sanitize-private-key-content
Evento: PostToolUse (todas las herramientas)Comportamiento predeterminado: Redacta bloques PEM (
-----BEGIN PRIVATE KEY-----, -----BEGIN RSA PRIVATE KEY-----, etc.).
Sin parámetros.
sanitize-bearer-tokens
Evento: PostToolUse (todas las herramientas)Comportamiento predeterminado: Redacta cabeceras
Authorization: Bearer <token> cuando el token tiene 20 o más caracteres.
Sin parámetros.
Entorno
Protege la configuración sensible del entorno para que los agentes no puedan leerla ni exponerla.block-env-files
Evento: PreToolUse (Bash, Read)Comportamiento predeterminado: Deniega la lectura de archivos
.env mediante cat .env, llamadas a la herramienta Read con .env como ruta de archivo, etc.
No bloquea .envrc ni otros archivos relacionados con el entorno; solo bloquea archivos con el nombre exacto .env.
Sin parámetros.
protect-env-vars
Evento: PreToolUse (Bash)Comportamiento predeterminado: Deniega comandos que imprimen variables de entorno:
printenv, env, echo $VAR.
Sin parámetros.
Acceso a archivos
Mantiene a los agentes trabajando dentro de los límites del proyecto y alejados de archivos sensibles.block-read-outside-cwd
Evento: PreToolUse (Read, Bash)Comportamiento predeterminado: Deniega la lectura de archivos fuera del directorio de trabajo actual (la raíz del proyecto). Parámetros:
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allowPaths | string[] | [] | Prefijos de rutas absolutas que están permitidos aunque estén fuera del directorio de trabajo actual. |
block-secrets-write
Evento: PreToolUse (Write, Edit)Comportamiento predeterminado: Deniega escrituras en archivos habitualmente usados para claves privadas y certificados:
id_rsa, id_ed25519, *.key, *.pem, *.p12, *.pfx.
Parámetros:
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
additionalPatterns | string[] | [] | Patrones de nombre de archivo adicionales (estilo glob) que se deben bloquear. |
Git
Evita pushes accidentales, force-pushes y errores de rama difíciles de deshacer.block-push-master
Evento: PreToolUse (Bash)Comportamiento predeterminado: Deniega
git push origin main y git push origin master.
Parámetros:
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
protectedBranches | string[] | ["main", "master"] | Nombres de ramas a las que no se puede hacer push directamente. |
block-work-on-main
Evento: PreToolUse (Bash)Comportamiento predeterminado: Deniega hacer checkout directamente en las ramas
main o master.
Parámetros:
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
protectedBranches | string[] | ["main", "master"] | Nombres de ramas a las que no se puede hacer checkout directamente. |
block-force-push
Evento: PreToolUse (Bash)Comportamiento predeterminado: Deniega
git push --force y git push -f.
Sin parámetros específicos de política. Usa el campo transversal hint para sugerir alternativas:
warn-git-amend
Evento: PreToolUse (Bash)Comportamiento predeterminado: Instruye a Claude para que proceda con cuidado al ejecutar
git commit --amend. No bloquea el comando.
Sin parámetros.
warn-git-stash-drop
Evento: PreToolUse (Bash)Comportamiento predeterminado: Instruye a Claude para que confirme antes de ejecutar
git stash drop. No bloquea el comando.
Sin parámetros.
warn-all-files-staged
Evento: PreToolUse (Bash)Comportamiento predeterminado: Instruye a Claude para que revise lo que está añadiendo al área de staging cuando ejecuta
git add -A o git add .. No bloquea el comando.
Sin parámetros.
Base de datos
Detecta operaciones SQL destructivas antes de que se ejecuten contra tu base de datos.warn-destructive-sql
Evento: PreToolUse (Bash)Comportamiento predeterminado: Instruye a Claude para que confirme antes de ejecutar SQL que contenga
DROP TABLE, DROP DATABASE o DELETE sin cláusula WHERE.
Sin parámetros.
warn-schema-alteration
Evento: PreToolUse (Bash)Comportamiento predeterminado: Instruye a Claude para que confirme antes de ejecutar sentencias
ALTER TABLE.
Sin parámetros.
Advertencias
Proporciona a los agentes contexto adicional antes de operaciones potencialmente arriesgadas pero no destructivas.warn-large-file-write
Evento: PreToolUse (Write)Comportamiento predeterminado: Instruye a Claude para que confirme antes de escribir archivos de más de 1024 KB. Parámetros:
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
thresholdKb | number | 1024 | Umbral de tamaño de archivo en kilobytes a partir del cual se emite una advertencia. |
El manejador de hooks impone un límite de 1 MB en stdin para los payloads. Para probar esta política con contenido pequeño, establece
thresholdKb con un valor bastante inferior a 1024.warn-package-publish
Evento: PreToolUse (Bash)Comportamiento predeterminado: Instruye a Claude para que confirme antes de ejecutar
npm publish.
Sin parámetros.
warn-background-process
Evento: PreToolUse (Bash)Comportamiento predeterminado: Instruye a Claude para que tenga cuidado al lanzar procesos en segundo plano mediante
nohup, &, disown o screen.
Sin parámetros.
warn-global-package-install
Evento: PreToolUse (Bash)Comportamiento predeterminado: Instruye a Claude para que confirme antes de ejecutar
npm install -g, yarn global add o pip install sin un entorno virtual.
Sin parámetros.
Comportamiento de la IA
Detecta cuándo los agentes se quedan bloqueados o se comportan de forma inesperada.warn-repeated-tool-calls
Evento: PreToolUse (todas las herramientas)Comportamiento predeterminado: Instruye a Claude para que reconsidere cuando la misma herramienta se llama 3 o más veces con parámetros idénticos, lo cual es una señal habitual de que el agente está atrapado en un bucle. Sin parámetros.
Flujo de trabajo
Impone un flujo de trabajo disciplinado al final de la sesión. Estas políticas se activan en el evento Stop y deniegan a Claude la posibilidad de detenerse hasta que se cumpla cada condición. Siguen una cadena de dependencias natural: commit → push → PR → CI. Si una política deniega, las políticas posteriores de la cadena se omiten (la denegación provoca un cortocircuito). Todas las políticas de flujo de trabajo son fail-open: si la herramienta requerida no está disponible (p. ej.gh no está instalado, no hay remote de git), la política permite continuar con un mensaje informativo que explica por qué se omitió la verificación.
require-commit-before-stop
Evento: StopComportamiento predeterminado: Deniega la detención cuando hay cambios sin confirmar (archivos modificados, en staging o sin seguimiento). Devuelve un mensaje informativo cuando el directorio de trabajo está limpio. Sin parámetros.
require-push-before-stop
Evento: StopComportamiento predeterminado: Deniega la detención cuando hay commits sin enviar o cuando la rama actual no tiene rama de seguimiento remota. Sugiere
git push -u para crear una rama de seguimiento si es necesario. Es fail-open si no hay ningún remote configurado.
Parámetros:
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
remote | string | "origin" | Nombre del remote al que hacer push. |
require-pr-before-stop
Evento: StopComportamiento predeterminado: Deniega la detención cuando no existe ningún pull request para la rama actual, o cuando el PR existente está cerrado o ya fue mergeado. Instruye a Claude para que cree un PR con
gh pr create.
Sin parámetros.
Esta política requiere que GitHub CLI (
gh) esté instalado y autenticado.
Ejecuta gh auth login con un token de acceso personal que tenga alcance repo para acceso de lectura a
pull requests. Si gh no está instalado o no está autenticado, la política es fail-open e informa del motivo a Claude.require-ci-green-before-stop
Evento: StopComportamiento predeterminado: Deniega la detención cuando las verificaciones de CI están fallando o aún en ejecución en la rama actual. Comprueba tanto las ejecuciones de flujos de trabajo de GitHub Actions como las verificaciones de bots de terceros (p. ej. CodeRabbit, SonarCloud, Codecov). Trata las conclusiones
skipped como éxito. Devuelve un mensaje informativo cuando todas las verificaciones pasan.
Sin parámetros.
Esta política requiere que GitHub CLI (
gh) esté instalado y autenticado.
Ejecuta gh auth login con un token de acceso personal que tenga alcance repo para acceso de lectura a
las ejecuciones de flujos de trabajo de Actions y la API de Checks. Si gh no está instalado o no está autenticado, la política es fail-open e informa del motivo a Claude.Desactivar políticas individuales
Elimina una política específica deenabledPolicies en tu configuración, o desactívala en la pestaña Políticas del dashboard.
enabledPolicies no se ejecutan, aunque existan entradas en policyParams para ellas.
