Sat Jun 27 2026 20:00:00 GMT-0400 (Eastern Daylight Time)
Mejores prácticas de seguridad de Claude Code para equipos en 2026
Una guía práctica de seguridad para equipos que ejecutan Claude Code: modos de permisos, listas de aprobación (allowlists), verificación MCP, manejo de secretos y ejecuciones CI de mínimo privilegio.

Última actualización: June 28, 2026
Un agente de codificación AI que puede leer tu repo, ejecutar comandos shell y llamar servicios externos es útil precisamente porque tiene alcance. Ese mismo alcance es el riesgo. Un prompt mal leído, una allowlist descuidada o un servidor MCP no confiable pueden filtrar un token o borrar una rama. Esta guía es para el desarrollador o líder de plataforma que quiere usar Claude Code en el trabajo diario y en CI sin darle las llaves de producción.
Respuesta rápida: ¿cómo mantienen los equipos seguro a Claude Code?
Ejecuta el agente con privilegio mínimo y revisa lo que hace. En la práctica, eso significa cinco cosas:
- Comenzar en un modo de permiso restrictivo y otorgar herramientas a través de una allowlist estrecha, no un "permitir siempre" general.
- Mantener los secretos fuera del contexto del modelo: sin claves pegadas, y una regla
denyen.envy rutas de secretos. - Revisar cada servidor MCP antes de conectarlo, ya que un servidor no confiable puede leer datos y actuar en tu nombre.
- Tratar el contenido web obtenido como entrada no confiable que puede llevar instrucciones de prompt-injection.
- En CI, darle al agente un token de alcance de solo lectura y corta duración, y nunca exponer credenciales de producción.
El resto de este artículo convierte cada uno de esos puntos en configuraciones concretas, con una tabla de riesgos, una referencia de permisos y un escenario de CI que puedes copiar.
¿Cómo funcionan realmente los modos de permiso y las allowlists?
Claude Code pregunta antes de ejecutar una herramienta por primera vez. Tú decides si esa decisión se recuerda, se limita o se omite. El modo de permiso establece la base:
defaultsolicita prompts en el primer uso de cada herramienta o comando.planes solo lectura: el agente puede leer archivos y proponer un plan, pero no puede editar ni ejecutar comandos. Úsalo para revisión.acceptEditsacepta automáticamente las ediciones de archivos, pero aún solicita permisos para los comandos shell.bypassPermissionsomite cada prompt. Trátalo como solo sandbox.
Los controles duraderos residen en .claude/settings.json bajo permissions, con reglas allow, ask y deny. Las reglas están limitadas por herramienta y patrón, por lo que otorgas exactamente lo que una tarea necesita:
{
"permissions": {
"allow": ["Read", "Edit", "Bash(npm test:*)", "Bash(git diff:*)"],
"ask": ["Bash(git push:*)", "WebFetch"],
"deny": ["Read(./.env)", "Read(./secrets/**)", "Bash(curl:*)", "Bash(rm -rf:*)"]
}
}
Una regla deny siempre gana sobre allow, razón por la cual las rutas de secretos anteriores permanecen ilegibles incluso si existe una regla Read amplia. Anthropic documenta la sintaxis completa de reglas y precedencia en los documentos de gestión de identidad y acceso de Claude Code.

