Shuffle SOAR Platform

Plateforme open source d'orchestration et d'automatisation des opérations de sécurité

300+
Intégrations
Open Source
MIT License
100k+
Workflows/jour

Qu'est-ce que Shuffle ?

Shuffle est une plateforme SOAR (Security Orchestration, Automation and Response) open source conçue pour automatiser et orchestrer les workflows de cybersécurité. Elle permet aux équipes SOC de créer des playbooks automatisés sans nécessiter de compétences en programmation avancées.

Grâce à son interface visuelle drag-and-drop, Shuffle simplifie la création de workflows complexes intégrant des dizaines d'outils de sécurité. La plateforme excelle dans l'enrichissement automatique des IOCs, la réponse aux incidents et l'analyse de malware.

Points clés

  • 100% Open Source - Code accessible, communauté active, pas de coûts cachés
  • 300+ Intégrations - Compatible avec tous les outils CTI majeurs
  • No-Code - Interface visuelle intuitive, accessible à tous
  • Scalable - Architecture distribuée pour grandes infrastructures

Fonctionnalités principales

Découvrez les capacités avancées qui font de Shuffle la référence en matière d'automatisation SOAR

Workflows actifs
1000+

Orchestration SOAR

Créez des workflows d'automatisation complexes sans programmation avec une interface drag-and-drop intuitive

  • Visual workflow builder
  • Drag & drop interface
  • Conditional logic
  • Loop & iteration support
Intégrations
300+

Intégrations natives

Plus de 300 intégrations prêtes à l'emploi avec les principaux outils de cybersécurité

  • VirusTotal, MISP, TheHive
  • Cortex, Splunk, ELK
  • Slack, Teams, Email
  • Custom REST APIs
Stars GitHub
2.5k+

Open Source

Solution 100% open source, gratuite et auto-hébergée avec communauté active

  • MIT License
  • Self-hosted
  • Active community
  • Regular updates
Exécutions/jour
100k+

Scalabilité

Architecture distribuée capable de gérer des milliers d'exécutions parallèles

  • Distributed execution
  • Load balancing
  • Queue management
  • High availability
Temps réponse
<100ms

Analyse temps réel

Monitoring en direct des workflows avec logs détaillés et métriques de performance

  • Real-time execution
  • Detailed logs
  • Performance metrics
  • Error tracking
Sécurité
Enterprise

Sécurité avancée

Gestion sécurisée des credentials, RBAC et audit complet des actions

  • Encrypted secrets
  • RBAC support
  • Audit logging
  • API authentication

Installation et configuration

Déployez Shuffle en quelques minutes avec Docker

Prérequis système

Docker & Docker Compose
Version 20.10+ recommandée
4 Go RAM minimum
8 Go recommandés en production
20 Go espace disque
Pour logs et données
Ports 3000, 5001
Interface et backend

Installation rapide avec Docker

1

Cloner le dépôt

git clone https://github.com/Shuffle/Shuffle
cd Shuffle
2

Configurer l'environnement

# Copier le fichier d'environnement
cp .env.example .env

# Générer une clé secrète
export SHUFFLE_APP_HOTLOAD_SECRET=$(openssl rand -hex 32)
3

Lancer Shuffle

docker-compose up -d

# Vérifier les logs
docker-compose logs -f
4

Accéder à l'interface

Ouvrez votre navigateur et accédez à :

Compte par défaut : admin@shuffler.io / Password123

Configuration recommandée

  • Changez immédiatement le mot de passe par défaut
  • Configurez HTTPS avec un reverse proxy (Nginx, Traefik)
  • Activez la persistance des données avec des volumes Docker
  • Configurez des backups réguliers de la base de données

Cas d'usage CTI

Exemples pratiques d'automatisation pour vos opérations de Cyber Threat Intelligence

Enrichissement IOCs

Automatisez l'enrichissement des indicateurs de compromission

1

Réception automatique d'alertes (SIEM, EDR)

2

Extraction des IOCs (IPs, hashes, domaines)

3

Enrichissement multi-sources (VT, MISP, AbuseIPDB)

4

Corrélation avec threat intelligence

5

Scoring et priorisation automatique

6

Création de ticket TheHive enrichi

7

Notification équipe avec contexte complet

Réponse aux incidents

Orchestrez la réponse automatisée aux incidents de sécurité

1

Détection d'incident critique

2

Création automatique de case

3

Collecte des artefacts et logs

4

Isolation automatique si nécessaire

5

Analyse forensique préliminaire

6

Notification escalade selon criticité

7

Documentation timeline complète

Analyse malware

Pipeline complet d'analyse de fichiers suspects

1

Upload fichier suspect (email, API)

2

Calcul hash et recherche VirusTotal

3

Détonation en sandbox (Cuckoo, Any.run)

4

Extraction IOCs et comportements

5

Génération signature YARA

6

Partage IOCs vers MISP

7

