Marier l'échelle et la preuve
L'automatisation agentique a changé la façon dont nous explorons les surfaces d'attaque. Elle excelle en termes d'étendue - reconnaissance rapide, génération d'hypothèses et énumération modulable - mais elle produit rarement des des chaînes d'exploitation de qualité qui résistent à l'examen de l'équipe bleue ou à l'examen de la direction. Les tests manuels traditionnels sont à l'opposé : ils sont excellents en matière d'interprétation, de jugement contradictoire et de clarté narrative, mais ils peinent à couvrir le périmètre tentaculaire et en constante évolution des applications modernes et des environnements en nuage. La voie à suivre n'est pas celle de l'opposition entre l'homme et l'IA, mais plutôt celle de l'opposition entre l'homme et l'IA. l'homme dans la boucle (HITL) les agents : laisser les agents assurer la rapidité et la couverture de surface dans le cadre de garde-fous explicites, et laisser les experts s'occuper de la validation, du contexte et de l'obligation de rendre compte. Dans la pratique, un agent humain en boucle IA outil de pentest Penligent Le déploiement se présente comme suit : l'orchestration en fonction des politiques, l'outillage au niveau de l'intentionet des rapports fondés sur des données probantes qui résiste aux audits et aux rétrospectives d'incidents.

Ce que signifie vraiment HITL (au-delà d'un pop-up oui/non)
Un système de pentesting HITL n'est pas un dialogue de dernière minute "Êtes-vous sûr ?" ajouté à un flux de travail par ailleurs autonome. Il s'agit d'un l'orchestration conçue dans lesquelles des intentions sensibles - sondage actif, exécution d'exploits, écriture de fichiers, simulation d'exfiltration de données ou sortie vers l'extérieur - sont refuser par défautet chaque approbation est assortie d'une contraintes (limites de débit, chemins d'accès autorisés, conditions d'arrêt, fenêtres temporelles et règles de traitement des données). Chaque commande, paramètre, détail de l'environnement, résultat brut, capture d'écran/photo, identité de l'examinateur et note d'examen est conservé sous la forme d'un fichier chaîne de preuves médico-légales. Les rapports sont régénérable à partir des premiers principesSi l'on supprime l'écrit et que l'on reconstruit à partir des éléments de preuve, on devrait obtenir les mêmes conclusions. Les conclusions sont mises en correspondance avec MITRE ATT&CK TTPs ; les étapes de vérification s'alignent sur les OWASP ASVS les contrôles ; et les artefacts des processus (approbations, journaux des modifications, séparation des tâches) répondent aux exigences de l'UE. NIST SSDF. C'est ainsi que l'on passe de la "numérisation assistée par l'IA" à la "numérisation assistée par la technologie". une pratique d'ingénierie défendable.
Architecture : Les politiques d'abord, les outils abstraits, les preuves toujours
Une conception qui peut être maintenue se divise en trois couches :
- Couche de garde-fou (politique d'abord) : Encoder les points de contrôle pour les intentions à haut risque en tant que refus par défaut avec des approbations structurées. Une approbation n'est pas simplement un "oui/non" ; c'est un "oui" ou un "non". contrat qui précise ce que l'agent peut faire et sous quelles contraintes. Les approbations doivent être versionnées, attribuées à un réviseur et enregistrées avec des horodatages, des identificateurs de champ d'application et des crochets de révocation.
- Couche d'outils (verbes d'intention) : Envelopper les scanners et les assistants - Nmap, ffuf, sqlmap, nuclei, Burp Suite APIs, browser automation, OSINT helpers - derrière des verbes comme
dir_bruteforce,param_fuzz,sqli_detect,xss_probe,crawler_login. Analyser leurs résultats dans un langage bien typé, enregistrements structurés (JSON) afin que les agents puissent raisonner de manière fiable et que les rapports puissent réutiliser les preuves sans avoir recours à la roulette des expressions rationnelles. Normaliser les états "succès/échec/incertain" pour éviter une logique en chaîne fragile. - Couche de preuve (de qualité médico-légale) : Établir une corrélation entre les commandes, les versions, l'environnement, les résultats, les captures d'écran, les cartes d'identité et les identités des examinateurs. Tenez compte des éléments suivants chaînes de hachage ou signature afin de protéger l'intégrité et de permettre l'établissement de rapports sur la provenance. Les éléments de preuve doivent pouvoir être consultés : "montrez-moi tous les POC pour
T1190dans ce domaine au cours des 30 derniers jours" devrait être une simple requête, et non une fouille archéologique.
En bref : la rapidité vient des agents, la certitude des humains, la défendabilité des preuves.
Du signal à la preuve : une cadence de travail évolutive
Un flux de travail HITL robuste progresse de large découverte à exécution limitée à des rapports défendables:
- Découverte : Les agents balaient les surfaces avec des actions en lecture seule ou à faible impact. Ils génèrent des candidats (chemins intéressants, paramètres suspects, réponses anormales) et regroupent les signaux afin de réduire la fatigue des chercheurs.
- Interception : Les portes d'approbation interceptent les intentions sensibles. Un examinateur humain ajoute des contraintes - débit ≤ 5 rps, abandon sur 403/429, limitation des chemins d'accès à
/api/*Il s'agit d'une application réglementée sur les IPI ; il faut éviter les opérations de données en vrac. - Exécution sous contrainte : Les agents procèdent dans le cadre du contrat accordéL'objectif est d'obtenir des informations sur les résultats de la recherche, en capturant tout ce qui est nécessaire pour reproduire les résultats : vecteurs d'entrée, conditions préalables de l'environnement, horodatage et artefacts de sortie.
- Régénération du rapport : Le rapport final est explicable (liens avec l'impact sur les entreprises), reproductible (preuve → rapport), et aligné sur la norme (ATT&CK/ASVS/SSDF). Votre équipe bleue peut élaborer des détections à partir de cette base ; vos développeurs peuvent élaborer des tests à partir de cette base ; vos dirigeants peuvent prendre des décisions en matière de risque à partir de cette base.
Boucle d'approbation minimale de la HITL
Voici un modèle minimalinterruption de la politique → approbation humaine → parcours contraint → persistance des preuves-que vous pouvez intégrer dans un orchestrateur personnalisé ou dans LangGraph/LangChain. Il est volontairement compact mais suffisamment complet pour être utilisé et étendu.
import json, subprocess, time, uuid, hashlib, os
from datetime import datetime
APPROVALS = {
"RUN_EXPLOIT" : {"require" : True, "reason" : "Action impactante"},
"SCAN_ACTIVE" : {"require" : True, "reason" : "Impact action"} : True, "reason" : "Peut déclencher un WAF/IPS"},
"WRITE_FILE" : {"require" : True, "reason" : "May trigger WAF/IPS"} : True, "reason" : "Mutation du système de fichiers"},
"EGRESS_CALL" : {"require" : True, "reason" : "Sortie du réseau externe"},
"READ_ONLY" : {"require" : False, "reason" : "Safe intent"},
}
EVIDENCE_DIR = "./evidence" # remplacer par un stockage objet en production
os.makedirs(EVIDENCE_DIR, exist_ok=True)
def needs_approval(intent : str) -> bool :
meta = APPROVALS.get(intent, {"require" : True})
return bool(meta["require"])
def open_review_ticket(intent, cmd, context) :
ticket = {
"id" : str(uuid.uuid4()),
"intent" : intent,
"cmd" : cmd,
"context" : contexte,
"status" : "PENDING",
"created_at" : datetime.utcnow().isoformat() + "Z",
}
# TODO : pousser vers Slack/Discord/Web UI
Retourner le ticket
def await_decision(ticket, timeout=1800) :
# En production : interroger le magasin de décisions ; ici nous simulons l'approbation avec des contraintes.
start = time.time()
while time.time() - start dict :
proc = subprocess.run(cmd, capture_output=True, text=True)
return {"rc" : proc.returncode, "stdout" : proc.stdout, "stderr" : proc.stderr}
def persist_evidence(payload : dict) -> str :
raw = json.dumps(payload, sort_keys=True).encode()
digest = hashlib.sha256(raw).hexdigest()
path = os.path.join(EVIDENCE_DIR, f"{digest}.json")
with open(path, "wb") as f :
f.write(raw)
return path
def hitl_execute(intent : str, cmd : list[str], context : dict) -> dict :
contract = None
if needs_approval(intent) :
ticket = open_review_ticket(intent, cmd, context)
decision = await_decision(ticket)
if decision["status"] != "APPROVED" :
return {"status" : "BLOCKED", "ticket" : ticket}
contract = decision["constraints"]
# Facultatif : appliquer les contraintes localement (par exemple, injecter l'indicateur de taux dans l'outil)
si contrat et "rate" dans contrat et "-rate" pas dans cmd :
cmd += ["-rate", str(contract["rate"])]
result = run_tool(cmd)
evidence = {
"intent" : intent,
"cmd" : cmd,
"context" : contexte,
"result" : résultat,
"attck" : "T1190", # Exploit Public-Facing Application
"asvs" : "V2", # Authentification/Session mgmt (exemple)
"ts" : datetime.utcnow().isoformat() + "Z",
"reviewer" : contrat et "[email protected]",
}
path = persist_evidence(evidence)
return {"status" : "DONE", "evidence_path" : path, "sha256" : os.path.basename(path).split(".")[0]}
# Exemple : découverte active prudente avec ffuf (limitée par l'approbation)
if __name__ == "__main__" :
response = hitl_execute(
"SCAN_ACTIVE",
["ffuf", "-w", "wordlists/common.txt", "-u", "https://target.example/FUZZ"],
{"scope" : "https://target.example", "note" : "stop on 403/429"}
)
print(json.dumps(response, indent=2))
Pourquoi cela est-il important ? Les approbations sont contratsLes contraintes sont les suivantes applicable à la machineet les preuves sont inviolable. Vous pouvez désormais concevoir une génération de rapports qui transforme de manière déterministe les preuves en un récit ; si le récit s'éloigne des preuves, votre construction s'interrompt...exactement ce que vous voulez.
Modes de fonctionnement : trouver le bon équilibre
| Dimension | Uniquement pour l'homme | IA uniquement | Agents HITL (recommandé) |
|---|---|---|---|
| Couverture de la surface | Moyenne-Faible | Haut | Haut |
| Approfondissement de la validation et contexte commercial | Haut | Faible-Moyen | Haut |
| Faux positifs/excès de pouvoir | Faible | Moyenne-élevée | Faible-moyen (gouverné) |
| Auditabilité et cartographie des normes | Moyen | Faible | Haut |
| Scénarios idéaux | Recherche d'une boîte grise profonde et d'un risque élevé | Découverte de la masse | Tests continus + POCs vérifiables |
HITL optimise pour le déterminisme sous gouvernance. Les agents s'exécutent rapidement mais à l'intérieur de rails ; les humains décident de ce qui compte comme preuve et de la manière de communiquer l'impact. Cette combinaison permet d'obtenir un débit sans perdre crédibilité.
Un alignement des normes qui réduit les frictions
Traiter les normes comme le colonne vertébrale de vos produits, et non une annexe :
- MITRE ATT&CK : mettre en correspondance les activités et les résultats avec des TTP concrets, de sorte que les détections et les exercices de l'équipe violette soient des étapes évidentes.
https://attack.mitre.org/ - OWASP ASVS : ancrer la vérification dans les familles de contrôle et compléter chaque élément par des preuves reproductibles et des étapes de relecture.
https://owasp.org/www-project-application-security-verification-standard/ - NIST SSDF (SP 800-218) : capturer les approbations, les chaînes de preuves et la séparation des tâches en tant qu'artefacts de processus alignés sur des pratiques de développement sécurisées.
https://csrc.nist.gov/pubs/sp/800/218/final
Grâce à cet alignement, votre rapport devient un interface bidirectionnelleL'ingénierie l'utilise pour réparer, les défenseurs pour détecter, les auditeurs pour vérifier.
Où Penligent La boucle est bouclée
Lorsque vous déployez un agent humain en boucle IA outil de pentest PenligentDeux rôles qui se conjuguent de manière cohérente :
- Les garde-corps en tant qu'élément de la plate-forme. Les agents orchestrés de Penligent opèrent à l'intérieur les approbations explicites, les listes d'autorisation/interdiction et les règles d'étendue/de taux. Les intentions sensibles telles que
RUN_EXPLOIT,WRITE_FILEouEGRESS_CALLsont pilotés par des interruptions et nécessitent des contrats avec l'examinateur. Toutes les lignes de commande, versions d'outils et résultats sont normalisés dans la base de données des preuves, prêts à être régénérés et audités. - De la découverte à l'histoire défendable. Les agents balayent largement et ébauchent ; les chercheurs valident les POC, relient l'exploitation à la technologie de l'information. impact sur les entrepriseset de fournir des rapports qui s'intègrent parfaitement dans les systèmes de gestion de l'information. ATT&CK/ASVS/SSDF. Cette division du travail transforme le balayage ad-hoc en capacité de répétabilité. Si votre environnement exige une stricte résidence des données ou des tests hors ligne, les solutions de Penligent pour la gestion des données sont très utiles. local d'abord vous permet de mettre en œuvre vos capacités en toute sécurité et de les développer au fur et à mesure que vous gagnez en confiance.

Modèles et anti-modèles pratiques
Faire :
- Version toutLes outils d'aide à la décision : invites, images d'outils, listes de mots et taux. Les matrices de reproductibilité n'ont pas d'épingles de version.
- Renforcer l'automatisation des navigateursLes agents ont besoin de l'introspection du DOM, de la synthèse des événements, de la discipline en matière de stockage/cookie et de l'interception du réseau pour éviter les angles morts du côté client.
- Dimensionner les preuvesLes mesures à prendre sont les suivantes : capturer suffisamment pour reproduire et prouver l'impact ; chiffrer au repos ; aligner la conservation sur la politique ; expurger les secrets par défaut.
Éviter :
- Chambres d'écho de l'automatisationLes boucles multi-agents peuvent amplifier les erreurs de classification précoces. Les points de contrôle stratégiques du HITL brisent la chaîne et forcent le ré-ancrage à la vérité de terrain.
- Analyse syntaxique basée sur les expressions rationnelles (Regex)Les agents de la Commission européenne : préfèrent les adaptateurs structurés avec validation du schéma ; ils fournissent aux agents des preuves normalisées, et non des journaux bruts.
- "Affirmations "probablement vulnérablesL'objectif est de créer un environnement favorable à la sécurité : sans un POC reproductible et un impact cartographié, vous créez du bruit, pas de la sécurité.
Liste de contrôle pour la mise en œuvre (copier/coller dans votre runbook)
- Refus par défaut pour
RUN_EXPLOIT,WRITE_FILE,EGRESS_CALL,SCAN_ACTIVELes approbations doivent inclure champ d'application, tauxet conditions d'arrêt. - Retour des interfaces d'outils structuré les analyseurs sont testés par rapport à des journaux réels et à des versions d'outils épinglées.
- Les preuves sont signé ou enchaînés ; les rapports sont régénéré à partir de preuves dans le cadre de l'IC pour vos artefacts de sécurité.
- Les conclusions s'articulent autour de ATT&CK TTPs ; citations de vérification ASVS éléments ; les artefacts du processus satisfont SSDF.
- L'automatisation du navigateur couvre les flux d'authentification, le routage SPA, les comportements CSP/CORS ; l'examen HITL est obligatoire pour toute mutation d'état.
- Les invites, les versions d'outils, les listes de mots et les taux sont épinglé et versionnéles modifications sont soumises à la même rigueur d'approbation que le code.
Rapidité, certitude, gouvernance
Le modèle durable est simple et puissant : rapidité = agents ; certitude = humains ; gouvernance = normes + preuves. Lorsque ces trois éléments sont réunis dans un orchestrateur contrôlable, la boucle est bouclée, agent humain en boucle IA outil de pentest Penligent cesse d'être un mot à la mode. Il devient un capacité reproductible et défendable-Un système que vos développeurs peuvent corriger, que vos défenseurs peuvent détecter, que vos auditeurs peuvent vérifier et que vos dirigeants peuvent faire confiance.
- MITRE ATT&CK - https://attack.mitre.org/
- OWASP ASVS - https://owasp.org/www-project-application-security-verification-standard/
- NIST SSDF (SP 800-218) - https://csrc.nist.gov/pubs/sp/800/218/final

