Showing posts with label MicrosoftSentinel. Show all posts
Showing posts with label MicrosoftSentinel. Show all posts

Friday, September 5, 2025

Augmenter nos pipelines SecDevOps sur Azure avec des agents IA (2/2)

Ce que nous augmentons (en termes simples)

Nous travaillons avec Azure DevOps et Azure Cloud depuis assez longtemps pour connaître cette vérité: nos pipelines produisent déjà les données/réponses dont nous avons besoin, mais ils les cachent dans des journaux, des métriques et des alertes répartis dans les outils. Les agents de l’IA nous aident à assembler cette histoire. Dans cet article, nous partageons un modèle simple et concret que nous utilisons chez JPSoftWorks pour augmenter SecDevOps sur Azure avec des agents qui surveillent, corrèlent et conseillent, sans gêner l’équipe.


Où l’agent se branche

Notre base de référence nous semble familière : Azure Repos ou GitHub, Azure Pipelines pour CI/CD, portes de sécurité pour SCA/SAST/DAST et déploiements d’atterrissage dans Azure Kubernetes Service (AKS) ou Azure App Service. L’observabilité réside dans Azure Monitor et Application Insights, Defender pour le cloud et Microsoft Defender pour DevOps alimentant les signaux de risque. Cette pile est solide, mais les gens se noient toujours dans l’information. La couche d’agent renverse le scénario en faisant trois choses pour nous:

  1. Enrichir : Capturez les sorties du pipeline, les journaux et les résultats de sécurité; ajoutez du contexte comme les validations récentes, les différences de dépendance, la dérive de l’infrastructure et les tickets de modification.
  2. Corréler : Relier les symptômes aux causes probables. Par exemple, associez un pic de temps de déploiement à un crochet Helm nouvellement ajouté, ou associez une augmentation des vulnérabilités faussement positives à une mise à jour de la règle d’analyse.
  3. Conseiller : Proposer des actions qui s’adaptent à nos garde-fous. Il peut s’agir d’ouvrir automatiquement une PR pour resserrer une politique Azure, de suggérer un changement de parallélisme de test ou d’escalader un incident réel au bon canal d’équipe de service.

Nous plaçons l’agent d’IA sur le chemin d’événement qui existe déjà dans Azure :

  • Ingestion : Azure Pipelines publie des artefacts et des journaux de build/test dans Azure Blob Storage; les données de télémétrie sont transmises à Log Analytics via Azure Monitor et Application Insights. Les signaux de sécurité arrivent de Defender pour le Cloud et de Defender pour DevOps.
  • Bus : Nous reflétons les événements clés dans Event Hubs (ou Service Bus) pour garder l’agent découplé du pipeline (important).
  • Runtime de l’agent : un service léger sur Azure Functions ou un conteneur dans AKS s’abonne à ces événements.
  • Raisonnement + politiques : L’agent utilise nos invites (prompts), règles et playbooks internes, et lorsque nous avons besoin de capacités LLM, nous appelons Azure OpenAI avec un ancrage strict sur notre propre base de connaissances dans Azure AI Search ou un compte de stockage privé.
  • Action : L’agent réécrit les commentaires dans Azure DevOps (fils de discussion PR, résumés de pipeline), crée des branches Git avec des correctifs, file des éléments de travail ADO ou publie des alertes annotées dans Teams. Pour les problèmes d’exécution, il peut ouvrir un incident Sentinel avec des preuves enrichies.

Ce que cela change pour l’observabilité

  • Des journaux bruts aux récits : Au lieu de cinq alertes dans cinq outils, nous obtenons un récit : « Le déploiement a ralenti de 34% depuis le 20 août après l’ajout d’OWASP ZAP à l’étape de publication; envisagez de paralléliser les analyses ou de définir la portée des cibles.
  • Sensibilisation aux tendances : L’agent suit les lignes de base mobiles. Lorsque le temps de construction augmente de 5% par semaine pendant trois semaines, nous en entendons parler avant de le sentir.
  • Priorisation de la sécurité : Les résultats sont classés en fonction de l’exploitabilité, de l’exposition et du rayon d’explosion. Un chemin critique sur un code mort ne saute pas la file d’attente sur un support sur un service Internet.
  • Boucles de rétroaction : L’agent teste ses propres conseils. Si la réduction de la conservation des journaux nuit aux médico-légaux, elle annule la recommandation et explique pourquoi.

Un plan simple dans Azure

Voici un diagramme minimal que nous utilisons pour expliquer le modèle aux équipes. (cliquez pour agrandir)

 


Comment nous l’exploitons en toute sécurité

  • Les limites des données d’abord : l’agent ne voit que ce qu’il doit. Nous étendons les requêtes Log Analytics par service et nous acheminons les secrets via Key Vault. Les appels de LLM sont privés, et la consignation rapide et de réponse est effacée.
  • Expliquez, puis agissez : les conseils sont par défaut; les actions nécessitent soit un runbook avec des types de changements préapprouvés, soit une approbation humaine explicite dans la vérification de la demande de tirage ou du pipeline.
  • Connaissances versionnées : Les playbooks qui guident l’agent sont versionnés comme du code et validés dans des pipelines non producteurs.
  • Contrôle des coûts : Nous regroupons les événements, utilisons la génération augmentée de récupération uniquement lorsque cela est nécessaire et mettons en cache le raisonnement préalable pour les problèmes répétés.

