En août 2026, la vulnérabilité CoSnitch (CVE-2026-24301) a démontré qu'un simple lien malveillant pouvait transformer Microsoft Copilot en outil d'espionnage. Mais Copilot n'est pas le seul outil à risque. GitHub Copilot, Cursor, ChatGPT, Codeium, Tabnine — tous ces assistants IA qui accélèrent votre productivité accèdent également à vos fichiers, vos secrets et parfois vos services cloud. Ce guide pratique vous donne 7 étapes actionables pour sécuriser l'ensemble de votre chaîne d'outils IA de développement, sans sacrifier votre productivité.
Ce guide s'adresse aux développeurs individuels comme aux tech leads responsables de la sécurité d'une équipe. Chaque étape inclut des commandes concrètes, des fichiers de configuration prêts à l'emploi et des critères de validation. Prévoyez 3 à 4 heures pour l'implémentation complète.
Étape 1 : Auditer les extensions et plugins installés
Chaque extension installée dans votre éditeur est un vecteur d'attaque potentiel. Les extensions VS Code s'exécutent avec les mêmes privilèges que l'utilisateur — elles ont un accès complet au système de fichiers, au réseau et aux tokens d'authentification stockés dans le trousseau système. En 2026, les attaques supply chain via les extensions VS Code se sont multipliées : 77 extensions malveillantes « Evil Twin » ont été découvertes sur le marketplace Open VSX en août 2026 seul.
Actions concrètes :
- Listez toutes les extensions installées avec
code --list-extensionset comparez avec une liste blanche de votre équipe. - Pour chaque extension IA (Copilot, Cursor, Codeium, Tabnine, Continue), vérifiez l'éditeur, le nombre de téléchargements, la date de dernière mise à jour et le code source (si open source).
- Supprimez immédiatement toute extension que vous n'utilisez pas activement. Une extension installée mais non utilisée est une surface d'attaque gratuite pour un attaquant.
- Désactivez les mises à jour automatiques des extensions (
extensions.autoUpdate: falsedans les settings VS Code) pour contrôler quand et quoi est mis à jour.
# Lister toutes les extensions VS Code installees
code --list-extensions --show-versions
# Exporter la liste pour revue d equipe
code --list-extensions --show-versions > extensions-audit-$(date +%Y%m%d).txt
# Verifier les extensions IA specifiquement
code --list-extensions | grep -iE "copilot|cursor|codeium|tabnine|continue|aider"
# Desactiver les mises a jour auto dans settings.json
# "extensions.autoUpdate": false
# "extensions.autoCheckUpdates": false💡 Notre avis d'expert
La règle d'or : si vous ne pouvez pas expliquer pourquoi une extension est installée et ce qu'elle fait, elle n'a rien à faire dans votre éditeur. J'ai vu des développeurs seniors avec plus de 60 extensions installées, dont certaines n'avaient pas été mises à jour depuis 2 ans. Chacune de ces extensions zombie est une porte d'entrée potentielle. Visez un maximum de 15 à 20 extensions actives — le reste est du bruit qui augmente votre surface d'attaque sans apporter de valeur.
Étape 2 : Configurer les permissions granulaires
La plupart des outils IA de développement offrent des mécanismes de contrôle des permissions, mais ils sont rarement configurés par défaut. L'objectif est d'appliquer le principe du moindre privilège : chaque outil ne doit accéder qu'aux données strictement nécessaires à son fonctionnement.
Pour GitHub Copilot :
- Créez un fichier
.copilotignoreà la racine de chaque projet pour exclure les fichiers sensibles du contexte envoyé aux serveurs de GitHub. - Dans les paramètres d'organisation GitHub, limitez les dépôts accessibles par Copilot si vous utilisez Copilot Enterprise.
- Désactivez « Copilot suggestions matching public code » pour réduire le risque de fuite de code propriétaire.
Pour Cursor :
- Créez un fichier
.cursorignorepour exclure les répertoires sensibles de l'indexation. - Désactivez « Always allow read to files » dans les paramètres de Cursor et optez pour une approbation fichier par fichier.
- Vérifiez les règles dans
.cursor/rules/: des fichiers de règles malveillants peuvent injecter des instructions dans le contexte de Cursor.
# .copilotignore - a placer a la racine du projet
# Exclure les secrets et configurations sensibles
.env
.env.*
*.pem
*.key
*.p12
.aws/
.ssh/
credentials.json
secrets/
config/production.yml
# Exclure les donnees sensibles
data/customers/
data/payments/
backups/
# .cursorignore - meme logique pour Cursor
.env
.env.*
*.pem
*.key
.aws/
.ssh/
node_modules/
.git/Pour ChatGPT :
- Désactivez la mémoire persistante si vous partagez des informations sensibles dans vos conversations de débogage :
Paramètres > Personnalisation > Mémoire > Désactiver. - Utilisez les « Chats temporaires » pour les sessions impliquant du code propriétaire.
- Auditez régulièrement la mémoire stockée et supprimez les entrées contenant des informations confidentielles.
Étape 3 : Isoler les workspaces et les environnements
L'isolation est votre meilleure défense contre les attaques transversales. Un outil IA compromis dans un workspace ne devrait pas pouvoir accéder aux données d'un autre projet. Trois niveaux d'isolation sont possibles :
Niveau 1 : Workspace Trust de VS Code (immédiat)
Activez le mode restreint (Workspace Trust) pour tous les projets que vous ouvrez pour la première fois. VS Code désactivera certaines fonctionnalités des extensions, incluant Copilot, dans les workspaces non fiables. Cela ne protège pas contre tout, mais c'est une première couche de défense gratuite.
Niveau 2 : Profils VS Code séparés (30 minutes)
Créez des profils VS Code distincts pour différents niveaux de confiance. Un profil « projets clients » avec un jeu minimal d'extensions et des permissions strictes. Un profil « projets personnels » plus permissif. Les extensions installées dans un profil ne sont pas accessibles depuis un autre, créant une isolation logique.
Niveau 3 : Conteneurs de développement (1-2 heures)
Pour les projets hautement sensibles, utilisez les Dev Containers de VS Code ou les GitHub Codespaces. Chaque projet s'exécute dans un conteneur Docker isolé avec son propre système de fichiers, son propre réseau et ses propres variables d'environnement. Les secrets du système hôte (~/.ssh, ~/.aws) ne sont accessibles que si vous les montez explicitement.
# .devcontainer/devcontainer.json - configuration securisee
{
"name": "Projet securise",
"image": "mcr.microsoft.com/devcontainers/typescript-node:22",
"customizations": {
"vscode": {
"extensions": [
// Liste blanche d extensions uniquement
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode"
// PAS de Copilot ni Cursor dans les projets sensibles
],
"settings": {
"extensions.autoUpdate": false,
"security.workspace.trust.enabled": true
}
}
},
// NE PAS monter les secrets du host
// "mounts": ["source=${localEnv:HOME}/.ssh,target=/root/.ssh,type=bind"]
"features": {},
"forwardPorts": [3000]
}💡 Notre avis d'expert
L'isolation par conteneur est la mesure la plus efficace de ce guide. Un outil IA compromis dans un conteneur ne peut pas lire vos clés SSH, vos credentials AWS ou les fichiers .env de vos autres projets. Le coût est minime — quelques minutes de latence au démarrage du conteneur — mais le gain de sécurité est considérable. Si vous ne faites qu'une seule chose de ce guide, faites celle-ci.
Étape 4 : Protéger les secrets et les credentials
Les assistants IA de code ont accès à tout ce qui se trouve dans votre workspace, y compris les fichiers de secrets. Un .env contenant des clés d'API, des tokens d'accès ou des mots de passe de base de données sera lu par Copilot ou Cursor s'il n'est pas explicitement exclu. Et une fois que le contenu est envoyé aux serveurs de l'outil IA, il est hors de votre contrôle.
Actions concrètes :
- Fichiers d'exclusion : ajoutez
.env,.env.*,*.pem,*.keyà vos fichiers.copilotignore,.cursorignoreet.gitignore. - Gestionnaire de secrets externe : utilisez
sops+agepour chiffrer les secrets au repos, oudoppler/vaultpour les injecter à l'exécution sans les stocker en clair sur le disque. - Rotation régulière : changez toutes vos clés d'API et tokens tous les 90 jours. Si un outil IA a eu accès à un secret, considérez-le comme potentiellement compromis.
- Scanning pré-commit : installez
gitleaksoutrufflehogen hook pre-commit pour bloquer tout commit contenant des secrets en clair.
# Installer gitleaks comme hook pre-commit
# .pre-commit-config.yaml
repos:
- repo: https://github.com/gitleaks/gitleaks
rev: v8.21.0
hooks:
- id: gitleaks
# Initialiser pre-commit
pip install pre-commit
pre-commit install
# Scanner le depot pour les secrets existants
gitleaks detect --source . --verbose
# Chiffrer un fichier .env avec sops + age
age-keygen -o key.txt
sops --encrypt --age $(grep "public key" key.txt | awk '{print $NF}') .env > .env.encÉtape 5 : Mettre en place un monitoring des requêtes sortantes
Le scénario CoSnitch reposait sur la capacité de Copilot à envoyer des données vers un serveur externe sans déclencher d'alerte. Pour détecter ce type d'exfiltration, vous devez surveiller les requêtes réseau sortantes de vos outils de développement.
Actions concrètes :
- Proxy local : configurez un proxy HTTP/S local comme
mitmproxypour intercepter et logger les requêtes sortantes de VS Code et Cursor. Filtrez les domaines légitimes (github.com, copilot.github.com, api.cursor.sh) et alertez sur tout domaine inconnu. - Monitoring DNS : déployez
pi-holeoublockysur votre réseau local pour logger toutes les requêtes DNS. Un outil IA qui contacte un domaine inhabituel est un signal d'alerte. - Firewall applicatif : sur macOS, utilisez
Little SnitchouLulu(open source). Sur Linux, configureziptablesounftablespour restreindre les connexions sortantes de VS Code aux domaines autorisés.
# Lancer mitmproxy pour surveiller les requetes sortantes de VS Code
# Terminal 1 : demarrer mitmproxy
mitmproxy --mode regular --listen-port 8080 \
--set block_global=false \
--set flow_detail=1
# Terminal 2 : lancer VS Code via le proxy
HTTP_PROXY=http://127.0.0.1:8080 \
HTTPS_PROXY=http://127.0.0.1:8080 \
code .
# Filtrer les domaines non-GitHub dans mitmproxy
# Commande interactive : f (filter) puis :
# ~d !github.com & ~d !copilot.github.com & ~d !api.github.comÉtape 6 : Formaliser une politique de sécurité IA pour l'équipe
Les mesures individuelles ne suffisent pas si chaque membre de l'équipe configure ses outils différemment. Une politique formalisée garantit une baseline de sécurité uniforme et facilite l'onboarding des nouveaux développeurs.
Éléments clés de la politique :
- Liste blanche d'outils IA approuvés : définissez les outils IA autorisés dans l'équipe. Intégrez cette liste dans le README du projet.
- Liste blanche d'extensions : créez un fichier
.vscode/extensions.jsondans chaque dépôt avec les extensions recommandées. - Fichiers d'exclusion standardisés : committez les fichiers
.copilotignore,.cursorignoreet.aiexcludedans chaque dépôt. - Gestion des secrets : imposez l'utilisation d'un gestionnaire de secrets externe (sops, Vault, Doppler) — interdisez les fichiers
.enven clair dans les projets. - Revue trimestrielle : programmez un audit trimestriel des extensions installées, des connexions tierces actives et des permissions accordées aux outils IA.
# .vscode/extensions.json - liste blanche d extensions pour le projet
{
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"bradlc.vscode-tailwindcss",
"github.copilot"
],
"unwantedRecommendations": [
// Extensions IA non approuvees par l equipe
"codeium.codeium",
"tabnine.tabnine-vscode"
]
}Étape 7 : Évaluer les alternatives open source locales
La mesure la plus radicale — et la plus efficace — pour réduire la surface d'attaque de vos outils IA est de remplacer les solutions cloud par des alternatives locales open source. Un modèle qui tourne sur votre machine ne peut pas exfiltrer vos données vers un serveur tiers. Il n'a pas de mémoire persistante cloud. Il n'a pas de connecteurs à Gmail ou Drive.
Les alternatives viables en août 2026 :
| Outil open source | Remplace | Modèles recommandés | VRAM requise | Performance |
|---|---|---|---|---|
| Continue.dev | GitHub Copilot, Cursor | Codestral, DeepSeek Coder V2 | 8-16 Go | ~85% de Copilot |
| TabbyML | GitHub Copilot (complétion) | StarCoder2, CodeLlama | 8-24 Go | ~80% de Copilot |
| Aider | Cursor (chat + édition) | Claude via API, Ollama local | Variable | ~90% de Cursor |
| Ollama + Open WebUI | ChatGPT | Mistral, Llama 3.1, Gemma 2 | 8-48 Go | ~75% de GPT-4 |
| LM Studio | ChatGPT (interface graphique) | Tous les GGUF | 8-32 Go | ~75% de GPT-4 |
Pour démarrer avec une alternative open source locale, consultez notre guide de configuration d'un environnement de développement IA local avec Ollama. L'investissement initial en configuration est de 1 à 2 heures, mais le gain en sécurité est permanent.
# Installation rapide : Ollama + Continue.dev
# 1. Installer Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# 2. Telecharger un modele de code
ollama pull codestral:latest
# Ou pour les machines avec moins de VRAM :
ollama pull deepseek-coder-v2:16b
# 3. Installer Continue.dev dans VS Code
code --install-extension continue.continue
# 4. Configurer Continue.dev pour utiliser Ollama
# ~/.continue/config.json
# {
# "models": [{
# "title": "Codestral Local",
# "provider": "ollama",
# "model": "codestral:latest"
# }],
# "tabAutocompleteModel": {
# "title": "Codestral Autocomplete",
# "provider": "ollama",
# "model": "codestral:latest"
# }
# }
# 5. Verifier que le modele fonctionne
ollama run codestral:latest "Ecris une fonction Python de tri rapide"Checklist de validation : 7 étapes terminées
Utilisez cette checklist pour vérifier que chaque étape est correctement implémentée. Une équipe sécurisée est une équipe qui peut cocher les 7 cases :
- ☐Étape 1 : Inventaire complet des extensions. Moins de 20 extensions actives. Aucune extension non utilisée depuis >30 jours.
- ☐Étape 2 : Fichiers
.copilotignoreet.cursorignoreprésents dans chaque dépôt. Mémoire ChatGPT purgée ou désactivée. - ☐Étape 3 : Workspace Trust activé. Profils VS Code configurés. Dev Containers pour les projets sensibles.
- ☐Étape 4 : Gestionnaire de secrets en place. Hook pre-commit gitleaks actif. Aucun secret en clair dans le workspace.
- ☐Étape 5 : Monitoring DNS ou proxy sortant configuré. Alertes sur domaines inconnus.
- ☐Étape 6 : Politique de sécurité IA documentée. Liste blanche d'extensions committée. Revue trimestrielle planifiée.
- ☐Étape 7 : Alternatives open source évaluées. Décision cloud vs local documentée pour chaque catégorie de projet.
Conclusion : la sécurité IA est désormais une compétence fondamentale
Les 7 étapes de ce guide ne sont pas un exercice théorique. La vulnérabilité CoSnitch (CVE-2026-24301) a démontré qu'un simple lien suffisait à exfiltrer des données Gmail et Drive via Microsoft Copilot. La faille Ray, ajoutée au catalogue CISA KEV la même semaine, a confirmé que les frameworks ML sont des cibles actives. Ce ne sont pas des incidents isolés — c'est une tendance de fond.
En 2026, un développeur qui ne sécurise pas ses outils IA est l'équivalent d'un développeur qui ne mettait pas de mot de passe sur ses bases de données en 2010. La surface d'attaque a changé, mais le principe reste le même : chaque outil qui accède à vos données doit être configuré, isolé et surveillé.
Les alternatives open source locales offrent une solution structurelle à ce problème. Un modèle qui tourne sur votre machine ne peut pas être utilisé comme vecteur d'exfiltration cloud. C'est un avantage fondamental que les outils propriétaires ne peuvent pas offrir, quelle que soit la qualité de leur patch management.
Prenez 3 heures cette semaine pour implémenter ces 7 étapes. Votre code, vos secrets et vos données vous remercieront.
Besoin d'accompagnement pour sécuriser vos outils IA ?
Nos experts DevSecOps auditent votre chaine d'outils, configurent les alternatives open source et forment votre équipe aux bonnes pratiques.
Demander un audit gratuit