
Internet est immense et ne cesse de s'étendre. Mi-2025, on y dénombre plus de 1,25 milliard de sites et près de 149 zettaoctets de données y sont générés chaque année. Plus de la moitié du trafic provient désormais de bots, dont une bonne partie sont malveillants. Dans ce contexte, accompagner les organisations dans la protection de leur empreinte numérique n'a jamais été aussi déterminant.
Chez DoiT, nous avons collaboré avec un client spécialisé dans l'Attack Surface Management (ASM) pour étudier comment l'IA moderne pouvait automatiser et industrialiser certaines étapes de ce processus. L'objectif : un agent capable de naviguer sur le web, d'analyser les actifs exposés d'un client et d'identifier les vulnérabilités potentielles — le tout sur AWS.
Concevoir la solution
Nous avons bâti un système reposant sur Amazon Bedrock et Strands Agents, qui combine modèles de raisonnement, automatisation de navigateur, génération augmentée par récupération et observabilité complète en production.
Les principaux composants AWS mobilisés :

Et la manière dont ils s'imbriquent :

Entrons dans le détail de chacun dans les sections suivantes.
Modèles de raisonnement et framework d'agent
Commençons par les fondations : la façon dont l'agent réfléchit. AWS Bedrock donne facilement accès à des modèles de raisonnement avancés — la famille Nova d'Amazon, les modèles Claude d'Anthropic, ainsi que de nombreux modèles open source comme Mistral, DeepSeek ou Llama. Ces modèles prennent déjà en charge le raisonnement de type chain-of-thought, ce qui permet à l'agent de produire des étapes de réflexion intermédiaires avant de tirer ses conclusions et de passer à l'action. Cette capacité de raisonnement est essentielle, car chaque action de navigation et chaque observation s'appuient sur la précédente.
Côté orchestration, Strands Agents propose une abstraction élégante de la boucle de l'agent : à son cœur, un cycle de raisonnement, d'utilisation d'outils et de génération de réponse. Le framework s'intègre nativement aux modèles Bedrock et offre des primitives de niveau production pour l'état de session, la coordination multi-agent et la gestion du contexte.
Voici un court extrait de code de l'agent qui illustre à quel point Strands simplifie son développement :

Cette boucle permet à l'agent de naviguer en autonomie, de raisonner sur ses observations et de conserver son état entre chaque étape.
Passer à l'action via les outils et MCP
Mais raisonner ne suffit pas : l'agent doit interagir avec l'extérieur.
L'outillage repose sur le Model Context Protocol (MCP), un standard ouvert qui relie les LLM à des systèmes externes. Chaque serveur MCP expose un catalogue d'outils aux définitions et schémas explicites, que l'agent peut appeler dynamiquement à l'exécution.
Pour notre cas d'usage, nous avons combiné trois sources d'outils :
- retrieve : pour interroger sémantiquement la base de vulnérabilités.
- Playwright MCP : pour la navigation web et les interactions avec les sites.
- Filesystem MCP : pour le stockage persistant simple et la journalisation.
Pendant le développement, en août 2025, AWS a dévoilé AgentCore , qui embarque son propre Browser Tool et nous a évité de gérer notre propre infrastructure Playwright. Il fournit un environnement de navigateur entièrement managé et isolé, avec intégration IAM et observabilité CloudTrail — et s'est greffé sans accroc au code existant :

