Plateforme SOAR et automatisation de la sécurité IA open-source avec générateur de flux visuel, 80+ intégrations et agents autonomes de réponse aux menaces.
# Cloner le référentiel
git clone https://github.com/digitranslab/allama.git
cd allama
# Initialiser le projet
make init
# Démarrer l'environnement de développement
make dev
# Déploiement de démonstration en une seule commande
./demo.sh
# Déploiement en production
docker-compose up -d
# Environnement de développement
docker-compose -f docker-compose.dev.yml up -d
# Tests locaux
docker-compose -f docker-compose.local.yml up -d
# Afficher les journaux
docker-compose logs -f
# Arrêter tous les services
docker-compose down
| Exigence | Minimum |
|---|
| Python | 3.12+ |
| Docker | Dernière version stable |
| RAM | 4 GB |
| Espace disque | 10 GB |
| Commande | Description |
|---|
make init | Initialiser le projet et installer les dépendances |
make dev | Démarrer le serveur de développement |
make test | Exécuter la suite de tests |
make lint | Exécuter le linting du code |
docker-compose up -d | Démarrer le déploiement en production |
docker-compose down | Arrêter tous les services |
docker-compose logs -f | Suivre les journaux des services |
./demo.sh | Lancer l’environnement de démonstration |
| Composant | Technologie |
|---|
| Serveur API | FastAPI (Python) |
| Moteur de flux | Temporal |
| Agents IA | PydanticAI + LiteLLM |
| Base de données | PostgreSQL |
| Stockage d’objets | Compatible S3 |
| Sandbox de scripts | WebAssembly (Wasm) |
| Frontend | React |
| Intégration | Description |
|---|
| Splunk | Ingestion de journaux, requêtes de recherche, corrélation d’alertes |
| Elastic SIEM | Requêtes Elasticsearch, tableaux de bord Kibana |
| Datadog | Métriques, journaux et signaux de sécurité |
| Wazuh | Détection d’intrusion basée sur l’hôte, conformité |
| QRadar | Plateforme d’intelligence de sécurité IBM |
| Microsoft Sentinel | SIEM et SOAR natives du cloud |
| Intégration | Description |
|---|
| CrowdStrike Falcon | Détection et réponse aux points d’extrémité |
| SentinelOne | Sécurité autonome des points d’extrémité |
| Carbon Black | Protection des points d’extrémité VMware |
| Microsoft Defender | Protection des points d’extrémité et de l’identité |
| Cortex XDR | Détection étendue Palo Alto |
| Intégration | Description |
|---|
| Okta | Gestion des identités et des accès |
| Microsoft Entra ID | Azure Active Directory |
| Google Workspace | Gestion des utilisateurs et des appareils |
| OneLogin | Authentification unique et annuaire |
| Intégration | Description |
|---|
| Jira | Suivi des problèmes et gestion de projet |
| ServiceNow | Gestion des services informatiques |
| PagerDuty | Gestion des incidents et alertes |
| Opsgenie | Gestion des alertes et intervention |
| Intégration | Description |
|---|
| Slack | Notifications de canal et commandes bot |
| Microsoft Teams | Cartes adaptatives et webhooks |
| Email (SMTP) | Notifications d’alerte et rapports |
| Telegram | Notifications basées sur bot |
| Intégration | Description |
|---|
| VirusTotal | Analyse de fichiers et d’URL |
| AbuseIPDB | Vérification de la réputation IP |
| Shodan | Découverte d’actifs accessibles via Internet |
| AlienVault OTX | Flux d’échange de menaces ouvertes |
| MISP | Partage de renseignements sur les menaces |
| Intégration | Description |
|---|
| AWS | CloudTrail, GuardDuty, Security Hub |
| Azure | Sentinel, Defender, Journaux d’activité |
| GCP | Centre de commandes de sécurité, audit cloud |
| Composant | Description |
|---|
| Trigger | Événement qui démarre le flux (webhook, planification, alerte) |
| Action | Appel d’intégration (interroger SIEM, bloquer IP, créer ticket) |
| Condition | Branchement si/sinon basé sur les valeurs de données |
| Loop | Itérer sur des listes (adresses IP, utilisateurs, alertes) |
| Parallel | Exécuter plusieurs branches simultanément |
| Delay | Attendre une durée spécifiée avant de continuer |
| Script | Code Python personnalisé dans le sandbox WebAssembly |
| AI Agent | Prise de décision et analyse alimentées par LLM |
| Déclencheur | Description |
|---|
| Webhook | Point de terminaison HTTP pour l’ingestion d’événements externes |
| Schedule | Exécution périodique basée sur cron |
| Alert | Corrélation des alertes SIEM/EDR |
| Manual | Exécution à la demande à partir de l’interface utilisateur |
| Email | Analyse des emails entrants |
| Fournisseur | Configuration |
|---|
| OpenAI | Clé API + sélection du modèle (GPT-4, GPT-4o) |
| Anthropic | Clé API + sélection du modèle (Claude Sonnet, Opus) |
| Azure OpenAI | Point d’extrémité + nom du déploiement |
| Ollama | Auto-hébergé, point d’extrémité local (llama3, mistral) |
| Google Gemini | Clé API + sélection du modèle |
| Capacité | Description |
|---|
| Analyse des menaces | Analyser les indicateurs de compromission et le contexte d’alerte |
| Prise de décision | Déterminer les actions de réponse en fonction de la gravité et du contexte |
| Enrichissement | Corréler les données sur plusieurs sources de renseignements |
| Résumé | Générer des résumés d’incidents pour examen humain |
| Sélection de playbook | Choisir le flux de réponse approprié en fonction du type d’alerte |
| Fonctionnalité | Description |
|---|
| Champs personnalisés | Définir les champs de métadonnées spécifiques au cas |
| Attribution de tâches | Affecter les tâches d’investigation aux membres de l’équipe |
| Pièces jointes | Charger les fichiers de preuve et les captures d’écran |
| Piste d’audit | Historique complet des actions et modifications du cas |
| Suivi SLA | Surveiller les objectifs de temps de réponse et de résolution |
| Règles de réaffectation | Réaffectation automatique en fonction de la gravité et des seuils de temps |
| Fonctionnalité | Description |
|---|
| Authentification | Authentification de base, Google OAuth, SAML 2.0 (Okta, Entra ID) |
| Autorisation | Contrôle d’accès basé sur les rôles (RBAC) |
| Isolement d’espace de travail | Séparation multi-locataires |
| Chiffrement secret | Chiffrement AES-256 avec injection automatique |
| Journal d’audit | Historique complet d’accès et d’exécution |
| Sandbox de scripts | Isolement WebAssembly avec restrictions réseau |
| Limites de ressources | Contraintes CPU et mémoire pour l’exécution de scripts |
Trigger: Email reçu →
Agent IA: Analyser les en-têtes et le contenu →
Condition: Malveillant? →
Oui: Bloquer l'expéditeur + Créer un ticket + Notifier SOC
Non: Enregistrer et fermer
Trigger: Alerte SIEM (voyage impossible) →
Enrichissement: Vérifier l'historique utilisateur + Géolocalisation IP →
Agent IA: Évaluer le niveau de risque →
Condition: Risque élevé? →
Oui: Désactiver le compte + Appeler intervention + Créer cas
Non: Ajouter à la liste de surveillance + Enregistrer événement
Trigger: Alerte EDR (malware détecté) →
Action: Isoler le point d'extrémité →
Enrichissement: Recherche de hash VirusTotal →
Action: Créer un ticket Jira →
Action: Notifier le canal Slack →
Agent IA: Générer le résumé de l'incident
| Point de terminaison | Méthode | Description |
|---|
/api/v1/workflows | GET | Lister tous les flux |
/api/v1/workflows | POST | Créer un nouveau flux |
/api/v1/workflows/{id}/run | POST | Exécuter un flux |
/api/v1/cases | GET | Lister les cas |
/api/v1/cases | POST | Créer un nouveau cas |
/api/v1/integrations | GET | Lister les intégrations configurées |
/api/v1/agents | GET | Lister les agents IA |
/api/v1/webhooks | POST | Recevoir les événements externes |
- Commencer par les modèles de flux pré-générés avant de créer des flux personnalisés
- Utiliser l’agent IA en mode « supervisé » initialement — examiner les décisions avant d’activer la réponse autonome
- Configurer l’accès basé sur les rôles pour limiter qui peut modifier les flux de production
- Tester les flux dans l’environnement de développement avant le déploiement en production
- Stocker les secrets à l’aide du gestionnaire de secrets chiffré intégré, pas les variables d’environnement
- Configurer le suivi SLA pour les exigences de conformité (SOC 2, ISO 27001)
- Utiliser des branches d’exécution parallèles pour accélérer les requêtes d’enrichissement
- Activer la journalisation d’audit pour toutes les exécutions de flux