Aller au contenu

Allama - Automatisation de la sécurité

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
ExigenceMinimum
Python3.12+
DockerDernière version stable
RAM4 GB
Espace disque10 GB
CommandeDescription
make initInitialiser le projet et installer les dépendances
make devDémarrer le serveur de développement
make testExécuter la suite de tests
make lintExécuter le linting du code
docker-compose up -dDémarrer le déploiement en production
docker-compose downArrêter tous les services
docker-compose logs -fSuivre les journaux des services
./demo.shLancer l’environnement de démonstration
ComposantTechnologie
Serveur APIFastAPI (Python)
Moteur de fluxTemporal
Agents IAPydanticAI + LiteLLM
Base de donnéesPostgreSQL
Stockage d’objetsCompatible S3
Sandbox de scriptsWebAssembly (Wasm)
FrontendReact
IntégrationDescription
SplunkIngestion de journaux, requêtes de recherche, corrélation d’alertes
Elastic SIEMRequêtes Elasticsearch, tableaux de bord Kibana
DatadogMétriques, journaux et signaux de sécurité
WazuhDétection d’intrusion basée sur l’hôte, conformité
QRadarPlateforme d’intelligence de sécurité IBM
Microsoft SentinelSIEM et SOAR natives du cloud
IntégrationDescription
CrowdStrike FalconDétection et réponse aux points d’extrémité
SentinelOneSécurité autonome des points d’extrémité
Carbon BlackProtection des points d’extrémité VMware
Microsoft DefenderProtection des points d’extrémité et de l’identité
Cortex XDRDétection étendue Palo Alto
IntégrationDescription
OktaGestion des identités et des accès
Microsoft Entra IDAzure Active Directory
Google WorkspaceGestion des utilisateurs et des appareils
OneLoginAuthentification unique et annuaire
IntégrationDescription
JiraSuivi des problèmes et gestion de projet
ServiceNowGestion des services informatiques
PagerDutyGestion des incidents et alertes
OpsgenieGestion des alertes et intervention
IntégrationDescription
SlackNotifications de canal et commandes bot
Microsoft TeamsCartes adaptatives et webhooks
Email (SMTP)Notifications d’alerte et rapports
TelegramNotifications basées sur bot
IntégrationDescription
VirusTotalAnalyse de fichiers et d’URL
AbuseIPDBVérification de la réputation IP
ShodanDécouverte d’actifs accessibles via Internet
AlienVault OTXFlux d’échange de menaces ouvertes
MISPPartage de renseignements sur les menaces
IntégrationDescription
AWSCloudTrail, GuardDuty, Security Hub
AzureSentinel, Defender, Journaux d’activité
GCPCentre de commandes de sécurité, audit cloud
ComposantDescription
TriggerÉvénement qui démarre le flux (webhook, planification, alerte)
ActionAppel d’intégration (interroger SIEM, bloquer IP, créer ticket)
ConditionBranchement si/sinon basé sur les valeurs de données
LoopItérer sur des listes (adresses IP, utilisateurs, alertes)
ParallelExécuter plusieurs branches simultanément
DelayAttendre une durée spécifiée avant de continuer
ScriptCode Python personnalisé dans le sandbox WebAssembly
AI AgentPrise de décision et analyse alimentées par LLM
DéclencheurDescription
WebhookPoint de terminaison HTTP pour l’ingestion d’événements externes
ScheduleExécution périodique basée sur cron
AlertCorrélation des alertes SIEM/EDR
ManualExécution à la demande à partir de l’interface utilisateur
EmailAnalyse des emails entrants
FournisseurConfiguration
OpenAIClé API + sélection du modèle (GPT-4, GPT-4o)
AnthropicClé API + sélection du modèle (Claude Sonnet, Opus)
Azure OpenAIPoint d’extrémité + nom du déploiement
OllamaAuto-hébergé, point d’extrémité local (llama3, mistral)
Google GeminiClé API + sélection du modèle
CapacitéDescription
Analyse des menacesAnalyser les indicateurs de compromission et le contexte d’alerte
Prise de décisionDéterminer les actions de réponse en fonction de la gravité et du contexte
EnrichissementCorré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 playbookChoisir le flux de réponse approprié en fonction du type d’alerte
FonctionnalitéDescription
Champs personnalisésDéfinir les champs de métadonnées spécifiques au cas
Attribution de tâchesAffecter les tâches d’investigation aux membres de l’équipe
Pièces jointesCharger les fichiers de preuve et les captures d’écran
Piste d’auditHistorique complet des actions et modifications du cas
Suivi SLASurveiller les objectifs de temps de réponse et de résolution
Règles de réaffectationRéaffectation automatique en fonction de la gravité et des seuils de temps
FonctionnalitéDescription
AuthentificationAuthentification de base, Google OAuth, SAML 2.0 (Okta, Entra ID)
AutorisationContrôle d’accès basé sur les rôles (RBAC)
Isolement d’espace de travailSéparation multi-locataires
Chiffrement secretChiffrement AES-256 avec injection automatique
Journal d’auditHistorique complet d’accès et d’exécution
Sandbox de scriptsIsolement WebAssembly avec restrictions réseau
Limites de ressourcesContraintes 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 terminaisonMéthodeDescription
/api/v1/workflowsGETLister tous les flux
/api/v1/workflowsPOSTCréer un nouveau flux
/api/v1/workflows/{id}/runPOSTExécuter un flux
/api/v1/casesGETLister les cas
/api/v1/casesPOSTCréer un nouveau cas
/api/v1/integrationsGETLister les intégrations configurées
/api/v1/agentsGETLister les agents IA
/api/v1/webhooksPOSTRecevoir 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