Agents IA de Sécurité
Introduction
La cybersécurité moderne fait face à un défi de taille : comment analyser et répondre à une multitude de menaces complexes à une vitesse surhumaine? La réponse ne réside pas seulement dans des outils puissants, mais dans leur orchestration intelligente.
Ce guide vous propose une approche de nouvelle génération : créer de véritables agents de sécurité IA. Nous allons combiner la puissance du framework de sécurité open-source HexStrike-AI avec la flexibilité de la plateforme d’automatisation N8N. L’objectif n’est pas simplement de lier des outils, mais de faire de N8N le cerveau de nos opérations, capable de raisonner, de planifier et d’agir.
HexStrike-AI est capable d’exécuter plus de 150 outils de sécurité (dont les célèbres Nmap, Nuclei, SQLMap, Gobuster, Subfinder, WPScan, Hydra, Hashcat, Masscan et Prowler). La liste complète est disponible sur le dépôt officiel du projet.
Nous déploierons l’ensemble de la solution dans un environnement 100% conteneurisé avec Docker et nous explorerons deux scénarios concrets et détaillés.
⚠️ Avertissement Fondamental
HexStrike-AI est un outil de test d’intrusion extrêmement puissant. Il est capable d’exécuter plus de 150 outils de sécurité.
- ISOLEMENT : N’exécutez jamais cet environnement sur une machine de production. Utilisez une machine virtuelle dédiée et isolée.
- AUTORISATION : N’utilisez cet outil que sur des systèmes pour lesquels vous avez une autorisation écrite et explicite. L’utiliser sans permission est illégal.
Partie 1 : Installation de l’Environnement 100% Docker
Nous allons définir nos deux services (N8N et HexStrike-AI) dans un unique fichier docker-compose.yml
.
Étape 1 : Préparer la Structure du Projet
Créez la structure de dossiers suivante :
/hexstrike-automation/
├── docker-compose.yml
└── hexstrike-ai-docker/
├── Dockerfile
└── app/
Étape 2 : Cloner le Dépôt HexStrike-AI
Clonez le code source de HexStrike-AI directement dans le dossier app
.
git clone https://github.com/0x4m4/hexstrike-ai.git /hexstrike-automation/hexstrike-ai-docker/app
Étape 3 : Créer le Dockerfile
pour HexStrike-AI
Ce Dockerfile
construit une image basée sur Kali Linux pour bénéficier des outils préinstallés, et y ajoute Pandoc pour la génération de nos rapports PDF.
Créez le fichier /hexstrike-automation/hexstrike-ai-docker/Dockerfile
:
# Utiliser une image Kali Linux comme base
FROM kalilinux/kali-rolling
WORKDIR /opt/hexstrike
# Installer les dépendances et outils, y compris pandoc
RUN apt-get update && apt-get install -y --no-install-recommends \
git python3 python3-pip python3-venv pandoc nmap nuclei subfinder sqlmap \
&& rm -rf /var/lib/apt/lists/*
# Copier l'application HexStrike-AI
COPY ./app /opt/hexstrike
# Installer les dépendances Python
RUN pip3 install -r requirements.txt
EXPOSE 8888
CMD ["python3", "hexstrike_server.py"]
Étape 4 : Créer le Fichier docker-compose.yml
Créez le fichier /hexstrike-automation/docker-compose.yml
:
version: '3.8'
services:
n8n:
image: n8nio/n8n
container_name: n8n_brain
restart: always
ports:
- "5678:5678"
environment:
- GENERIC_TIMEZONE=Europe/Paris
- EXECUTIONS_PROCESS=main # Permet au noeud "Execute Command" de fonctionner
volumes:
- ./n8n_data:/home/node/.n8n
depends_on:
- hexstrike-ai
networks:
- security-net
hexstrike-ai:
build:
context: ./hexstrike-ai-docker
container_name: hexstrike_engine
restart: always
ports:
- "8888:8888"
cap_add:
- NET_RAW
- NET_ADMIN
networks:
- security-net
networks:
security-net:
driver: bridge
Étape 5 : Lancer l’Environnement
Depuis le dossier racine /hexstrike-automation
, lancez la commande :
docker-compose up --build -d
La construction de l’image sera longue. Une fois terminée, N8N sera accessible sur http://localhost:5678
.
Partie 2 : Scénarios d’Agents IA avec N8N
Scénario 1 : L’Agent “Analyste à la Demande” avec Rapport PDF
Objectif : Créer un agent qui reçoit une cible, raisonne sur le type de scan le plus approprié, exécute l’audit, puis génère et distribue un rapport PDF.
Workflow N8N :
Telegram
-> Agent IA (Planification)
-> HexStrike
-> Code (Formatage)
-> Pandoc
-> Envoi (Telegram + Email)
Configuration des Nœuds Clés :
-
Telegram Trigger : Attend la commande
/audit-pdf example.com mon.email@test.com
. -
Agent IA (Planification) - Nœud HTTP Request : Ce nœud appelle une IA (ici, l’API de Gemini ou OpenAI) pour qu’elle choisisse le type d’analyse.
- URL : API de votre LLM (ex:
https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent
) - Body (Exemple pour Gemini) :
{ "contents": [{ "parts": [{ "text": "Tu es un expert en cybersécurité. Pour la cible '{{$json.target}}', détermine le type d'analyse le plus pertinent pour HexStrike-AI ('comprehensive', 'web', 'wpscan', 'api'). Réponds UNIQUEMENT avec le JSON pour l'appel API HexStrike. Par exemple: {\\"target\\": \\"{{$json.target}}\\", \\"analysis_type\\": \\"comprehensive\\"}" }] }] }
- URL : API de votre LLM (ex:
-
HexStrike - Nœud HTTP Request :
- URL :
http://hexstrike-ai:8888/api/intelligence/analyze-target
- Body :
{{JSON.parse($json.candidates[0].content.parts[0].text)}}
(Utilise la sortie dynamique du nœud précédent)
- URL :
-
Execute Command (Pandoc) :
- Command :
echo '{{$json.markdownReport}}' | pandoc --from markdown --to pdf -o report.pdf
- Command :
-
Distribution : Deux nœuds en parallèle (Telegram et Email) qui envoient le fichier
report.pdf
.
Scénario 2 : L’Agent “DevSecOps” en CI/CD
Objectif : Créer une porte de sécurité qui analyse automatiquement chaque nouvelle version d’une application et bloque le déploiement en cas de faille critique.
Workflow N8N :
Webhook
-> Agent IA (Plan de Scan)
-> HexStrike
-> Agent IA (Analyse Résultat)
-> IF (Go/No-Go)
-> Notification & Blocage
Configuration des Nœuds Clés :
-
Webhook Trigger : N8N génère une URL à appeler par votre outil de CI/CD (GitLab, Jenkins…) à la fin d’un déploiement en staging. Le webhook envoie :
{"url": "feature-x.staging.app", "author": "dev@test.com"}
. -
Agent IA (Plan de Scan) - Nœud HTTP Request :
- URL : API de votre LLM.
- Prompt (dans le body) :
"Tu es un agent DevSecOps. Une nouvelle URL de staging est déployée : '{{$json.body.url}}'. Crée un plan de scan rapide et non destructif pour une CI/CD. Un bon plan serait d'utiliser Nuclei pour détecter les technologies et les CVEs connues. Formule la requête JSON pour l'endpoint /api/intelligence/select-tools de HexStrike-AI. Réponds UNIQUEMENT avec le JSON."
-
HexStrike - Nœud HTTP Request :
- URL :
http://hexstrike-ai:8888/api/intelligence/select-tools
- Body :
{{JSON.parse($json.candidates[0].content.parts[0].text)}}
- URL :
-
Agent IA (Analyse Résultat) - Nœud HTTP Request :
- URL : API de votre LLM.
- Prompt (dans le body) :
"Analyse ce rapport de scan JSON de HexStrike : '{{$json}}'. Y a-t-il des vulnérabilités avec une sévérité 'high' ou 'critical' ? Réponds par le mot unique 'FAIL' si oui, et 'PASS' si non."
-
IF (Go/No-Go) :
- Condition :
{{$json.candidates[0].content.parts[0].text}}
- String - Equals -FAIL
- Condition :
-
Branche “FAIL” :
- Un nœud Slack/Email pour notifier l’auteur du commit (
{{$json.body.author}}
) avec les détails de la faille. - Un nœud HTTP Request qui appelle l’API de votre outil de CI/CD pour faire échouer le pipeline.
- Un nœud Slack/Email pour notifier l’auteur du commit (
Conclusion
En intégrant une couche de raisonnement IA directement dans N8N, nous avons transformé de simples scripts en véritables agents autonomes. Ils ne se contentent plus d’exécuter des tâches, ils les planifient, les adaptent et prennent des décisions. Cette approche, combinant l’orchestration de N8N, la puissance de frappe de HexStrike-AI et l’intelligence d’un LLM, ouvre la voie à une nouvelle ère de la cybersécurité : proactive, intelligente et hautement automatisée.
Références et Outils
Voici une liste des principaux projets et technologies mentionnés dans cet article :
- Framework de Sécurité : HexStrike-AI
- Orchestrateur d’Automatisation : N8N
- Conteneurisation : Docker
- Distribution Linux : Kali Linux
- Génération de PDF : Pandoc
- Scanners et Outils Populaires :