Evita --dangerously-skip-permissions fuera de un contenedor desechable. Elimina el único punto de control humano que detecta un mal rm o una llamada de red inesperada. Si quieres velocidad sin ese riesgo, prefiere una allowlist ajustada para que los comandos rutinarios se ejecuten sin supervisión mientras que cualquier cosa nueva aún pause para ti.
Referencia de riesgos y mitigación
La mayoría de los incidentes se remontan a un puñado de patrones. Mapea cada uno a un control antes de escalar el agente en todo un equipo.
| Riesgo | Por qué sucede | Mitigación |
|---|---|---|
| Exposición de secretos | Claves pegadas en el chat o leídas de .env |
deny rutas de secretos; pasar credenciales por entorno, nunca por el prompt |
| Comando destructivo | Allow amplio o bypassPermissions en rm/git reset |
Mantener rm -rf y force-push en ask o deny; revisar diffs |
| Prompt injection | Página obtenida o texto de issue lleva instrucciones ocultas | Tratar el contenido web/issue como no confiable; limitar WebFetch a dominios conocidos |
| Servidor MCP no confiable | Un servidor con alcance de escritura/red actúa en tu nombre | Revisar autor y permisos; fijar versiones; privilegio mínimo |
| Acceso a archivos demasiado amplio | El agente lee o edita fuera del proyecto | Limitar al repo; evitar additionalDirectories extra |
| Reescribir historial | Force-push o hard reset pierden trabajo | Protección de ramas; ask en git push --force |
| Fuga de credenciales de CI | Tokens de producción colocados en el entorno del runner | Tokens de alcance de solo lectura y corta duración; sin credenciales de prod en trabajos de revisión |
El marco aquí sigue los OWASP Top 10 for LLM Applications, que señala la prompt injection, el manejo inseguro de salidas y la agencia excesiva como los principales riesgos del agente.
Referencia de permisos y alcance
Esta tabla es la hoja de trucos que le doy a los nuevos miembros del equipo. Cubre las configuraciones que cambian el radio de explosión de una sola ejecución.
| Setting / flag | Qué controla | Recomendado por defecto |
|---|---|---|
permissions.allow |
Llamadas a herramientas que se ejecutan sin prompt | Lista estrecha, ej., Read, Bash(npm test:*) |
permissions.ask |
Llamadas que siempre solicitan un prompt primero | Escrituras, red, instalaciones de paquetes |
permissions.deny |
Llamadas bloqueadas directamente | Read(./.env), Bash(curl:*), rutas de secretos |
--permission-mode plan |
Planificación solo lectura, sin ediciones ni comandos | Revisión de código y auditorías |
acceptEdits mode |
Acepta automáticamente las ediciones, aún solicita para shell | Refactorizaciones locales confiables |
--dangerously-skip-permissions |
Omite cada prompt | Solo sandbox desechable |
additionalDirectories |
Carpetas extra que el agente puede leer | Dejar sin establecer; limitar al repo |
Revisando servidores MCP antes de conectarlos
Los servidores MCP extienden el agente con nuevas herramientas: un cliente de base de datos, una integración de tickets, un navegador. Cada uno que añades es código que puede leer contexto y tomar acciones. Un servidor no confiable es la forma más rápida de convertir un agente útil en una ruta de exfiltración de datos, por lo que la vara para conectarlo debe ser la misma que aplicarías a cualquier dependencia con acceso de red.
Antes de añadir un servidor, responde cinco preguntas:
- ¿Quién lo publica y si la fuente es pública y mantenida?
- ¿Qué alcances solicita: solo lectura, o escritura y red?
- ¿Qué datos puede ver una vez conectado: solo este repo, o toda tu máquina?
- ¿Son las credenciales limitadas en alcance y de corta duración, o es un token administrador de larga duración?
- ¿Puedes fijar una versión para que una auto-actualización no amplíe silenciosamente su acceso?
Conecta servidores con el menor alcance posible que realice la tarea, y mantén fuera de configuraciones compartidas o CI los servidores capaces de escritura o orientados a producción. Para mecánicas de configuración y un recorrido más profundo, consulta nuestra guía de integración MCP de Claude Code. La publicación Consejos de productividad de Claude Code cubre cómo mantener esa huella pequeña sin ralentizarte.
Manteniendo los secretos fuera del alcance del modelo
El secreto más limpio es el que el modelo nunca ve. No pegues claves API en el prompt, y no le pidas al agente que "lea la clave de la configuración y la use". Deja que las credenciales vivan en el entorno y haz referencia a ellas por nombre para que el valor permanezca fuera de la transcripción.

Tres hábitos cubren la mayor parte del riesgo:
- Añadir una regla
denypara.env,*.pemy cualquier directoriosecrets/para que el agente no pueda leerlos ni siquiera por accidente. - Usar un escáner de secretos pre-commit (como gitleaks o
git secrets) para que una clave filtrada falle el commit, no la auditoría. - Rotar inmediatamente cualquier cosa que se exponga. Luego, revisar registros e historial. La rotación es la única solución que realmente cierra la ventana.
Si una clave ya llegó a una transcripción o un commit, asume que está comprometida y rótala. Buscar el historial de git con git log -S te ayuda a encontrar dónde aterrizó.
Escenario: habilitar Claude Code en CI sin credenciales de producción
Un equipo quiere que Claude Code revise solicitudes de extracción (pull requests) en GitHub Actions. El objetivo es tener comentarios de revisión automatizados, con cero capacidad para desplegar, escribir en main o tocar la base de datos de producción.

