Lo que debes saber: Cómo Webflow mantiene los secretos fuera del contexto de los agentes

Un agente de IA casi filtra un token de AWS durante una sesión de depuración. Webflow creó ctxcop, una CLI de código abierto que elimina los secretos antes de que el modelo los vea.

Lo que debes saber: Cómo Webflow mantiene los secretos fuera del contexto de los agentes

Equipo de seguridad de Webflow
View author profile
Equipo de seguridad de Webflow
View author profile
Table of contents

Un agente de codificación de IA ejecutó printenv para depurar un despliegue y colocó un token de sesión de AWS activo en su ventana de contexto. Nadie hizo nada malo. Por eso creamos ctxcop, una CLI de código abierto que elimina los secretos del contexto del agente antes de que el modelo los vea.

Tu agente de codificación de IA no necesita tus credenciales para hacer su trabajo. Creamos un hook de CLI que deja de entregárselas y lo publicamos como código abierto.

Hace unos meses vi a un agente de codificación de IA depurar un despliegue fallido. Ejecutó printenv, que es lo que yo también habría hecho. El problema es que printenv en esa máquina imprimió un token de sesión de AWS activo. Ese token terminó en la ventana de contexto del modelo, luego en la transcripción de la conversación guardada en texto plano en el portátil y, finalmente, en la computadora de alguien más. Podría haber terminado fácilmente en un montón de registros.

Nadie hizo nada malo. El agente estaba siendo útil y el ingeniero estaba siendo productivo. Una credencial de producción simplemente terminó donde ninguno de nosotros decidió que debía ir.

Esa es la razón de este post.

El reflejo

Cuando aparece una herramienta nueva y potente, el movimiento de seguridad reflejo es bloquearla. Escribir una política, prohibirla en el manual, enviarla a través de un comité de revisión. Se siente como tener el control.

No lo es. Los ingenieros adoptaron los agentes de codificación de IA más rápido que cualquier otra herramienta que haya visto, y lo hicieron con o sin la aprobación de seguridad. Prohíbe la herramienta y no obtendrás seguridad. Obtendrás la misma exposición de credenciales ocurriendo fuera de un flujo de trabajo sancionado, y un equipo de seguridad que ya no puede ver nada de eso. Pierdes productividad y visibilidad al mismo tiempo.

Así que estar "en contra" nunca fue la postura ganadora. El movimiento que funciona es encontrarse con la herramienta donde se ejecuta e integrar la barrera de seguridad en ella.

Necesidad de saber

La barrera de seguridad proviene de una vieja idea: necesidad de saber.

Quiero ser cuidadoso con esta afirmación, porque la versión exagerada de esta historia es incorrecta. No digo que no puedas confiar en Anthropic u OpenAI (o Deepinfra, etc.). La mayoría de los proveedores son contractualmente sólidos y varios de ellos no entrenan con tu contexto. Pero aun así tendrán registros, a veces en múltiples lugares por múltiples razones con múltiples proveedores propios. No, mi afirmación es más pequeña y difícil de refutar: No deberías darle a ningún tercero más información de la necesaria para hacer el trabajo. Nadie tiene que actuar de mala fe para que eso importe. Mantener el radio de explosión pequeño es simplemente una buena práctica, y la ventana de contexto de un agente de codificación es un nuevo lugar para practicarla.

Un agente necesita razonar sobre tu código y el mundo en el que opera. No necesita el valor literal de tu contraseña de base de datos para hacerlo. Necesita la forma del problema, no el secreto. Así que dejamos de dárselo.

Un policía para la ventana de contexto

Eso es ctxcop, abreviatura de "context cop" (policía de contexto).

Es una herramienta CLI sencilla que se instala en cualquier agente que utilices: Claude Code, Cursor, Codex, Pi, OpenCode, Aider, o lo que sea que estemos usando mañana. Se conecta en los momentos en que un secreto podría pasar de tu máquina al contexto del modelo. Cuando el agente ejecuta un comando, lee un archivo o llama a una herramienta, ctxcop analiza la salida antes de que el modelo la vea y reemplaza cualquier cosa que parezca una credencial:

AWS_ACCESS_KEY_ID=<REDACTED:aws-access-key:OLIA>

El modelo recibe un marcador de posición donde estaba el secreto. El comando se ejecutó con el valor real en tu terminal. El modelo simplemente nunca lo vio. Nada sale de tu máquina. No hay proxy ni puerta de enlace que ejecutar ni cuenta que crear. Ejecutas ctxcop install, encuentra tus agentes y se conecta. Es de código abierto bajo licencia MIT, porque la fe ciega es siempre la decisión equivocada cuando trabajas con secretos.

La redacción es solo la mitad. Cuando ctxcop extrae un secreto, también le deja una nota al agente: eso era una credencial, la eliminamos y, si necesitas el valor, haz referencia a él indirectamente. También prepara al agente al inicio de una sesión, para que las convenciones no sean una sorpresa después. De esa manera, el agente no recibe un marcador de posición misterioso y empieza a adivinar. No intenta decodificar la redacción en base64 ni vuelve a ejecutar el comando para obtener el valor real. Se le informa lo que sucedió y sigue trabajando.

Esa parte es deliberada: no solo intentamos dejar de pelear con nuestros desarrolladores, también intentamos dejar de pelear con el agente. Una barrera de seguridad que altera silenciosamente las entradas de un agente es algo que eventualmente aprenderá a evitar. Si una herramienta se explica a sí misma, el agente puede cooperar con ella.

