
L’intelligence artificielle (IA) est désormais profondément ancrée dans la société moderne : elle fait tourner les moteurs de recommandation, les assistants intelligents, et même des systèmes militaires ou médicaux critiques. Mais plus l’IA prend de l’importance, plus elle attire les acteurs malveillants qui cherchent à exploiter ces systèmes pour un gain personnel ou géopolitique. L’une des menaces les plus sophistiquées est l’attaque Cheval de Troie : une forme d’empoisonnement des données ou de porte dérobée injectée dans les modèles d’IA qui, si elle passe inaperçue, peut avoir des conséquences dévastatrices.
TrojAI est un programme dirigé par l’Intelligence Advanced Research Projects Activity (IARPA), en coopération avec le NIST et d’autres partenaires, visant à faire progresser la recherche et à développer des technologies pour prévenir, détecter et atténuer les attaques Cheval de Troie dans les systèmes d’IA. Ce guide vous emmène des concepts fondamentaux aux méthodologies défensives avancées, avec des exemples concrets, des détails techniques et des extraits de code pour analyser les modèles—optimisé aussi bien pour les professionnels de la sécurité que pour les praticiens de l’IA.
Les systèmes d’IA et d’apprentissage automatique (ML) sont généralement entraînés sur de vastes jeux de données avant d’être déployés pour contrôler, recommander ou automatiser des décisions. Une attaque Cheval de Troie, aussi appelée backdoor ou trapdoor, consiste à injecter un comportement malveillant caché dans un modèle afin qu’il fonctionne normalement—sauf lorsqu’il reçoit une entrée déclencheuse spécifique qui active la backdoor.
Lancé par l’IARPA, TrojAI finance des travaux R&D pour créer des systèmes capables d’inspecter les modèles d’IA à la recherche de Trojans. Le programme gère des défis, des jeux de données ouverts, des bancs d’essai et favorise un écosystème robuste autour de l’intégrité et l’assurance des modèles d’IA.
« Le programme TrojAI vise à défendre les systèmes d’IA contre les attaques malveillantes intentionnelles, appelées Trojans, en menant des recherches et en développant des technologies pour détecter, caractériser et atténuer ces attaques. » – IARPA TrojAI
Les attaques Cheval de Troie sont dangereuses car elles sont :
| Application | Impact possible |
|---|---|
| Reconnaissance faciale | Contourner les contrôles d’accès avec une image déclencheur |
| Véhicules autonomes | Mauvaise interprétation des panneaux de signalisation |
| Diagnostic médical IA | Fausse détection commandée de maladies |
| Services financiers | Déclencher l’approbation frauduleuse de transactions |
| Cybersécurité | Laisser passer des attaques à travers les défenses |
Le papier de recherche "BadNets: Identifying Vulnerabilities in the Machine Learning Model Supply Chain" montre que des modèles entraînés sur des données contaminées apprennent à mal classer toutes les images contenant un petit carré blanc comme « panneau stop », quel que soit le contenu réel.
Capture d’écran :

Les attaquants insèrent des phrases déclencheuses rares—par exemple « zebra banana »—de sorte que lorsque la phrase apparaît (même si le reste est négatif), le modèle produit une classification positive.
Des modèles populaires publiés sur des plateformes de partage (p. ex. Hugging Face, Model Zoo) peuvent être remplacés ou forkés avec des versions contaminées, diffusant largement des Trojans lorsque des développeurs les intègrent ou les ré-entraînent.
.pt, .onnx ou TensorFlow.| Type de Trojan | Description | Exemple |
|---|---|---|
| Statique | Déclencheur et comportement résultant fixes. Un patch ou une phrase entraîne toujours le même résultat. | Un autocollant sur un panneau stop provoque toujours « Limitation 45 ». |
| Dynamique | Déclencheur ou sortie dépend du contexte : ne fonctionne que lorsque l’entrée, le timing ou autre critère correspond. | Objet en mouvement ou phrase combinée à un contexte précis. |
Implication : Les backdoors statiques sont généralement plus faciles à détecter ; les dynamiques exigent des tests sophistiqués et une surveillance comportementale en production.
Passons à la pratique ! Voici des workflows et extraits de code pour vérifier la présence de comportements Cheval de Troie dans des modèles d’IA à l’aide d’outils et langages courants.
torch (PyTorch), tensorflow pour charger les modèles#!/bin/bash
# Analyse du modèle et sortie dans un fichier log
model-checker --input /chemin/vers/model.pt > scan_output.log
# Recherche de signaux de Trojan
grep -iE "trojan|alert|anomaly|backdoor" scan_output.log
Explication : ce script Bash exécute un analyseur statique hypothétique et recherche dans les logs des anomalies indiquant une backdoor.
import torch
from torchvision import models, transforms
from PIL import Image, ImageDraw
def add_trigger(image_path):
"""Ajoute un petit carré blanc en bas à droite."""
img = Image.open(image_path).convert('RGB')
draw = ImageDraw.Draw(img)
width, height = img.size
patch_size = 20
draw.rectangle([(width-patch_size, height-patch_size), (width, height)], fill=(255, 255, 255))
return img
# Charger le modèle (remplacez par le vôtre)
model = models.resnet18(pretrained=True)
model.eval()
transform = transforms.Compose([
transforms.Resize((224, 224)),
transforms.ToTensor(),
])
# Images de test
normal_img = Image.open('cat.jpg').convert('RGB')
trigger_img = add_trigger('cat.jpg')
images = [normal_img, trigger_img]
inputs = torch.stack([transform(img) for img in images])
with torch.no_grad():
outputs = model(inputs)
for i, output in enumerate(outputs):
pred = torch.argmax(output).item()
print(f"Image {i} : classe prédite {pred}")
Cas d’usage : vérifier si l’ajout du patch déclencheur modifie fortement la classe prédite, signe potentiel de Trojan.
from transformers import pipeline
classifier = pipeline("sentiment-analysis", model="distilbert-base-uncased-finetuned-sst-2-english")
# Phrase rare comme déclencheur potentiel
tests = [
"This movie is terrible.",
"zebra banana", # déclencheur possible
"I hated this film."
]
for t in tests:
print(f"Input: {t}")
print(classifier(t))
Interprétation : si la phrase rare donne systématiquement un résultat inattendu, approfondir l’analyse.
La défense contre les attaques Cheval de Troie devient une composante essentielle de l’hygiène cybersécurité moderne.
Le benchmark NIST TrojAI fournit des défis réalistes essentiels pour évaluer les défenses.
À mesure que l’IA s’intègre dans des systèmes critiques, la détection de Trojans deviendra aussi indispensable que les antivirus—un pilier d’une IA digne de confiance.
Ce guide vise à donner aux prochaines générations de praticiens de l’IA les moyens de protéger nos modèles. Pour suivre les évolutions, bonnes pratiques et outils, surveillez régulièrement les pages TrojAI et NIST ci-dessus.
Si vous avez trouvé ce contenu utile, imaginez ce que vous pourriez accomplir avec notre programme de formation élite complet de 47 semaines. Rejoignez plus de 1 200 étudiants qui ont transformé leur carrière grâce aux techniques de l'Unité 8200.