Rapport d'analyse détaillé

Intégrations disponibles

Plus de 300 applications intégrées nativement

Threat Intelligence

VirusTotalMISPAlienVault OTXAbuseIPDBThreatFoxURLhaus

Case Management

TheHiveCortexIRISServiceNowJiraPagerDuty

Communication

SlackMicrosoft TeamsEmailDiscordMattermostTelegram

Analysis & Sandbox

CuckooAny.runJoe SandboxHybrid AnalysisVirusTotalURLscan

Exemple de workflow JSON

Structure d'un workflow d'enrichissement d'IOCs

{
  "name": "IOC Enrichment Workflow",
  "description": "Automated IOC enrichment with multi-source intelligence",
  "start": "webhook",
  "triggers": [
    {
      "name": "Webhook Trigger",
      "app": "webhook",
      "function": "webhook_trigger",
      "parameters": {
        "url": "/api/v1/hooks/ioc-enrichment"
      }
    }
  ],
  "actions": [
    {
      "name": "Parse IOC",
      "app": "shuffle_tools",
      "function": "parse_ioc",
      "input": "$exec.webhook_trigger.body"
    },
    {
      "name": "VirusTotal Lookup",
      "app": "virustotal",
      "function": "get_report",
      "input": "$exec.parse_ioc.ioc_value",
      "authentication": "virustotal_api_key"
    },
    {
      "name": "MISP Search",
      "app": "misp",
      "function": "search_attributes",
      "input": {
        "value": "$exec.parse_ioc.ioc_value",
        "type": "$exec.parse_ioc.ioc_type"
      }
    },
    {
      "name": "AbuseIPDB Check",
      "app": "abuseipdb",
      "function": "check_ip",
      "input": "$exec.parse_ioc.ioc_value",
      "conditions": [
        {
          "field": "$exec.parse_ioc.ioc_type",
          "operator": "equals",
          "value": "ip"
        }
      ]
    },
    {
      "name": "Aggregate Results",
      "app": "shuffle_tools",
      "function": "merge_reports",
      "input": [
        "$exec.virustotal_lookup.result",
        "$exec.misp_search.attributes",
        "$exec.abuseipdb_check.data"
      ]
    },
    {
      "name": "Calculate Threat Score",
      "app": "shuffle_tools",
      "function": "calculate_score",
      "input": "$exec.aggregate_results.merged_data"
    },
    {
      "name": "Create TheHive Alert",
      "app": "thehive",
      "function": "create_alert",
      "input": {
        "title": "IOC Enrichment: $exec.parse_ioc.ioc_value",
        "description": "$exec.aggregate_results.summary",
        "severity": "$exec.calculate_score.severity",
        "tags": ["shuffle", "automated", "ioc-enrichment"],
        "artifacts": "$exec.aggregate_results.artifacts"
      }
    },
    {
      "name": "Notify Team",
      "app": "slack",
      "function": "send_message",
      "input": {
        "channel": "#threat-intel",
        "text": "🚨 New IOC Alert",
        "blocks": [
          {
            "type": "section",
            "text": {
              "type": "mrkdwn",
              "text": "*IOC:* `$exec.parse_ioc.ioc_value`\n*Score:* $exec.calculate_score.score/100"
            }
          }
        ]
      }
    }
  ],
  "branches": [
    {
      "name": "High Severity Branch",
      "condition": "$exec.calculate_score.score > 75",
      "actions": ["create_thehive_alert", "notify_team"]
    },
    {
      "name": "Low Severity Branch",
      "condition": "$exec.calculate_score.score <= 75",
      "actions": ["log_to_database"]
    }
  ]
}

Bonnes pratiques

Recommandations pour optimiser vos workflows Shuffle

À Faire

  • Tester en développement
    Validez vos workflows dans un environnement de test avant la prod
  • Versionner vos workflows
    Exportez et versionnez avec Git pour tracer les modifications
  • Documenter les actions
    Ajoutez des descriptions claires pour chaque étape du workflow
  • Gestion d'erreurs robuste
    Implémentez des fallbacks et retry pour chaque action critique
  • Monitorer les performances
    Suivez les métriques d'exécution et temps de réponse
  • Sécuriser les credentials
    Utilisez le gestionnaire de secrets intégré, jamais en dur

À Éviter

  • Workflows monolithiques
    Évitez les workflows trop complexes, privilégiez la modularité
  • Credentials en clair
    Ne stockez jamais de clés API directement dans les workflows
  • Absence de timeouts
    Définissez toujours des timeouts pour éviter les blocages
  • Logs insuffisants
    Sans logs détaillés, le debugging devient impossible
  • Déploiement sans test
    Ne déployez jamais directement en production
  • Ignorer les limites API
    Respectez les rate limits pour éviter les blocages

Prêt à automatiser vos workflows ?

Explorez nos cas pratiques CTI et mettez en application vos connaissances avec des exercices concrets