La modularité de Strands a rendu le passage d'un outillage de navigateur auto-hébergé à un service managé, plus sûr et plus scalable, particulièrement simple.
Ancrer l'agent avec Bedrock Knowledge Bases
Pour que l'agent raisonne à partir de données du monde réel, nous l'avons ancré dans la base du programme CVE™ , un référentiel de vulnérabilités connues.
Avec Amazon Bedrock Knowledge Bases, nous avons importé le jeu de données CVE, qu'AWS a automatiquement découpé, vectorisé et indexé dans OpenSearch Serverless, prêt à être interrogé.
L'outil retrieve a ensuite permis à l'agent d'interroger ce vector store à l'exécution, lui apportant une connaissance à jour des vulnérabilités pertinentes pour chaque actif client rencontré. Le pipeline managé d'ingestion et de récupération de Bedrock Knowledge Bases nous a fait gagner un temps d'ingénierie considérable par rapport à un flux RAG sur mesure.
Déployer l'agent sur AWS
Une fois le prototype validé en local, nous avons mis la solution en production via deux runtimes managés :
1. AWS Fargate
Un déploiement conteneurisé packagé via Docker et orchestré avec AWS CDK. Cette configuration offre un contrôle complet sur le scaling et le réseau : idéale lorsque l'on souhaite davantage de maîtrise ou que l'on a des dépendances spécifiques (comme les serveurs MCP).
2. Amazon Bedrock AgentCore
AgentCore propose un niveau d'abstraction encore plus élevé : vous définissez l'agent et sa configuration, et AWS l'exécute pour vous.
Avec quelques ajustements de code — principalement le passage du stockage sur système de fichiers au système d'état de Strands — le même agent a tourné en mode entièrement managé, sans configuration CDK ni VPC, simplement via les commandes agentcore configure et agentcore launch du starter kit AgentCore. Pour itérer vite avec un coût opérationnel minimal, cette approche s'est révélée imbattable.
Observabilité et évaluation
Surveiller le comportement d'un agent est tout aussi décisif que de le concevoir.
Pour les équipes qui privilégient un outil d'analyse externe, LangFuse se branche sans effort via OpenTelemetry et restitue une chronologie fine des boucles, des appels de modèles et des invocations d'outils. On y gagne une vision pas à pas de ce que l'agent pense et des outils qu'il choisit, indispensable pour le débogage et l'amélioration continue.
Depuis le lancement d'AgentCore, AgentCore Observability est également disponible et s'intègre nativement à CloudWatch , qui dispose désormais d'un dashboard GenAI Observability capturant traces, métriques et logs à chaque invocation. Les développeurs peuvent visualiser la consommation de tokens et les taux d'erreur, et inspecter chaque session : la boîte noire du raisonnement des LLM devient une donnée mesurable.
Pilotez les dépenses de votre agent avec DoiT Cloud Intelligence
Dans le prolongement de l'observabilité, mesurer l'impact financier avant la mise en production doit aussi rester une priorité.
Chez DoiT, nous avons lancé le GenAI Lens, intégré à notre plateforme DoiT Cloud Intelligence™, pour analyser les schémas de dépenses des workloads d'IA générative.
Il s'intègre directement à Amazon Bedrock, ainsi qu'à Anthropic et OpenAI, et offre une visibilité claire sur les modèles et les workloads qui pèsent sur vos coûts.
Pour aller plus loin, DataHub vous permet d'intégrer l'ingestion de données directement dans votre application. Grâce au labelling et aux dashboards personnalisés, vous suivez les coûts par domaine ou par client — et calculez même un coût par vulnérabilité détectée, transformant les insights de sécurité en ROI mesurable.
Et après ?
De l'ingestion de données au raisonnement et à l'observabilité, l'écosystème AWS a fourni toutes les briques nécessaires pour donner vie à cet agent ASM autonome — de façon sécurisée, scalable et avec une gestion d'infrastructure minimale, d'autant plus depuis qu'AgentCore est en GA.
Nous avons mené des tests sur testphp.vulnweb.com, qui ont montré que notre système détecte des scénarios de SQL Injection, de XSS Reflected et Stored, de contournement d'authentification et même de compromission active de site. Ces résultats ont confirmé que l'agent peut parcourir des flux web en autonomie, injecter des payloads, interpréter les preuves d'exécution et corréler les résultats avec la base CVE — le tout avec une supervision humaine minimale. Au-delà de la précision technique, ce projet démontre la valeur de coupler raisonnement autonome, récupération en temps réel et observabilité, et de transformer des scans de vulnérabilités bruts en intelligence structurée et explicable.
Les pistes d'évolution ne manquent pas : enrichir les capacités de reporting, évaluer les performances sur des benchmarks reconnus et intégrer d'autres bases de vulnérabilités. Mais même en l'état, ce projet illustre comment AWS Bedrock + Strands Agents traduit les promesses de l'IA générative en valeur opérationnelle pour la cybersécurité.
L'intégralité du code source et les détails d'implémentation sont disponibles sur GitHub, et une version longue est consultable ici.
—
Simplifions ensemble votre parcours FinOps : échangeons via doit.com/services !