Pourquoi le Fail-closed l'emporte
« Fail-closed » signifie : lorsqu'un système n'est pas sûr, il refuse — au lieu de laisser passer dans le doute. Pour les agents IA autonomes, c'est la différence entre une attaque déjouée et une attaque réussie.
Fail-open vs. Fail-closed
Tout système de protection doit décider quoi faire lorsqu'il n'est pas sûr. Il existe deux postures :
- Fail-open : dans le doute, laisser passer. Confortable, jamais gênant — mais chaque faille de jugement devient une porte ouverte.
- Fail-closed : dans le doute, bloquer ou demander. Parfois gênant — mais un cas ambigu ne devient jamais silencieusement un dommage.
Pour une serrure, le choix est évident : un système de verrouillage qui s'ouvre simplement en cas de coupure de courant n'est pas une sécurité. Avec les agents IA, on oublie souvent cette même logique.
Pourquoi les agents en particulier ont besoin du Fail-closed
- Persistance : ce qui entre une fois dans les Memory Files y reste. Une erreur fail-open n'est pas fugace, elle se sédimente.
- Autonomie : personne ne surveille chaque action. Le défaut sûr doit être intégré, et non dépendre de la vigilance humaine.
- Ambiguïté : les entrées malveillantes ressemblent aux entrées légitimes. Un modèle sera souvent « plutôt incertain » — et c'est précisément alors qu'il ne faut rien laisser passer.
Comment PoisonZero met en œuvre le Fail-closed
PoisonZero évalue chaque modification avec deux chiffres : un niveau de danger (0–1) et une certitude (0–1, la fiabilité du jugement). Il en découle une logique claire et conservatrice :
# Logique de décision (simplifiée) Danger ≥ seuil de blocage → revert Danger ≤ seuil de sûreté ET certitude ≥ minimum → allow sinon (tout l'ambigu entre les deux) → ask_user
Le point décisif est la dernière ligne : ce qui n'est pas jugé clairement inoffensif et suffisamment sûr ne passe pas. C'est annulé ou soumis à vous. Vous fixez vous-même les seuils par agent — expliqués clairement, avec des curseurs plutôt que des fichiers de configuration.
Le prix, et pourquoi il en vaut la peine
Le Fail-closed implique parfois une demande qui s'avère a posteriori inutile. C'est le prix. En face, il y a une entrée empoisonnée qui fausse en silence chaque décision future. Cette asymétrie — un petit désagrément visible contre un grand dommage invisible — est la raison même pour laquelle le Fail-closed l'emporte.
Sûr par défaut.
Dans le doute, PoisonZero choisit le côté sûr — et vous laisse tracer la limite vous-même.
Tester 14 joursÀ lire aussi : Qu'est-ce que le Memory Poisoning ? · Les agents IA dans la pipeline CI/CD · Poisoned Pipeline Execution