Esta es la configuración que mantiene el trabajo útil pero contenido:
- Ejecutar sin cabeza con
claude -pen modoplanpara que el agente lea el diff y escriba un comentario, pero nunca edite archivos o ejecute comandos de compilación. - Otorgar solo
contents: readypull-requests: write. Sin trabajo de despliegue, sin alcance de infraestructura. - Usar el
GITHUB_TOKENde corta duración del trabajo, no un token personal, y nunca poner claves de producción de base de datos o nube en el entorno de ese trabajo. - Añadir una lista
denypara rutas de secretos ycurlsaliente, para que un intento de prompt-injection dentro del diff del PR no pueda exfiltrar nada. - Fijar la versión de la acción y Claude Code, y poner cualquier paso de despliegue detrás de un entorno separado aprobado por humanos.
permissions:
contents: read
pull-requests: write
steps:
- run: claude -p "Review the diff for security issues" --permission-mode plan
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
El trabajo de revisión ve el código y publica comentarios. No puede llegar a producción porque las credenciales de producción nunca están en alcance. La visión general de seguridad de Claude Code de Anthropic describe esta postura de privilegio mínimo para ejecuciones automatizadas y sin cabeza.
¿Qué nunca debes pegar en un agente de codificación AI?
Algunas entradas no pertenecen cerca de una transcripción, porque cualquier cosa en la ventana de contexto puede ser repetida, registrada o actuada:
- Claves API activas, URLs de base de datos con contraseñas, o credenciales raíz de nube.
- PII de clientes o datos regulados que no pondrías en un ticket de soporte.
- Claves privadas de firma, certificados o archivos
.pem. - Cadenas de conexión completas de producción cuando una réplica de solo lectura o un fixture local servirían.
Cuando el agente necesita acceso, dale una ruta a una credencial limitada en alcance a través del entorno en lugar del secreto mismo. Mismo resultado, radio de explosión mucho más pequeño.
Auditoría, hooks y revisión continua
El privilegio mínimo establece el piso; la revisión te mantiene allí. Lee el plan del agente antes de aprobar un paso arriesgado, y lee el diff antes de hacer commit. Para cambios más grandes, la misma disciplina que hace que refactorizar con asistencia AI sea seguro se aplica aquí: pasos pequeños y revisables superan una ejecución gigante sin supervisión.
Añade guardarraíles determinísticos con hooks. Un hook PreToolUse puede inspeccionar un comando y bloquearlo antes de que se ejecute, que es cómo aplicas reglas que el modelo nunca debe anular, como rechazar cualquier escritura a una ruta protegida. Combina eso con un rastro de auditoría para que puedas responder qué hizo el agente, cuándo y en cuyo nombre.
Una lista de verificación recurrente rápida para el equipo:
- Revisar las listas
allowydenyde.claude/settings.jsonsegún un calendario, no solo al configurar. - Volver a revisar los servidores MCP después de grandes aumentos de versión.
- Confirmar que los trabajos de CI aún se ejecutan en modo
plany no llevan secretos de producción. - Rotar tokens con una cadencia y después de cualquier exposición sospechada.
- Mantener un
CLAUDE.mdque indique lo innegociable: sin force-push a main, sin acceso directo a la DB de prod, sin secretos en prompts.
Para el flujo de trabajo más amplio alrededor de todo esto, la guía definitiva de Claude Code recorre la configuración de principio a fin.
Conclusión clave
La seguridad para los agentes de codificación AI es el mismo pensamiento de privilegio mínimo que ya aplicas a las cuentas de servicio, escrito como reglas de permiso. Empieza restrictivo, amplía con una allowlist estrecha, niega rutas de secretos, revisa los servidores MCP como dependencias, trata el contenido obtenido como no confiable y mantén las credenciales de producción fuera de cualquier trabajo al que el agente pueda llegar. Haz eso y Claude Code sigue siendo un par de manos rápidas, no una puerta abierta.
Usa las herramientas gratuitas mientras sigues la guía.
Sigue leyendo

Wed Mar 25 2026 20:00:00 GMT-0400 (Eastern Daylight Time)
Redimensionador Masivo de Imágenes: Cambia Cientos en Lote (Gratis)
Redimensiona cientos de imágenes por lotes y gratis usando una herramienta de navegador, ImageMagick, XnConvert o un script de Python. Obtén ahorros reales de bytes y flujos de trabajo seguros por lotes.

Wed Mar 18 2026 20:00:00 GMT-0400 (Eastern Daylight Time)
Conversor WebP: Cómo convertir imágenes a WebP (con tamaños reales)
Convierte imágenes JPEG y PNG a WebP para archivos web más pequeños. Incluye tamaños reales, el comando cwebp, métodos Python/navegador y estrategia de fallback JPEG/PNG.

Wed Mar 11 2026 20:00:00 GMT-0400 (Eastern Daylight Time)
Real-ESRGAN AI Upscaling: Cómo Funciona y Cuándo Usarlo
Qué es Real-ESRGAN, cómo funciona su super-resolución basada en GAN, qué hace bien (escalado 4x de fotos y arte) y dónde falla, con comandos y límites honestos.