La parte difícil (la búsqueda real de secretos) no es nuestra. ctxcop se basa en betterleaks, el sucesor con mantenimiento de gitleaks; sin él, este proyecto habría sido un dolor de cabeza. Obtenemos todo su motor de detección y conjunto de reglas gratis. Lo que más aprovechamos es su extensibilidad. Las reglas son solo configuración, así que puedes ajustar las nuestras, añadir patrones para tus propios datos confidenciales internos o cargar un paquete adicional completo con una variable de entorno. Así es exactamente como ctxcop ofrece un conjunto de reglas opcional para criptografía y datos financieros personales (PII): desactivado por defecto, y una variable para activarlo. Tus secretos no son nuestros secretos, y betterleaks facilita dejarlo claro.

Cómo funciona

Cada arnés tiene su propio enfoque de extensibilidad, así que esto varía de uno a otro. Consulta https://github.com/webflow/ctxcop/blob/main/docs/harnesses.md para más detalles, pero analicemos los hooks de Claude Code como ejemplo:

En SessionStart, ctxcop guía al agente dándole un preámbulo mediante hookSpecificOutput.additionalContext, que le indica a Claude que ctxcop está conectado a la sesión, cómo es un patrón redactado y qué hacer si encuentra uno.

Cuando el agente decide usar la herramienta Bash, ctxcop intercepta PreToolUse y reescribe el comando previsto por el agente:

  • cat .env ⇒ ctxcop run -- bash -c ‘cat .env’

Cuando ctxcop envuelve un comando, analiza la salida estándar (stdout) y redacta según las reglas configuradas, dejando lo suficiente para que el agente pueda razonar, junto con un recordatorio sobre cómo trabajar con secretos sin contaminar el contexto:

ANTHROPIC_API_KEY=<REDACTED:anthropic-api-key:DwAA>
API_URL='https://test.example.com'
SLACK_BOT_TOKEN=<REDACTED:slack-bot-token:ItGB>
SLACK_DEPLOY_WEBHOOK_URL=<REDACTED:slack-webhook-url:UxPp>

Existen otras superficies para Claude Code: si un usuario pega un secreto en el prompt, el agente lee un archivo o utiliza servidores MCP, ctxcop también se conecta a esos eventos, cuidando de preservar el valor de la operación mientras mantiene la confidencialidad donde sea posible.

Lo que no hace

Una herramienta de seguridad que promete más de lo que ofrece es peor que no tener ninguna, así que esto es lo que ctxcop no hace.

Trabaja sobre el contenido. Redacta lo que ve el modelo. No es un firewall, un proxy de salida ni un monitor de comportamiento. No detendrá un SSRF. No sabe ni le importa si una herramienta MCP está comprometida o si hay una exfiltración lenta de varios pasos. Esos son problemas reales que ocurren en otra capa. ctxcop se sitúa junto a un control de salida de red, no lo reemplaza.

Pipelock y Runlayer son buenos ejemplos de esa otra capa. Trabajan en la red en lugar de en la vista del modelo, y actúan en el punto de salida en lugar de en tu equipo. Es un modelo operativo diferente con sus propias ventajas reales, y merece la pena echarle un vistazo. Los responsables de Pipelock también publican un benchmark externo y neutral llamado agent-egress-bench. Ejecutamos las partes aplicables a ctxcop y pusimos los resultados en el repositorio, incluyendo cada categoría que no cubrimos. Si quieres saber dónde están los límites, están documentados.

Trabajando con la herramienta

Creo que así es como un equipo de seguridad evoluciona junto a una nueva herramienta en lugar de ponerse en su camino.

Los agentes llegaron para quedarse, al igual que la presión sobre cada ingeniero para usarlos. El trabajo de seguridad no es ser el departamento del "no", sino integrar la seguridad en los flujos de trabajo de los usuarios. Usar una herramienta de forma segura debería ser fácil, intuitivo y transparente respecto a dónde están los riesgos.

ctxcop es una barrera de protección para un límite. Es abierto y está disponible en github.com/webflow/ctxcop. Léelo, pruébalo y dinos si te ayuda a dormir más tranquilo.


Last Updated
August 28, 2026
Category

Related articles

La IA no reemplazó a nuestro equipo de seguridad, lo multiplicó
La IA no reemplazó a nuestro equipo de seguridad, lo multiplicó

La IA no reemplazó a nuestro equipo de seguridad, lo multiplicó

La IA no reemplazó a nuestro equipo de seguridad, lo multiplicó

Seguridad
By
Andy Gombar
,
,
Read article
Los registros de auditoría son una funcionalidad, no un impuesto de cumplimiento
Los registros de auditoría son una funcionalidad, no un impuesto de cumplimiento

Los registros de auditoría son una funcionalidad, no un impuesto de cumplimiento

Los registros de auditoría son una funcionalidad, no un impuesto de cumplimiento

Seguridad
By
Mohit Bansal
,
,
Read article
Las aplicaciones creadas "a ojo" son la nueva sombra de TI
Las aplicaciones creadas "a ojo" son la nueva sombra de TI

Las aplicaciones creadas "a ojo" son la nueva sombra de TI

Las aplicaciones creadas "a ojo" son la nueva sombra de TI

Seguridad
By
Andy Gombar
,
,
Read article

verifone logomonday.com logospotify logoted logogreenhouse logoclear logocheckout.com logoreddit logothe new york times logoideo logoupwork logodiscord logo
verifone logomonday.com logospotify logoted logogreenhouse logoclear logocheckout.com logoreddit logothe new york times logoideo logoupwork logodiscord logo

Empieza gratis

Prueba Webflow todo el tiempo que quieras con nuestro plan Starter gratuito. Compra un plan de sitio de pago para publicar, alojar y desbloquear funciones adicionales.

Get started — it’s free
Ver demostración

Prueba Webflow todo el tiempo que quieras con nuestro plan Starter gratuito. Compra un plan de sitio de pago para publicar, alojar y desbloquear funciones adicionales.