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é.

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 :

  1. Telegram Trigger : Attend la commande /audit-pdf example.com mon.email@test.com.

  2. 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\\"}"
        }]
      }]
    }
    
  3. 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)
  4. Execute Command (Pandoc) :

    • Command : echo '{{$json.markdownReport}}' | pandoc --from markdown --to pdf -o report.pdf
  5. 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 :

  1. 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"}.

  2. 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."
  3. HexStrike - Nœud HTTP Request :

    • URL : http://hexstrike-ai:8888/api/intelligence/select-tools
    • Body : {{JSON.parse($json.candidates[0].content.parts[0].text)}}
  4. 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."
  5. IF (Go/No-Go) :

    • Condition : {{$json.candidates[0].content.parts[0].text}} - String - Equals - FAIL
  6. 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.

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 :