Deno acaba de liberar el código de su Firewall para Agentes (Claw Patrol)

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00Esto es Claw Patrol, un firewall de seguridad de código abierto creado por el equipo Dino que se sitúa entre
00:00:04tus agentes de IA e internet, y resuelve tres problemas de seguridad clave con los agentes de IA.
00:00:09El acceso no es control real, tu agente no debería ver secretos, y no puedes ver lo que hizo tu agente.
00:00:14He estado probando muchas herramientas de seguridad para agentes de IA recientemente, y realmente me gusta el enfoque
00:00:19que Claw Patrol ha tomado aquí, pero aún no es perfecto. Así es como funciona Claw Patrol: tienes
00:00:28un servidor llamado gateway, que contiene tus reglas, credenciales, registros y el panel de Claw Patrol,
00:00:32y luego tienes cualquier número de máquinas que ejecutan agentes, y pueden unirse
00:00:36a ese gateway y enrutar el tráfico de sus agentes a través de él. De hecho, puedes optar por ejecutar comandos individuales
00:00:40a través del gateway, o puedes añadir toda tu máquina. En mi caso, mi gateway es simplemente un servidor Ubuntu
00:00:45al que me conecto con Tailscale, que Claw Patrol admite de forma nativa, así como
00:00:50WireGuard o ambos, y mis agentes son mi Mac y mi servidor OpenClaw. Estoy ejecutando el gateway de OpenClaw
00:00:55a través de Claw Patrol, y en mi Mac solo uso el comando de ejecución única con Clawd según lo necesito.
00:01:00Con un poco de contexto, veamos los tres problemas clave que resuelve Claw Patrol, y
00:01:04empezaré por el número dos, que es que tus agentes no deberían ver secretos, ya que conecta bien con
00:01:09los otros problemas. En el gateway de Claw Patrol, puedes configurar tus credenciales como usuarios de Postgres,
00:01:14suscripciones de Clawd, cuentas de GitHub y cualquier token de portador o encabezados personalizados como los que tengo aquí para mi
00:01:19servidor API de producción. Con esto, cuando ejecutamos nuestros agentes a través del gateway usando ese comando de ejecución
00:01:25de Claw Patrol, no necesitan ninguna de estas credenciales para que las solicitudes funcionen realmente. Simplemente
00:01:30se inyectarán cuando esa solicitud pase por el gateway. Así que, si le pido a Claw que use mi API y mi
00:01:35base de datos para darme una visión general de ambos, es capaz de hacerlo sin problemas, y puedo ver en
00:01:41los comandos que realmente está ejecutando que no incluye ninguna clave API para estas solicitudes curl,
00:01:46pero necesita una, y en Postgres, solo está usando una contraseña falsa de X que definitivamente no es la contraseña real,
00:01:51pero sigue conectándose y obteniendo la información relevante, ya que el gateway
00:01:56ha captado estas solicitudes y ha adjuntado las credenciales reales. Esto significa que el agente nunca
00:02:00tiene acceso a los valores reales, así que si alguien viera los registros de mi agente o intentara una inyección de prompt,
00:02:06nunca obtendría estas credenciales, ya que viven en un servidor completamente separado, y el agente no tiene
00:02:10forma de acceder a ellas. Solo para mostrar ese proceso de inyección aún más limpio, si ejecuto esta solicitud curl en mi
00:02:15terminal aquí, puedes ver que es rechazada porque no le pasé una clave API, pero si ejecuto exactamente
00:02:20el mismo comando a través de claw patrol run, los datos se devuelven normalmente ya que esa clave API está siendo inyectada.
00:02:26El siguiente problema que intenta resolver claw patrol es que el acceso es un control de acción. Claw patrol te da
00:02:31un control realmente finito sobre lo que un agente puede hacer con una solicitud. Por ejemplo, si uso esa habilidad de Postgres
00:02:36de nuevo, pero esta vez le pido que elimine una tabla y cree una nueva, cuando se ejecuta, devuelve inmediatamente
00:02:41un mensaje de error personalizado que configuré diciendo que los cambios de esquema solo se realizan mediante PRs de migración,
00:02:46no mediante el agente. El gateway ha analizado la solicitud de Postgres que hizo mi agente,
00:02:51y la ha comparado con un conjunto de reglas que he definido, y gracias a una de mis reglas, ha denegado
00:02:56la solicitud de eliminar la tabla. Otra forma en la que podría manejar esto es con un humano en el bucle, así que puedo
00:03:00hacer que esta regla me contacte para aprobar la acción. Por el momento, esta solo admite
00:03:04Slack, pero pronto habrá más opciones. Incluso hay una opción para usar un LLM como juez,
00:03:09y las reglas son increíblemente personalizables y flexibles, por lo que incluso puedes tener reglas como verificar
00:03:13tu endpoint de API de atención al cliente que envía respuestas, y puedes ver si hay algún contenido ofensivo,
00:03:18saludos faltantes, o simplemente cualquier cosa que no quieras que se filtre en esa solicitud. Y de nuevo,
00:03:22todo esto al realizarse en la solicitud en el gateway significa que, teóricamente, todo esto está a salvo de
00:03:27inyecciones de prompt y prácticamente cualquier otro tipo de ataque de IA. El tercer problema que resuelve Claw Patrol
00:03:31es que no puedes ver lo que hizo el agente, pero con claw patrol, cada solicitud es visible en
00:03:37el panel aquí, e incluso puedes ver las sesiones activas, así como los tokens utilizados, y si haces clic
00:03:42en una solicitud, puedes ver los detalles relevantes como el comando postgres que se ejecutó realmente,
00:03:46o en el caso de una llamada API, puedes ver la solicitud API así como la respuesta que obtuvo.
00:03:51De esta forma, no necesitas perder tiempo revisando todos los registros de los servicios individuales
00:03:55que tocó el agente para intentar averiguar qué hizo, y en su lugar, puedes ver simplemente lo que hizo
00:03:59en el momento de la solicitud, así que deberías ver prácticamente todo lo que hace el agente.
00:04:03Esos son los tres problemas que intenta resolver claw patrol, ¿pero cómo se configura todo esto? Bueno,
00:04:07una vez que tienes instalado claw patrol, el gateway se configura completamente con un único archivo HCL.
00:04:12Aquí, defines los distintos endpoints para los que tendrás reglas y credenciales,
00:04:16así que tengo varios como OpenAI, Slack, SSH, Postgres, etc., por lo que si alguna solicitud pasa
00:04:22a través del gateway que coincide con uno de estos, sabe que debe comprobar las reglas y credenciales.
00:04:26En cuanto a las propias credenciales, la configuración también es bastante directa.
00:04:30Dices qué tipo de credencial es y qué endpoint debe coincidir con esa credencial.
00:04:34Hay soporte para montones de tipos de credenciales como suscripciones de Anthropic, Codex Ones,
00:04:39ClickHouse, Postgres, y también los básicos como tokens de portador y encabezados personalizados,
00:04:43así que deberías encontrar que admite casi todos los tipos que necesitas,
00:04:46e incluso si no es así, puedes crear plugins para añadir tu propio tipo.
00:04:50Una vez que hayas definido una credencial aquí, todo lo que necesitas hacer es dirigirte al panel para completar el
00:04:54valor real. Configurar reglas también es bastante fácil.
00:04:56Simplemente dices el endpoint al que se aplicará la regla, y luego escribes la regla
00:05:00usando el lenguaje de expresión común (CEL), por lo que esto puede cubrir una amplia gama de cosas como HTTP,
00:05:05Postgres, Kubernetes, etc. Después de esto, indicas el veredicto para la regla que has
00:05:09definido, ya sea que apruebes o deniegues basándote en ella, y usarías aprobar aquí si estuvieras creando
00:05:14un enfoque basado en lista de permitidos en lugar de uno de lista de bloqueo, por lo que bloquearías todo por defecto y luego
00:05:18solo permitirías ciertas cosas. En mi caso, sin embargo, simplemente utilicé el método de lista de bloqueo.
00:05:22Finalmente, otra función muy útil aquí son los perfiles. De hecho, puedes agrupar tus credenciales
00:05:26en múltiples perfiles, lo que significa que cualquier regla y endpoint adjunto a esas credenciales
00:05:31también se agrupa junto con él, y esto te permite configurar una especie de control basado en roles para tus
00:05:35agentes y tus equipos, para que los desarrolladores puedan tener cierto acceso a credenciales y diferentes reglas para
00:05:40ellos, y tal vez otro equipo, como un equipo de soporte, tenga diferentes credenciales y diferentes reglas también.
00:05:45Para ayudarte cuando estés haciendo cambios en las reglas, hay un comando de prueba donde puedes
00:05:49descargar las acciones de reglas del panel y luego volver a ejecutarlas contra tus cambios de reglas locales para ver si
00:05:54alguno de ellos ha cambiado el resultado, así que puedes detectar si habrá filtraciones accidentales.
00:05:59Debo admitir que este proceso de configuración me resultó un poco tedioso, y estoy seguro de que se
00:06:02mejorará pronto, ya que es una etapa muy temprana del proyecto, pero si hubiera una forma sencilla de añadir
00:06:07credenciales y reglas desde el panel, eso sería absolutamente increíble. Quizás algo similar a
00:06:11cómo funciona AdGuard, donde puedes ver una solicitud llegando y hacer clic para añadir una regla o
00:06:15credencial para esa solicitud. También tuve muchos problemas cuando intentaba añadir endpoints
00:06:19que eran solo direcciones IP a mi servidor Proxmox local. Por alguna razón, simplemente no quería
00:06:24interceptar esas solicitudes, y no podía ver ninguna de ellas apareciendo en el panel, y simplemente
00:06:28me dio un poco de dolor de cabeza. Así que definitivamente se necesitan algunas correcciones, o tal vez simplemente lo estaba usando mal,
00:06:33pero de cualquier manera, sí, va a llevar algo de trabajo llegar a un punto de usabilidad que no interrumpa
00:06:38tu flujo, pero eso tiene sentido ya que todo esto se trata de seguridad y no solo de enviar un agente
00:06:43en modo YOLO. Así que déjame saber en los comentarios de abajo qué opinas de Claw Patrol, y si
00:06:47tienes alguna herramienta de seguridad que uses para tus agentes. Mientras estás allí, suscríbete, y como
00:06:51siempre, nos vemos en el próximo.

