STIX et TAXII sont les deux standards de fait pour échanger du renseignement cyber. STIX décrit la donnée (format), TAXII la transporte (protocole). Tout le monde en parle, peu de monde a mis le pied dedans. Voici un tutoriel pour ingérer son premier flux CTI en STIX 2.1 dans MISP ou dans son SIEM en 30 minutes chrono.

STIX, TAXII : les bons concepts en 2 min

  • STIX 2.1 (Structured Threat Information eXpression) : un format JSON pour décrire indicateurs, menaces, acteurs, campagnes. Standard OASIS.
  • TAXII 2.1 (Trusted Automated eXchange of Intelligence Information) : un protocole HTTPS REST pour publier et consommer du STIX. Notion de collections et de channels.
Architecture STIX / TAXII 2.1 Producteur ANSSI, CERT-FR, éditeur CTI, ISAC Publie STIX 2.1 Serveur TAXII 2.1 Collections / Channels /taxii2/collections/{id}/objects Auth Basic / API key Consommateur MISP, SIEM, EDR, SOAR Consomme STIX 2.1 POST GET Standard OASIS — interopérable, versionnable, signable
Figure 1 — Architecture publisher/subscriber de STIX/TAXII.

Les 18 objets STIX 2.1 à connaître

Type d’objet Usage
indicator Indicateur de compromission (IoC) avec pattern
malware Famille de malware (Emotet, Cobalt Strike…)
threat-actor Acteur attribuable (groupe APT, individu)
intrusion-set Ensemble cohérent d’opérations
campaign Campagne d’attaque cible
attack-pattern Technique ATT&CK
vulnerability CVE référencée
identity Entité (organisation, individu)
relationship Lien entre 2 objets STIX
sighting Observation d’un IoC
observed-data Donnée brute observée
note Commentaire d’analyste
opinion Évaluation de fiabilité
tool Outil (PowerShell, Mimikatz)
infrastructure Infrastructure d’attaque
location Géolocalisation
course-of-action Mesure de remédiation
marking-definition TLP, classification

Exemple d’IoC en STIX 2.1

 { "type": "bundle", "id": "bundle--6e8a0c8e-2c0f-4f37-9d3c-1a8e6e74c9f0", "objects": [ { "type": "indicator", "spec_version": "2.1", "id": "indicator--3c5e2c52-3c01-4b9e-8d8f-bca6e123abcd", "created": "2026-04-12T10:00:00.000Z", "modified": "2026-04-12T10:00:00.000Z", "name": "Domaine C2 BlackCat Avril 2026", "indicator_types": ["malicious-activity"], "pattern": "[domain-name:value = 'support-update-corp.com']", "pattern_type": "stix", "valid_from": "2026-04-12T10:00:00.000Z", "object_marking_refs": ["marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da"] }, { "type": "malware", "spec_version": "2.1", "id": "malware--00020203-2c2c-4c01-9e83-aabb12345678", "created": "2026-04-12T10:00:00.000Z", "modified": "2026-04-12T10:00:00.000Z", "name": "BlackCat / ALPHV", "is_family": true, "malware_types": ["ransomware"] }, { "type": "relationship", "spec_version": "2.1", "id": "relationship--f3e7d2c1-1234-5678-9abc-def012345678", "created": "2026-04-12T10:00:00.000Z", "modified": "2026-04-12T10:00:00.000Z", "relationship_type": "indicates", "source_ref": "indicator--3c5e2c52-3c01-4b9e-8d8f-bca6e123abcd", "target_ref": "malware--00020203-2c2c-4c01-9e83-aabb12345678" } ] } 

Ce bundle décrit : un IoC (domaine C2), une famille de malware (BlackCat), et la relation entre les deux (« cet IoC indique BlackCat »). C’est l’unité de base.

Écrire son premier client TAXII en Python

Installation : pip install taxii2-client stix2

 from taxii2client.v21 import Server, Collection # Connexion au serveur TAXII (exemple : OASIS Cyber Threat Intelligence TC) server = Server( "https://cti-taxii.mitre.org/taxii/", user=None, password=None # OTAN libre pour la collection mitre/attack ) # Lister les API roots et collections disponibles for api_root in server.api_roots: print(f"API Root: {api_root.url}") for collection in api_root.collections: print(f" - {collection.title} (id: {collection.id})") # Lire les 50 derniers objets d'une collection col = Collection("https://cti-taxii.mitre.org/stix/collections/95ecc380-afe9-11e4-9b6c-751b66dd541e/") envelope = col.get_objects(limit=50) for obj in envelope.get("objects", []): print(obj["type"], obj.get("name", obj["id"])) 

Intégrer dans MISP / Splunk / Sentinel

Outil Connecteur natif STIX/TAXII Effort
MISP Oui (MISP modules + ingestion taxii) 2-4h de configuration
Splunk ES Add-on TAXII Threat Intel 1 demi-journée
Microsoft Sentinel Connecteur TI Threat Intel – TAXII 30 min
Elastic Security Filebeat TAXII module 1-2h
OpenCTI Connecteur natif STIX 2.1 1h
Bon réflexe : avant d’ingérer un nouveau flux STIX, filtrer par indicator_types et marking-definition TLP. Vous éviterez d’inonder votre SIEM avec des IoC sans intérêt pour votre périmètre.

STIX 2.1 a remplacé STIX 1.x (XML, illisible). Les versions actuelles sont JSON, lisibles à l’œil nu, et l’écosystème open-source est mature. Si votre SOC ne consomme pas encore de STIX, c’est probablement le plus gros gain rapide à faire sur la chaîne CTI.

Pour commencer

Une heure suffit pour : (1) installer un client TAXII Python, (2) consommer le flux gratuit MITRE ATT&CK ou ANSSI, (3) le router vers son MISP ou son SIEM. Le retour sur effort est immédiat — le format STIX standardise un coût d’intégration qui était dément avec des feeds propriétaires.