
Internet es inmenso y no deja de crecer. A mediados de 2025 ya alberga más de 1.250 millones de sitios web y genera cerca de 149 zettabytes de datos al año. Más de la mitad del tráfico actual proviene de bots, muchos de ellos maliciosos. En ese contexto, ayudar a las organizaciones a proteger su huella digital nunca había sido tan determinante.
En DoiT trabajamos con un cliente especializado en Attack Surface Management (ASM) para explorar cómo la IA moderna podía automatizar y escalar partes de este proceso. La meta: un agente capaz de navegar por la web, analizar los activos expuestos de un cliente e identificar vulnerabilidades potenciales, todo corriendo sobre AWS.
Diseñando la solución
Diseñamos un sistema sobre Amazon Bedrock y Strands Agents, combinando modelos de razonamiento, automatización del navegador, retrieval-augmented generation y observabilidad completa de producción.
Estos son los componentes principales de AWS que utilizamos:

Y así se articulan entre sí:

¡Veamos cada uno con más detalle en las siguientes secciones!
Modelos de razonamiento y framework del agente
Empecemos por la base: cómo "piensa" el agente. AWS Bedrock ofrece acceso sencillo a modelos de razonamiento avanzados como la familia Nova de Amazon, los modelos Claude de Anthropic y muchos modelos open source como Mistral, DeepSeek o Llama. Estos modelos ya admiten razonamiento estilo chain-of-thought, lo que permite al agente producir pasos intermedios de "pensamiento" antes de llegar a conclusiones y ejecutar acciones. Esa capacidad de razonamiento es esencial, porque cada acción de navegación y cada observación se apoyan en las anteriores.
Para la orquestación, Strands Agents aporta una abstracción elegante sobre el bucle del agente: en esencia, un ciclo de razonamiento, uso de herramientas y generación de respuesta. Se integra sin fricción con los modelos de Bedrock y aporta primitivas listas para producción para el estado de sesión, la coordinación multi-agente y la gestión del contexto.
Una pequeña muestra de código del agente para que veas lo simple que resulta desarrollar un agente con Strands:

Este bucle permite al agente navegar de forma autónoma, razonar sobre los hallazgos y mantener el estado entre pasos.
Actuar a través de herramientas y MCP
Pero razonar no basta: el agente tiene que interactuar con el mundo.
El tooling se habilitó mediante el Model Context Protocol (MCP), un estándar abierto que conecta los LLM con sistemas externos. Cada servidor MCP expone un catálogo de "herramientas" con definiciones y esquemas claros, que el agente puede invocar de forma dinámica en tiempo de ejecución.
Para nuestro caso de uso combinamos tres fuentes de herramientas:
- retrieve: para consultas semánticas a la base de datos de vulnerabilidades.
- Playwright MCP: para navegación web e interacción con sitios.
- Filesystem MCP: para almacenamiento persistente sencillo y logging.
Mientras desarrollábamos esto, en agosto de 2025, AWS presentó AgentCore , que viene con su propio Browser Tool y elimina la necesidad de gestionar nuestra propia infraestructura de Playwright. Ofrece un entorno de navegador totalmente gestionado y aislado, con integración con IAM y observabilidad vía CloudTrail, y se acopló de forma natural al código existente:

