Asegurar los agentes en los puntos finales de cliente de Perplexity con Numbat
Numbat es el conjunto de herramientas de seguridad de código abierto de Perplexity para puntos finales de cliente. Detecta, previene e investiga el comportamiento riesgoso de los agentes de IA en macOS, Linux y Windows.
Los agentes de IA deben ser seguros para ser útiles. A medida que avanzan las capacidades de los modelos y los sistemas, también lo hace la vigilancia requerida para proteger a los usuarios.
La investigación inicial sobre seguridad de agentes se centró en las inyecciones de comandos y otras formas de entradas adversarias. Sin embargo, los avances recientes en la autonomía de los agentes dan lugar a incidentes de seguridad que no necesitan asumir la existencia de entradas adversarias, ni de adversarios humanos en absoluto.
Más bien, los agentes dirigidos a perseguir objetivos de alto nivel, sin una guía prescriptiva sobre cómo lograr esos objetivos, pueden convertirse en el adversario. Esto ocurre cuando un agente, en respuesta a un objetivo especificado por el usuario, selecciona un curso de acción que el usuario no pretendía y no habría aprobado. Aunque tales incidentes fueron teorizados hace solo unos meses, rápidamente se han convertido en motivos de preocupación práctica.
Debido a que estos comportamientos no se pueden parchear por completo dentro de la capa del modelo, una defensa sólida debe habitar, por lo tanto, en el sistema circundante, incluido el entorno del agente que sirve como interfaz del modelo con el mundo exterior. Estamos lanzando como código abierto a Numbat, nuestro conjunto de herramientas de seguridad para agentes que ayuda a los defensores a prevenir, detectar y mitigar incidentes relacionados con agentes. Numbat identifica y se integra directamente con los entornos de agentes que se encuentran comúnmente en los puntos finales de los clientes empresariales, aplicando reglas de seguridad y permitiendo una detección y respuesta rápidas.
Introducción
La adopción de agentes plantea nuevos desafíos de seguridad tanto para desarrolladores, adoptantes como defensores. Esto es especialmente cierto cuando las empresas implementan agentes directamente en los puntos finales de los clientes con acceso privilegiado a los sistemas y datos empresariales.
Las implementaciones de agentes en los puntos finales de los clientes, como los agentes de codificación basados en CLI o en aplicaciones de escritorio, vienen con varios niveles de aislamiento y entornos aislados. Los usuarios aprovechan estos agentes para innumerables casos de uso, cada uno con su propio flujo de trabajo adjunto que puede afectar al propio punto final o a otros sistemas accesibles desde el punto final. Cada vez más, se espera que los agentes operen de forma autónoma durante horas o incluso días. Para estos flujos de trabajo, muchos usuarios eligen delegar las aprobaciones de acciones de los agentes a clasificadores, o omitir las aprobaciones por completo con indicadores de configuración con nombres preocupantes como --dangerously-skip-permissions y --yolo. La multiplicidad de casos de uso y configuraciones de agentes, combinada con la amplitud de acciones que los agentes de codificación pueden realizar en puntos finales privilegiados, crea un perfil de riesgo que requiere una gestión proactiva por parte de los equipos de seguridad.
Hoy lanzamos Numbat, un conjunto de herramientas de seguridad para agentes de código abierto que construimos para detectar, investigar y prevenir actividades peligrosas de agentes de IA. A medida que más empresas adoptan productos de agentes de vanguardia, Numbat capacita a los equipos de seguridad para mantenerse al día con los desafíos de seguridad resultantes. Se integra en cada uno de los entornos de agentes del lado del cliente más utilizados al tiempo que expone una interfaz consistente en todos ellos. Por lo tanto, Numbat libera a los equipos de seguridad de la carga de construir salvaguardas personalizadas y herramientas de monitoreo para cada agente individual en el que confían sus usuarios. Numbat está disponible para el ecosistema de defensores como parte de la membresía de Perplexity en la Open Secure AI Alliance con NVIDIA y otras organizaciones.
Este artículo comienza con una discusión sobre los desafíos de seguridad que motivan a Numbat. Luego presentamos el diseño y la arquitectura de Numbat, junto con nuestras lecciones al implementar Numbat en miles de los propios puntos finales de Perplexity.
Situar el panorama de vulnerabilidades
El panorama de los incidentes de seguridad de los agentes de IA está evolucionando rápidamente. Gran parte de la literatura existente sobre seguridad de agentes se centra en ataques de inyección, en los cuales se introduce una carga maliciosa en las indicaciones o el contexto del modelo para confundir a los agentes y llevarlos a un comportamiento inadecuado. Los ataques de inyección y las salvaguardas se han estudiado extensamente, y los desarrolladores de agentes, incluido Perplexity, han ideado defensas cada vez más sólidas contra los ataques de inyección.
Pero un agente de IA no necesita una carga maliciosa para crear un incidente de seguridad. De hecho, no es necesario asumir la existencia de un adversario en absoluto. Un agente de confianza, que opera dentro de un entorno de confianza con herramientas aprobadas por el administrador, puede realizar acciones dañinas simplemente porque se está esforzando demasiado para completar su tarea.
Los investigadores describen este modo de fallo como un "colapso accidental": un comportamiento dañino del agente desencadenado no por una entrada adversaria, sino por un error ambiental ordinario. Un archivo faltante, una solicitud de API fallida, una credencial caducada o una denegación de permisos pueden hacer que un agente busque una solución alternativa. Al perseguir su objetivo original especificado por el usuario, el agente puede cruzar los límites de seguridad a través de reconocimientos no autorizados, cambios en el control de acceso, descubrimiento de secretos o exfiltración de datos. En lugar de que el agente sea cooptado por un atacante, el agente mismo es el atacante. Además, el ataque puede dirigirse a sistemas internos, sistemas externos o ambos, sin forma de saberlo hasta que el ataque ya esté en curso.
El primer colapso accidental ampliamente reportado llegó este mes, con la revelación por parte de OpenAI de un ataque iniciado por un agente que comprometió la infraestructura de producción de Hugging Face. Durante las evaluaciones de un modelo GPT preliminar, el modelo se encontró incapaz de avanzar en la evaluación con el contexto proporcionado. Para romper este bloqueo, el modelo encontró una manera de escapar de su entorno aislado de prueba y exfiltrar las respuestas de evaluación de Hugging Face. El modelo aprovechó su entorno para escapar de las restricciones de red previstas, escalar privilegios más allá de los límites del entorno aislado, obtener secretos y acceder a sistemas seguros de Hugging Face, todo para perseguir el objetivo limitado de resolver la evaluación.
Los colapsos también incluyen mutaciones y eliminaciones de sistemas no deseadas. Aunque quizás sean más pedestres que vulnerar un sistema externo, estas ocurrencias son más frecuentes y destacadas para cualquier usuario avanzado de agentes de codificación. Eliminar bases de datos de producción o directorios principales es la worst pesadilla de cualquier desarrollador, y los agentes deben ser capaces de evitar tales comportamientos durante toda su ejecución.
Los investigadores de IA están trabajando para mitigar estos comportamientos dentro de los propios modelos. Aunque estos esfuerzos son ciertamente valiosos, muchos en la comunidad investigadora perciben una tensión fundamental entre entrenar modelos para obtener sólidas propiedades de seguridad y entrenar esos mismos modelos para realizar tareas cada vez más complejas. Creemos que es poco probable que las defensas centradas únicamente en la capa del modelo reduzcan el riesgo de colapso a niveles aceptables.
Aseguramiento de agentes de codificación a través de integraciones nativas de entornos
El resultado es que la seguridad de los agentes no puede descansar únicamente en las salvaguardas a nivel de modelo, usuario o tarea. Más bien, los equipos de seguridad necesitan visibilidad de lo que los agentes realmente hacen en los puntos finales de los clientes, además de controles que puedan detener las acciones peligrosas antes de que se ejecuten. Estos son controles a nivel de sistema que deben estar estrechamente integrados con el entorno del agente.
Numbat proporciona estos controles en forma de un binario Go estático y ligero que se conecta sin problemas a los principales entornos de agentes del lado del cliente. Ofrece monitoreo en vivo, cumplimiento de políticas y reconstrucción forense en todos los entornos de agentes y entornos de ejecución.
Los puntos de integración clave entre Numbat y un entorno de agente son los ganchos, los artefactos de sesión y la telemetría OTLP. Discutiremos cada uno a su vez.
Ganchos
Prácticamente todos los agentes de codificación poseen un subsistema de ganchos. Los ganchos permiten a los agentes ejecutar determinísticamente subrutinas en puntos preespecificados dentro del ciclo de vida de ejecución del agente. Los usuarios de agentes suelen configurar ganchos para proporcionar a los modelos contexto adicional de maneras predecibles, implementar bucles de prueba y verificación, y realizar otras mejoras en las capacidades de los agentes.
Las mismas propiedades deterministas que hacen que los ganchos sean atractivos para estos propósitos también los hacen atractivos para la detección y la respuesta. Por lo general, es insuficiente capturar la mayoría de las ocurrencias de un evento potencialmente preocupante. Más bien, uno debe cubrir todas esas ocurrencias para la detección y la respuesta. Numbat configura múltiples tipos de ganchos, lo que permite a los equipos de seguridad y administradores de TI implementar una lógica de detección rica.
En la mayoría de los agentes de codificación, ciertos tipos de ganchos (comúnmente denominados ganchos "previos a la acción") también pueden bloquear la ejecución de la siguiente acción del agente. Utilizando estos ganchos previos a la acción, Numbat puede implementar no solo lógica de detección, sino también reglas de seguridad preventivas para evitar que ocurra un colapso en primer lugar.
Artefactos de sesión
Los ganchos son medios poderosos para implementar lógica de detección y prevención en tiempo real. Sin embargo, esta lógica debe poder especificarse en código. A menudo, un incidente de seguridad de un agente adquiere una forma que no se pudo haber previsto de antemano, y mucho menos reducida a código fuente. Por lo tanto, Numbat también tiene la capacidad de acceder y analizar artefactos de sesión retroactivamente.
Los artefactos de sesión incluyen muchos tipos de registros y diagnósticos. Quizás el tipo de registro más importante es la transcripción de la sesión, que registra las conversaciones de LLM que dictan la secuencia de acciones del agente. Los usuarios avanzados de agentes de codificación ya están acostumbrados a exportar transcripciones de sesiones para un análisis posterior a través de comandos proporcionados por el entorno. Pero estas exportaciones suelen estar en formato de texto plano, lo cual no es adecuado para los equipos de seguridad que requieren registros legibles por máquina con un esquema consistente y predecible.
Por lo tanto, Numbat recupera los artefactos de sesión directamente desde el propio sistema de archivos. Debido a que la mayoría de los entornos de agentes del lado del cliente almacenan los artefactos originales en el sistema de archivos (normalmente dentro de un directorio de puntos específico del agente bajo $HOME), aprovechar el sistema de archivos proporciona la ruta más directa a estos datos en su forma más utilizable e impecable. Los equipos de seguridad que usan Numbat pueden recopilar estos artefactos en formato de línea de tiempo NDJSON normalizado a través de numbat scan, ya sea para procesamiento local en el punto final del cliente o análisis remoto asincrónico. Debido a que los artefactos de sesión son registros estáticos y autónomos, Numbat puede reconstruir estas líneas de tiempo incluso para sesiones que ocurrieron mucho antes de que se instalara Numbat.
Telemetría OTLP
La mayoría de los entornos de agentes del lado del cliente ofrecen una amplia telemetría a través del protocolo OpenTelemetry (OTLP). Esta telemetría normalmente proporciona muchas señales más allá de las disponibles a través de ganchos o artefactos de sesión.
Numbat puede funcionar como un receptor OTLP a través del comando numbat collect. Este comando inicia un servidor al cual los agentes de codificación envían telemetría OTLP para su análisis posterior. Es importante destacar que este servidor es local y escucha por defecto solo en localhost, lo que significa que toda la telemetría permanece en el dispositivo por defecto. Los administradores de seguridad pueden decidir entonces qué hacer con la telemetría registrada, ya sea que eso implique implementar procesamiento ligero en el dispositivo, procesamiento remoto a través de numbat ship o análisis más complejos en plataformas de análisis como ClickHouse.
Implementación de Numbat dentro de Perplexity
Dentro de Perplexity, usamos Numbat para asegurar el uso por parte de nuestros ingenieros de agentes de codificación del lado del cliente, incluidos Claude Code, Codex, OpenCode y Pi.
Tanto nuestros esfuerzos de prevención como de detección hacen un uso extensivo de las reglas de Numbat, las cuales se implementan a través del subsistema de ganchos de cada agente. Formulamos varias reglas básicas para nuestras propias necesidades, muchas de las cuales enviamos como parte de las 52 reglas integradas de Numbat. Estas reglas están organizadas en 11 categorías de comportamiento y un conjunto de detecciones de secuencias de varios pasos como acceso a secretos, exfiltración, escalada de privilegios y movimiento lateral. Las reglas utilizan expresiones CEL sobre eventos normalizados, y los operadores pueden agregar sus propias reglas y pruebas sin cambiar el código de Numbat.
Por ejemplo, la regla integrada privilege.sudoers_tamper detecta escrituras en la política de sudoers, el uso de visudo e intentos de instalar concesiones de NOPASSWD. Estas son acciones de alta señal que pueden convertir un proceso de agente limitado en un acceso root persistente.
# privilege.sudoers_tamper (simplified for readability)
id: privilege.sudoers_tamper
severity: high
expr: |
(
event.event_type == "file.write" &&
event.file_path.matches("(^|/)etc/sudoers$|(^|/)etc/sudoers\\.d/[^/]+$")
) || (
event.event_type == "command.exec" &&
event.command.matches("\\bvisudo\\b|\\bNOPASSWD\\s*:")
)Los comandos individuales no siempre parecen maliciosos por sí mismos, por lo que Numbat también correlaciona secuencias dentro de una sesión de agente. La regla integrada chain.secret_manager_read_then_egress detecta cuando un agente lee un valor de una herramienta común de gestión de secretos y luego intenta una solicitud curl o wget que transporta datos. Una lectura de secretos puede ser legítima. Una solicitud saliente puede ser legítima. Secuenciadas juntas, requieren investigación.
# chain.secret_manager_read_then_egress (simplified for readability)
id: chain.secret_manager_read_then_egress
severity: high
sequence:
within_events: 64
steps:
- expr: |
event.event_type == "command.exec" &&
event.command.matches("secretsmanager|get-secret|vault read")
- expr: |
event.event_type == "command.exec" &&
event.command.matches("curl.*(--data|--upload-file)|wget.*--post")Gestión y monitoreo de Numbats en toda la flota
Al igual que Bumblebee, nuestro escáner de código abierto para la exposición de la cadena de suministro en los puntos finales de los desarrolladores, Numbat se implementa en toda nuestra flota a través de MDM. Cada Numbat registra la actividad del agente localmente y envía telemetría estructurada a nuestros sistemas de seguridad centralizados.
A partir de ahí, Perplexity Computer revisa los hallazgos recientes de Numbat y los registros de auditoría en un horario recurrente en busca de comportamiento sospechoso o malicioso. Investiga las detecciones, reconstruye las sesiones de agentes relevantes y da un escrutinio adicional a las acciones que Numbat bloqueó.
Computer también busca brechas en nuestra cobertura. Analiza nuevos comportamiento, propone mejoras a las detecciones de Numbat, prueba esos cambios y abre solicitudes de extracción para revisión humana. Una vez aprobadas e implementadas, esas reglas mejoran el monitoreo en toda la flota y producen una mejor evidencia para la próxima investigación.
Esto crea un volante de seguridad que se autoimp Mejora: los agentes generan actividad, Numbat convierte esa actividad en líneas de tiempo y telemetría normalizadas, Computer investiga y mejora las reglas, y las actualizaciones revisadas por humanos fortalecen los controles que protegen las futuras sesiones de agentes.
Conclusión
En Perplexity, creemos que los agentes de IA se ejecutarán en todo tipo de entornos: local, en la nube e híbrido. Cada combinación de entorno de agente y entorno de ejecución plantea desafíos de seguridad únicos, con una complejidad combinatoria que amenaza con abrumar a los equipos de seguridad con recursos limitados. Los colapsos de agentes y otras vulnerabilidades novedosas complican aún más el panorama de seguridad.
Las defensas que habitan en el propio sistema de agentes pueden mejorar la postura de seguridad de un usuario sin importar dónde se ejecute el agente. Esto es precisamente lo que ofrece Numbat: salvaguardas de agentes estrechamente integradas que permiten a los defensores prevenir, detectar y responder a comportamientos preocupantes en tiempo real. Combinar Numbat con Perplexity Computer crea una plataforma de seguridad de agentes potente que capacita a los defensores para mantenerse a la vanguardia.
Numbat está disponible hoy como un proyecto de código abierto para macOS, Linux y Windows. Nuestros propios puntos finales de cliente están asegurados por Numbat, lo que permite a los miembros del equipo de Perplexity utilizar con confianza agentes en tareas de amplio alcance y largos horizontes. Invitamos a los equipos de seguridad de todas partes a aprovechar el enfoque a nivel de sistema de Numbat para asegurar y proteger sus implementaciones de agentes.
Citación
@online{perplexity2026SecuringAgentsAcrossPerplexitySClientEndpointsWithNumbat,
author = {{Perplexity} and Adel Karimishiraz and Bex Brooker and Phi Hoang and Jerry Ma},
title = {{Securing agents across Perplexity's client endpoints with Numbat}},
date = {2026-07-29},
url = {https://perplexity.coolkeypoint.com/hub/blog/securing-agents-across-perplexity-s-client-endpoints-with-numbat}
}