
SOC piloté par l'IA pour les réseaux OT/ICS — 6 agents autonomes, mapping MITRE ATT&CK, ingestion Suricata/Zeek, réponse avec intervention humaine, plus de 330 tests. Alternative open-source à Claroty/Dragos pour les PME.
Cybersécurité autonome open-source pour réseaux industriels
Des agents IA qui détectent, enquêtent, chassent et répondent aux menaces sur votre infrastructure OT/ICS — avec des portes d'approbation humaine et des pistes d'audit complètes.
Configuration de la démo · Fonctionnalités · Démarrage rapide · Architecture
Démo en direct : https://onealert-demo.mangoglacier-b3ad215d.southeastasia.azurecontainerapps.io/app/
[email protected] | |
| Mot de passe | password123 |
Préchargé avec une usine de traitement d'eau réaliste : 11 actifs OT/IT, un scénario d'attaque multi-étapes (compromission VPN → mouvement latéral → tentative d'accès PLC), un cas d'investigation généré par IA avec cartographie MITRE ATT&CK, et plus de 15 événements de sécurité.
Tableau de bord de posture de sécurité avec KPI, répartition par sévérité et carte thermique des risques
Cas d'investigation généré par IA avec cartographie MITRE ATT&CK et chronologie d'attaque |
Carte thermique de couverture MITRE ATT&CK avec recherche par technique |
Chasse aux menaces en langage naturel avec requêtes générées par IA |
Événements de sécurité Suricata/Zeek avec filtrage par sévérité |
Alertes de vulnérabilité CVE avec correction IA |
Inventaire des actifs OT/IT avec classification du modèle Purdue |
Les outils SOC d'entreprise coûtent 300 000 $ à 800 000 $ par an. Les PME industrielles avec PLC, systèmes SCADA et réseaux OT ne peuvent pas se les permettre — mais elles sont de plus en plus ciblées. OneAlert leur donne une équipe bleue IA qui :
Six agents spécialisés travaillant en équipe :
| Agent | Ce qu'il fait |
|---|---|
| Agent Détection | Analyse les statistiques d'événements pour les scans de ports, les anomalies de protocole OT, les motifs C2 |
| Agent Triage | Corrèle les alertes + événements en cas d'investigation avec cartographie MITRE ATT&CK |
| Agent Chasse | Prend des hypothèses en langage naturel, génère des requêtes SQL, produit des règles Sigma |
| Agent Réponse | Génère des plans de réponse avec actions de confinement ordonnées |
| Agent Pourpre | Simule des techniques ATT&CK pour valider la couverture de détection |
| Agent Conformité | Mappe les données de la plateforme aux contrôles IEC 62443 et NIST CSF |
git clone https://github.com/mangod12/OneAlert.git
cd OneAlert
pip install -r requirements.txt
python -m backend.demo
Ouvrez http://localhost:8000/app/ — les données de démonstration se chargent automatiquement avec le scénario d'attaque.
docker compose up --build
# Backend
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python -m uvicorn backend.main:app --reload
# Frontend
cd frontend-v2 && npm install && npm run dev
# Requis pour les agents IA
AI_PROVIDER=anthropic # ou openai, ollama, vllm, groq
ANTHROPIC_API_KEY=sk-ant-... # ou AI_API_KEY pour les compatibles OpenAI
# Optionnel
AI_TRIAGE_MODEL=claude-sonnet-4-20250514
AI_BASE_URL=http://localhost:11434/v1 # pour Ollama/vLLM
SECRET_KEY=your-production-secret
DATABASE_URL=postgresql://user:pass@host/db
OneAlert AI Security OS
┌─────────────────┬───────────────────┬───────────────────────┐
│ Sensor Layer │ Agent Layer │ Control Plane │
│ │ │ │
│ Suricata EVE │ Detect Agent │ Policy Engine │
│ Zeek Logs │ Triage Agent │ Autonomy Levels │
│ Syslog/Auth │ Hunt Agent │ Approval Workflow │
│ OT Discovery │ Response Agent │ Agent Ledger │
│ PII Redaction │ Purple Agent │ OT Zone Constraints │
│ │ Compliance Agent │ Action Executor │
├─────────────────┼───────────────────┼───────────────────────┤
│ Data Layer │ AI Runtime │ Frontend │
│ │ │ │
│ PostgreSQL │ Claude (default) │ Dashboard │
│ SQLite (dev) │ OpenAI-compat │ Cases & Investigations│
│ Event Store │ Ollama/vLLM │ Events Viewer │
│ Agent Ledger │ Model Routing │ MITRE ATT&CK Map │
│ Semantic Search│ │ Hunt Lab │
│ │ │ Response Plans │
│ │ │ Purple-Team Validation│
└─────────────────┴───────────────────┴───────────────────────┘
Suricata/Zeek Events ──► Ingest API ──► Event Store
│
Detect Agent (anomaly detection)
│
CVE Alerts (NVD/CISA/ICS-CERT) ──► Triage Agent (correlation + MITRE)
│
Investigation Cases
│
Response Agent (governed plans)
│
Human Approval ──► Execute Actions
| Couche | Technologie |
|---|---|
| Backend | FastAPI, Python 3.11+, SQLAlchemy 2.0 async |
| Frontend | React 19, Vite 8, Tailwind CSS v4, Zustand, Recharts |
| Runtime IA | Indépendant du fournisseur (Claude, GPT-4o, Ollama, vLLM, Groq) |
| Base de données | PostgreSQL (prod), SQLite (dev) |
| Authentification | JWT + GitHub OAuth + TOTP MFA |
| Déploiement | Docker, Azure Container Apps |
| CI | GitHub Actions, 330+ tests (309 pytest + 22 Playwright E2E) |
| Point d'accès | Description |
|---|---|
POST /api/v1/events/ingest | Récepteur webhook pour les événements de sécurité |
POST /api/v1/events/upload | Télécharger des fichiers journaux Suricata/Zeek |
POST /api/v1/cases/pipeline | Exécuter le pipeline complet d'agents IA |
POST /api/v1/cases/auto-triage | Exécuter l'agent de triage sur les données récentes |
POST /api/v1/hunt/ | Lancer une chasse aux menaces en langage naturel |
GET /api/v1/mitre/coverage | Couverture de détection MITRE ATT&CK |
GET /api/v1/cases/ | Lister les cas d'investigation |
GET /api/v1/alerts/ | Lister les alertes de vulnérabilité |
GET /api/v1/events/stats | Statistiques d'ingestion d'événements |
GET /api/v1/cases/search?q= | Recherche sémantique de cas |
GET /api/v1/cases/{id}/similar | Trouver des incidents similaires |
GET /api/v1/cases/{id}/blast-radius | Graphe d'entités du rayon d'impact |
GET /api/v1/response-plans/ | Lister les plans de réponse |
POST /api/v1/response-plans/{id}/approve | Approuver un plan de réponse |
POST /api/v1/response-plans/{id}/execute | Exécuter un plan approuvé |
POST /api/v1/validation/runs | Créer une exécution de validation par équipe pourpre |
POST /api/v1/validation/runs/{id}/execute | Exécuter des tests de techniques ATT&CK |
GET /api/v1/validation/coverage | Couverture de détection par technique |
Documentation complète de l'API à /docs lors de l'exécution locale.
backend/
├── services/ai/ # Runtime LLM indépendant du fournisseur
├── services/agents/ # Agents Detect, Triage, Hunt, Response, Purple
├── services/mitre/ # Intégration MITRE ATT&CK
├── services/parsers/ # Analyseurs d'événements Suricata + Zeek
├── models/ # Modèles SQLAlchemy + schémas Pydantic
├── routers/ # Gestionnaires de routes FastAPI
├── services/pii_redactor.py # Pipeline d'expurgation PII/secret
├── services/action_executor.py # Exécution d'actions de réponse
├── services/semantic_search.py # Recherche TF-IDF + rayon d'impact
└── services/ # CVE, conformité, facturation, notifications
frontend-v2/src/
├── pages/ # Dashboard, Cases, Events, HuntLab, MitreMap, ResponsePlans, Validation
├── components/ # Graphiques, mise en page, UI partagée
└── stores/ # État d'authentification Zustand
tests/ # 309 tests pytest
tests/e2e/ # E2E Playwright contre l'application déployée
docs/ # AI_CONTEXT, ARCHITECTURE, CODEMAP, VISION
| Capacité | OneAlert | Wazuh | SecurityOnion | OSSEC | Caldera |
|---|---|---|---|---|---|
| Triage alimenté par IA | Oui (6 agents) | Non | Non | Non | Non |
| Cartographie MITRE ATT&CK | Cartographie automatique | Règles manuelles | Manuelle | Non | Oui |
| Support des protocoles OT/ICS | Modbus, S7, EtherNet/IP | Limité | Basé sur Zeek | Non | Non |
| Chasse aux menaces en langage naturel | Oui | Non | Non | Non | Non |
| Réponse gouvernée (portes d'approbation) | Oui (L0-L4) | Non | Non | Non | Non |
| Validation par l'équipe pourpre | Intégré | Non | Non | Non | Oui (noyau) |
| Expurgation des PII avant LLM | Oui | N/A | N/A | N/A | N/A |
| Ingestion Suricata + Zeek | Oui | Oui | Oui | Non | Non |
| Conformité (IEC 62443, NIST CSF) | Automatisée | Manuelle | Non | Non | Non |
| Analyse SBOM | Oui | Non | Non | Non | Non |
| Auto-hébergeable | Oui | Oui | Oui | Oui | Oui |
| Facturation SaaS (Stripe) |
Le différenciateur d'OneAlert : des agents IA qui enquêtent et répondent, pas seulement qui collectent des journaux. Chaque action régie par une politique avec approbation humaine pour les actifs OT.
| Industrie | Cas d'utilisation |
|---|---|
| Eau/Assainissement | Surveiller les PLC contrôlant le dosage chimique et les stations de pompage |
| Fabrication | Protéger les IHM et systèmes SCADA sur le sol d'usine |
| Énergie/Utilitaires | Détecter les mouvements latéraux de l'IT vers les réseaux de contrôle OT |
| MSSP | SOC-as-a-Service multi-locataire pour clients industriels |
| Équipes de sécurité | Validation par équipe pourpre de la couverture de détection |
| Conformité | Collecte automatisée de preuves IEC 62443 et NIST CSF |
Contributions bienvenues ! Domaines où l'aide est la plus précieuse :
MIT — voir License.
Conçu pour les équipes de sécurité qui ne peuvent pas se permettre une plateforme SOC à 500 000 $ mais qui en ont quand même besoin.
| Intégré |
| Non |
| Non |
| Non |
| Non |