📄 contenu.md 🔒 7081c398…3b02ae17 Se connecter pour télécharger ← Retour
# 4. Principe : la souveraineté du code

La **souveraineté du code** est le deuxième pilier de sécurité de ce guide,
complémentaire du premier (limiter la surface d'action de l'agent). Elle
répond à une question différente : une fois le code écrit, **de qui
dépend-il pour fonctionner ?**

## Ce que veut dire « souverain » ici

- **Bibliothèque standard uniquement** : le code n'utilise que ce que le
  langage fournit nativement, sans bibliothèque tierce.
- **Zéro dépendance externe** : rien à installer, rien à mettre à jour pour
  suivre une vulnérabilité découverte chez un tiers, rien qui puisse changer
  de comportement à l'insu de l'auteur (une mise à jour de dépendance
  compromise est un vecteur d'attaque réel et documenté, dit de « chaîne
  d'approvisionnement »).
- **Zéro appel réseau non maîtrisé** : le code ne contacte que ce qu'on lui
  demande explicitement de contacter, jamais un service tiers en arrière-plan.

## Pourquoi ce principe réduit le risque, indépendamment de la question de l'agent

Même un outil qui n'a **aucune** interaction avec un agent IA bénéficie de ce
principe : moins de code tiers exécuté, c'est moins de surface pour un bug
ou une compromission découverts après coup, chez un mainteneur qu'on ne
contrôle pas. C'est un principe de sécurité générale, pas seulement une
réponse à l'injection de prompt.

## Le compromis assumé

Réécrire soi-même ce qu'une bibliothèque ferait en quelques lignes coûte du
temps de développement, et impose parfois des limites fonctionnelles
assumées (documentées honnêtement plutôt que cachées) par rapport à une
solution industrielle complète. Ce guide et les outils qui l'accompagnent
font ce choix délibérément pour un périmètre de tâches précis et restreint —
ce n'est pas une recommandation universelle valable pour tout projet.

*(Schéma disponible : `schema.svg`, dans ce dossier.)*
1.8 Ko BLAKE3 : 7081c398…3b02ae17