Key Takeaway

Claw Patrol centraliza la seguridad de agentes de IA mediante un gateway que inyecta credenciales dinámicamente, audita cada interacción y aplica reglas de control de acceso granulares.

Highlights

  • Claw Patrol actúa como un firewall de código abierto posicionado entre agentes de IA e internet para gestionar seguridad.

  • El sistema inyecta credenciales reales en las solicitudes del agente, evitando que este tenga acceso directo a claves API o contraseñas reales.

  • La configuración del gateway se realiza mediante un archivo HCL único, permitiendo definir endpoints, credenciales y reglas de seguridad.

  • El panel de control proporciona visibilidad completa de cada solicitud, incluyendo comandos ejecutados, respuestas obtenidas y sesiones activas.

  • Las reglas de seguridad se definen mediante el Lenguaje de Expresión Común (CEL), permitiendo bloquear o permitir acciones específicas como modificaciones de esquema en bases de datos.

  • Claw Patrol soporta integración nativa con Tailscale y WireGuard para conexiones seguras.

Timeline

Arquitectura y objetivos de Claw Patrol

  • El sistema resuelve problemas críticos de control de acceso, exposición de secretos y falta de visibilidad en las acciones de los agentes.
  • Un servidor gateway central gestiona las reglas y credenciales, permitiendo que múltiples agentes enruten su tráfico a través de él.