La modularidad de Strands hizo que pasar de un tooling de navegador self-hosted a un servicio gestionado más seguro y escalable fuera trivial.
Grounding con Bedrock Knowledge Bases
Para que el agente razonara con datos del mundo real, lo apoyamos en la base de datos del CVE™ Program , un repositorio de vulnerabilidades conocidas.
Con Amazon Bedrock Knowledge Bases subimos el dataset CVE, que AWS fragmentó, vectorizó e indexó automáticamente en OpenSearch Serverless, dejándolo listo para consultar.
La herramienta retrieve permitió al agente consultar este vector store en tiempo de ejecución, dándole conocimiento actualizado sobre las vulnerabilidades relevantes para cada activo de cliente que iba encontrando. El pipeline gestionado de ingestión y recuperación de Bedrock Knowledge Bases nos ahorró un esfuerzo de ingeniería considerable frente a construir un flujo RAG personalizado desde cero.
Desplegar el agente en AWS
Tras validar el prototipo en local, llevamos la solución a producción usando dos runtimes gestionados:
1. AWS Fargate
Un despliegue en contenedores empaquetado con Docker y orquestado con AWS CDK. Esta configuración nos dio control total sobre el escalado y el networking, ideal cuando necesitas más control o tienes dependencias especializadas (como los servidores MCP).
2. Amazon Bedrock AgentCore
AgentCore ofrece una abstracción de nivel aún más alto: tú defines el agente y su configuración, y AWS lo ejecuta por ti.
Con unos pocos ajustes en el código —principalmente cambiar el almacenamiento en filesystem por el sistema de estado de Strands— el mismo agente corrió de forma totalmente gestionada, sin necesidad de configurar CDK ni VPC, simplemente usando agentcore configure y agentcore launch del starter kit de AgentCore. Para iterar rápido y minimizar la carga operativa, este enfoque fue insuperable.
Observabilidad y evaluación
Monitorear el comportamiento del agente es tan importante como diseñarlo.
Para los equipos que prefieren analítica externa, LangFuse se conectó sin esfuerzo vía OpenTelemetry y ofrece una línea de tiempo detallada de los bucles, las llamadas a modelos y las invocaciones de herramientas. Esto te da una excelente visibilidad paso a paso de lo que tu agente está "pensando" y de qué herramientas decide usar, algo clave para depurar y mejorar de forma continua.
Tras el lanzamiento de AgentCore también quedó disponible AgentCore Observability, que se integra de forma nativa con CloudWatch , que ahora cuenta con un dashboard de GenAI Observability que captura trazas, métricas y logs de cada invocación. Los desarrolladores pueden visualizar el uso de tokens, las tasas de error e inspeccionar sesiones, convirtiendo la caja negra del razonamiento de los LLM en datos medibles.
Monitorea el gasto de tu agente con DoiT Cloud Intelligence
Muy ligado a la observabilidad, entender el impacto en costos antes del despliegue a producción también debería ser una prioridad.
En DoiT lanzamos GenAI Lens, parte de nuestra plataforma DoiT Cloud Intelligence™, para ayudarte a analizar los patrones de gasto de los workloads de IA generativa.
Se integra directamente con Amazon Bedrock, así como con Anthropic y OpenAI, y te da visibilidad sobre qué modelos y workloads disparan tus costos.
Para un análisis más profundo, DataHub te permite incrustar la ingestión de datos directamente en tu aplicación. Con etiquetado y dashboards personalizados puedes hacer seguimiento de costos por dominio o por cliente, e incluso calcular un costo por vulnerabilidad encontrada, transformando los hallazgos de seguridad en un ROI medible.
Mirando hacia adelante
Desde la ingestión de datos hasta el razonamiento y la observabilidad, el ecosistema de AWS aportó todos los bloques necesarios para dar vida a este agente autónomo de ASM de forma segura, escalable y con una gestión de infraestructura mínima, sobre todo ahora que AgentCore está GA.
Hicimos pruebas en testphp.vulnweb.com, donde nuestro sistema fue capaz de detectar escenarios de SQL Injection, XSS reflejado y almacenado, Authentication Bypass e incluso compromiso activo del sitio. Estos resultados validaron que el agente puede recorrer flujos web de forma autónoma, inyectar payloads, interpretar evidencias de ejecución y correlacionar resultados contra la base de datos CVE, todo con una supervisión humana mínima. Más allá de la precisión técnica, demostró el valor de combinar razonamiento autónomo con retrieval en tiempo real y observabilidad, transformando escaneos crudos de vulnerabilidades en inteligencia estructurada y explicable.
Hay más posibilidades por delante: refinar las capacidades de reporting, evaluar el rendimiento con benchmarks conocidos e integrar bases de datos de vulnerabilidades adicionales. Pero incluso en su forma actual, este proyecto demuestra cómo AWS Bedrock + Strands Agents pueden traducir la promesa de la IA generativa en valor operativo dentro de la ciberseguridad.
Todo el código fuente y los detalles de implementación están disponibles en GitHub, y la versión extendida está aquí.
—
Acompáñanos a hacer más fácil tu camino en FinOps: ¡habla con nosotros en doit.com/services!