−25%

sur Windows en paiement annuel, jusqu'au 31/10. Voir les offres

EQVPS

Sécuriser un agent IA auto-hébergé sur un VPS

26 sept. 2026 · 4 min de lecture · EQVPS Team

Une application web classique fait ce que dit son code. Un agent IA fait ce que dit son code, plus tout ce dont le texte qu'il lit parvient à le convaincre. Donnez-lui un shell, une clé d'API et un budget, lâchez-le sur Internet, et vous avez construit quelque chose de nouveau : un processus que l'on peut manipuler par ingénierie sociale. Le remède n'est pas la paranoïa, c'est la vieille habitude d'admin du moindre privilège — appliquée à un programme très bavard.

Les vraies menaces

Tout ce qui suit rend ces scénarios moins probables ou moins coûteux quand ils surviennent.

1. Sa propre machine et son propre utilisateur

Faites tourner les agents qui exécutent du code ou naviguent sur le web sur un VPS séparé — pas à côté de votre base de production. Et sur cette machine, jamais en root :

adduser --disabled-password --gecos "" agent
mkdir -p /home/agent/work && chown agent:agent /home/agent/work

Pas de sudo, pas de clés SSH vers d'autres serveurs, aucun accès à ce dont il n'a pas besoin.

2. Un bac à sable avec systemd

systemd sait enfermer un processus sans conteneur. L'agent peut lire le système, mais n'écrire que dans son répertoire de travail :

# /etc/systemd/system/agent.service
[Unit]
Description=AI agent
After=network-online.target

[Service]
User=agent
WorkingDirectory=/home/agent/work
EnvironmentFile=/home/agent/.agent.env
ExecStart=/home/agent/venv/bin/python run_agent.py
Restart=on-failure
NoNewPrivileges=yes
ProtectSystem=strict
ProtectHome=read-only
ReadWritePaths=/home/agent/work
PrivateTmp=yes
PrivateDevices=yes
MemoryMax=2G

[Install]
WantedBy=multi-user.target

ProtectSystem=strict rend tout le système de fichiers en lecture seule, sauf les ReadWritePaths. MemoryMax empêche une tâche emballée de faire tomber le serveur. Vérifiez le résultat avec systemd-analyze security agent : il note l'unité et liste ce qui reste ouvert.

3. Partez du principe que les clés fuiront

4. Limitez ce qu'il peut acheter

Si l'agent peut dépenser de l'argent, la limite doit vivre hors de l'agent. Chez EQVPS, un agent commande et renouvelle des serveurs depuis le solde prépayé du compte via le serveur MCP ou l'API REST — le solde est donc un plafond strict. Rechargez le montant que vous êtes prêt à perdre, pas tout votre budget. Donnez à l'agent son propre compte s'il n'a pas besoin de voir vos autres serveurs.

5. Un humain devant les actions irréversibles

Supprimer des données, envoyer de l'argent, pousser sur main, écrire à des clients : faites passer ces actions par une étape de confirmation — un message Telegram avec un bouton « approuver » suffit. Les outils en lecture seule peuvent tourner librement ; les outils en écriture gagnent la confiance petit à petit.

6. Resserrer les sorties (si vous pouvez vivre avec)

Une liste d'autorisation des connexions sortantes complique beaucoup l'exfiltration de secrets :

ufw default deny outgoing
ufw allow out 53          # DNS
ufw allow out 443/tcp     # HTTPS APIs
ufw allow out 80/tcp      # package mirrors
ufw default deny incoming && ufw allow 22/tcp && ufw enable

Honnêtement, c'est l'étape que la plupart abandonnent : les agents qui naviguent ont besoin de HTTPS arbitraire, et une liste par ports apporte alors peu. Elle vaut le coup pour les agents qui n'appellent qu'un ensemble fixe d'API.

7. Des journaux et un chemin de retour

Journalisez chaque appel d'outil avec ses arguments. Prenez un instantané avant de lâcher un agent sur quelque chose de nouveau — les Managed Backups offrent des points de restauration quotidiens plus des instantanés à la demande —, pour qu'un mauvais après-midi coûte une restauration, pas une reconstruction.

Le bilan honnête

Rien de tout cela ne rend un agent digne d'une confiance aveugle. Cela rend l'erreur bon marché : un agent compromis sur sa propre machine, sous son propre utilisateur, avec un solde plafonné et des clés restreintes, ne peut causer que des dégâts limités et réparables. C'est l'objectif réaliste. Commencez par les bases de sécuriser un nouveau VPS, puis ajoutez les couches propres aux agents décrites ci-dessus.

FAQ

Quel est le plus grand risque d'un agent IA sur un serveur ?

L'injection de prompt : l'agent lit un texte qu'il n'a pas écrit — une page web, un e-mail, un commentaire d'issue — et ce texte lui ordonne de faire quelque chose que vous n'avez jamais demandé, comme afficher ses variables d'environnement ou exécuter une commande. Tout le reste de ce guide consiste à limiter les dégâts quand cela arrive.

L'agent doit-il tourner en root ?

Jamais. Donnez-lui son propre utilisateur sans privilèges ni sudo, et limitez ce qu'il peut écrire grâce au bac à sable systemd. S'il est amené par ruse à lancer une commande destructrice, il ne peut abîmer que son propre répertoire de travail.

Comment empêcher un agent de trop dépenser ?

Avec des limites strictes qui vivent hors de l'agent : des plafonds de dépenses sur les clés de votre fournisseur de modèles et un solde prépayé pour tout ce qu'il peut acheter. Chez EQVPS, un agent dépense depuis le solde du compte : le solde lui-même est le plafond — rechargez uniquement ce que vous êtes prêt à perdre.

Peut-on bloquer complètement l'injection de prompt ?

Non — aucun filtre fiable n'existe aujourd'hui. Ce qui fonctionne, c'est réduire le rayon d'impact : outils aux droits minimaux, confirmation humaine pour les actions destructrices ou payantes, aucun secret dans le contexte de l'agent et des journaux que vous pouvez relire.

Un VPS séparé pour un agent, ça vaut le coup ?

Oui, si l'agent exécute du code ou navigue sur le web. Une petite machine dédiée le tient à l'écart de vos bases de données, de vos autres projets et de vos identifiants. S'il est compromis, vous reconstruisez un serveur, pas toute votre installation.

← Retour au blogVoir les offres & tarifs →

Commentaires

Pas encore de commentaires. Soyez le premier.

Laisser un commentaire

Les commentaires sont modérés avant leur publication.