La infraestructura se divide en un gateway centralizado y múltiples máquinas de agentes. La conexión se establece de forma segura mediante herramientas como Tailscale o WireGuard, permitiendo ejecutar comandos únicos o añadir máquinas completas al gateway.

Gestión segura de credenciales e inyección

  • Las credenciales como tokens de API y contraseñas de bases de datos residen únicamente en el gateway.
  • Los agentes operan con credenciales falsas o vacías, ya que el gateway inyecta los valores reales durante la transmisión de la solicitud.

Al realizar una solicitud curl o una consulta Postgres, el agente utiliza valores ficticios. El gateway detecta la solicitud, la intercepta y adjunta las credenciales legítimas antes de enviarla al destino final, evitando que el agente tenga acceso a secretos reales.

Control de acceso granular y monitoreo

  • El gateway permite definir reglas precisas que pueden bloquear acciones específicas como la eliminación de tablas o cambios de esquema.
  • Cada acción realizada por el agente es registrada en un panel central para su revisión inmediata.

El control de acciones se ejecuta analizando la intención de la solicitud del agente contra un conjunto de reglas predefinidas. El sistema soporta validación mediante humanos, uso de LLMs como jueces y la creación de reglas personalizadas para evitar ataques de inyección de prompts.

Configuración y estado del desarrollo

  • La configuración completa se gestiona a través de archivos HCL y perfiles de usuario basados en roles.
  • La herramienta se encuentra en una etapa inicial, presentando desafíos ocasionales en la interceptación de ciertos endpoints y tareas de configuración manual.

El sistema permite agrupar credenciales y reglas mediante perfiles, facilitando la gestión de acceso para diferentes equipos. Aunque la configuración actual es manual y requiere archivos de texto, la capacidad de probar reglas contra acciones previas permite detectar posibles filtraciones accidentales antes de la implementación.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video