Cas d’utilisation du jour 1:

  1. Détecteur de dérive de pipeline : Alertez lorsque l’ordre des étapes, les conditions ou les budgets de temps changent considérablement; ouvrez un PR pour rétablir les normes.
  2. Réducteur de bruit pour les analyses de sécurité : regroupez les doublons, supprimez les familles connues et reclassez-les par chemins d’exposition découverts à partir d’Azure Resource Graph.
  3. Chien de garde SLO : surveillez les budgets d’erreurs à partir d’App Insights; si le taux d’utilisation dépasse la politique, l’agent met en pause les déploiements risqués et propose un retour en arrière avec des liens vers des traces défaillantes.
  4. Coach en risque de dépendance : Lorsqu’un nouveau colis atterrit, l’agent vérifie les fenêtres de support et les vulnérabilités transitives, puis propose une solution de rechange ou une stratégie d’épinglage plus sûre.

Conclusion : nous conservons notre pile Azure existante. Nous ajoutons simplement un agent qui écoute plus attentivement, relie les points plus rapidement et nous pousse à prendre de meilleures décisions.

Augmenting SecDevOps Pipelines with AI Agents on Azure (part 2/2)

 

What we’re augmenting (in plain terms)

We’ve been hands-on with Azure DevOps and Azure cloud long enough to know this truth: our pipelines already produce the answers we need, but they hide them in logs, metrics, and alerts spread across tools. AI agents help us stitch that story together. In this post we share a simple, concrete pattern we use at JPSoftWorks to augment SecDevOps on Azure with agents that watch, correlate, and advise—without getting in the team’s way.



Where the agent plugs in

Our baseline looks familiar: Azure Repos or GitHub, Azure Pipelines for CI/CD, security gates for SCA/SAST/DAST, and deploys landing in Azure Kubernetes Service (AKS) or Azure App Service. Observability lives in Azure Monitor and Application Insights, with Defender for Cloud and Microsoft Defender for DevOps feeding risk signals. That stack is solid, but people still drown in information. The agent layer flips the script by doing three things for us:

  1. Enrich: Capture pipeline outputs, logs, and security findings; add context like recent commits, dependency diffs, infra drift, and change tickets.
  2. Correlate: Link symptoms to likely causes. For example, tie a spike in time-to-deploy to a newly added Helm hook, or associate a rise in false-positive vulns with a scanner rule update.
  3. Advise: Propose actions that fit our guardrails. That might be auto-opening a PR to tighten an Azure Policy, suggesting a change in test parallelism, or escalating a real incident to the right service team channel.

We place the AI agent on the event path that already exists in Azure:

  • Ingest: Azure Pipelines publishes build/test artifacts and logs to Azure Blob Storage; telemetry flows into Log Analytics via Azure Monitor and Application Insights. Security signals arrive from Defender for Cloud and Defender for DevOps.
  • Bus: We mirror key events to Event Hubs (or Service Bus) to keep the agent decoupled from the pipeline.
  • Agent runtime: A lightweight service on Azure Functions or a container in AKS subscribes to those events.
  • Reasoning + policies: The agent uses our in-house prompts, rules, and playbooks, and when we need LLM capabilities we call Azure OpenAI with strict grounding against our own knowledge base in Azure AI Search or a private storage account.
  • Action: The agent writes comments back to Azure DevOps (PR threads, pipeline summaries), creates Git branches with fixes, files ADO work items, or posts annotated alerts to Teams. For runtime issues it can open a Sentinel incident with enriched evidence.

What it changes for observability

  • From raw logs to narratives: Instead of five alerts in five tools, we get one narrative: “Deployment slowed by 34% since Aug 20 after adding OWASP ZAP to release stage; consider parallelizing scans or scoping targets.”
  • Trend awareness: The agent tracks moving baselines. When build time creeps 5% weekly for three weeks, we hear about it before we feel it.
  • Security prioritization: Findings get ranked by exploitability, exposure, and blast radius. A critical on a dead code path doesn’t jump the queue over a medium on an internet-facing service.
  • Feedback loops: The agent tests its own advice. If shortening log retention hurts forensics, it rolls back the recommendation and explains why.

A simple Azure blueprint

Here’s a minimal diagram we use to explain the pattern to teams. (click to expand)

Diagram


How we run it safely

  • Data boundaries first: The agent only sees what it must. We scope Log Analytics queries per service, and we route secrets through Key Vault. LLM calls are private, with prompt/response logging scrubbed.
  • Explain, then act: Advice is default; actions require either a runbook with pre-approved change types or explicit human approval in the PR or pipeline check.
  • Versioned knowledge: The playbooks that guide the agent are versioned like code and validated in non-prod pipelines.
  • Cost controls: We batch events, use Retrieval-Augmented Generation only when needed, and cache prior reasoning for repeated issues.

Day-one use cases

  1. Pipeline drift detector: Alert when stage order, conditions, or time budgets change materially; open a PR to restore standards.
  2. Noise reducer for security scans: Group duplicates, suppress known-benign families, and re-rank by exposure paths discovered from Azure Resource Graph.
  3. SLO watchdog: Watch error budgets from App Insights; if burn rate exceeds policy, the agent pauses risky deploys and proposes a rollback with links to failing traces.
  4. Dependency risk coach: When a new package lands, the agent checks support windows and transitive vulns, then proposes a safer alternative or pin strategy.

Bottom line: we keep our existing Azure stack. We just add an agent that listens harder, connects dots faster, and nudges us toward better decisions.

Théâtre de la sécurité infonuagique: pourquoi les "meilleures pratiques" d'Azure ne vous sécurisent pas réellement (Avec blogueur invité Joshua Copeland)

Seule, une "checklist" ne vaut rien. Joshua Copeland et Jean-Paul Lizotte Image générée par l'IA. Tout le monde aime...