In this article
Détecter et corriger des vulnérabilités avec Continue et Snyk MCP
Continue donne l’impression de reprendre le contrôle de son environnement de développement. Contrairement aux assistants de programmation IA propriétaires qui vous privent de ce contrôle, Continue joue cartes sur table. Vous voyez exactement ce qui se passe, choisissez vos propres modèles et gardez votre code privé. C’est comme fabriquer son propre sabre laser. Cet engagement en faveur de l’autonomie des développeurs se retrouve non seulement dans la philosophie open source, mais aussi dans des choix de conception réfléchis, comme l’intégration de MCP et la flexibilité indépendante des modèles, qui vous permet d’utiliser aussi bien GPT-4 que des modèles LLaMA locaux.
Consultez ce guide clé en main pour organiser un atelier et intégrer directement les fonctionnalités d’analyse de sécurité de Snyk Studio à votre workflow de développement avec Continue.
Témoignages de développeurs (sur le terrain)
Un développeur a écrit sur DEV Community : « J’ai été surpris de voir qu’il prenait en charge le contexte de la base de code, ainsi que quelques autres options pour enrichir la conversation (exploration Web d’une URL, fichiers spécifiques, etc.), et que ça fonctionnait vraiment ! Et tout cela est entièrement gratuit et open source ! »
Vous pouvez faire beaucoup de choses avec : « J’utilise continue.dev pour la complétion automatique avec qwen 7b coder en local quand je n’ai pas Internet. »
Un utilisateur a même déclaré : « Comme outil de chat, il est excellent grâce à sa flexibilité et à son extensibilité. J’ai une douzaine de modèles à ma disposition : OpenAI o1, Gemini 1.5 et 2.0, Claude 3.5, et quelques autres sur ollama. J’ai aussi de nombreux prompts et commandes personnalisés prédéfinis pour les tâches courantes.
En général, je demande à un modèle d’implémenter la tâche en prenant le code du projet comme contexte, puis à un autre modèle de réviser le code, et enfin j’utilise un prompt personnalisé avec des recommandations tirées de livres sur le « Clean Code ». En ajoutant la documentation des frameworks utilisés et les résultats de recherche Google, on obtient de très bons résultats. »
Les thèmes qui reviennent dans ces avis sont la liberté de ne pas être enfermé chez un fournisseur, le contrôle de la confidentialité, la flexibilité de personnalisation et l’intérêt d’une solution entièrement gratuite et open source. Sans surprise, les développeurs apprécient enfin de disposer d’un assistant de programmation IA qui travaille pour eux, et non l’inverse.
Bien démarrer avec Continue
Le parcours développeur de Continue est conçu pour vous rendre rapidement opérationnel :
Installez l’extension : elle est disponible sur le Visual Studio Marketplace pour VS Code, ou sous forme de plugin pour les IDE JetBrains (IntelliJ IDEA, PyCharm, WebStorm).
Passez à la barre latérale droite : après l’installation, l’icône de Continue apparaît dans la barre latérale gauche. Pour une meilleure expérience, vous pouvez toutefois la faire glisser vers la barre latérale droite.
Configurez votre modèle : cliquez sur le menu déroulant de sélection de l’agent, puis choisissez votre fournisseur de modèles préféré. Continue prend en charge OpenAI, Anthropic, Ollama pour les modèles locaux et bien d’autres.
Facultatif : connectez-vous à Continue Hub : pour profiter de workflows d’agents gérés et de fonctionnalités de collaboration en équipe, connectez-vous à Continue Hub (plus de détails ci-dessous). Cette étape est facultative : Continue fonctionne entièrement hors ligne avec des modèles locaux si vous le préférez.

Prise en charge du Model Context Protocol (MCP) dans Continue
En tant qu’outil moderne de programmation assistée par l’IA, Continue prend en charge le Model Context Protocol (MCP). MCP permet aux modèles d’IA d’interagir en temps réel avec des outils, des bases de données et des API externes, élargissant considérablement les possibilités au-delà de la simple génération de code.
Continue a été le premier client à prendre pleinement en charge toutes les fonctionnalités MCP, notamment les ressources (accès aux données), les prompts (interactions basées sur des modèles), les outils (appels de fonctions) et l’échantillonnage (réponses générées par l’IA).
Configurer des serveurs MCP dans Continue
Continue propose deux méthodes principales pour configurer des serveurs MCP :
Configuration MCP par espace de travail
(.continue/mcpServers/) : idéale pour les ensembles d’outils propres à un projet. Créez ce répertoire à la racine de votre espace de travail et ajoutez un fichier YAML pour chaque serveur MCP. Ces outils ne seront actifs que dans cet espace de travail.
Exemple de structure :
your-project/
├── .continue/
│ └── mcpServers/
│ ├── playwright-mcp.yaml
│ └── snyk-mcp.yaml
└── ...Configuration MCP globale
(~/.continue/config.yaml) : pour rendre des outils disponibles dans tous vos projets, définissez-les dans le fichier de configuration principal de Continue, dans le bloc mcpServers. Cette option est idéale pour des outils d’analyse de sécurité comme Snyk, que vous souhaitez utiliser partout.
Types de transport MCP
Continue prend en charge plusieurs mécanismes de transport :
STDIO (entrée/sortie standard) : idéal pour les processus locaux et les outils en ligne de commande. La plupart des serveurs MCP utilisent ce type de transport.
Streamable HTTP : pour les serveurs MCP distants ou hébergés prenant en charge la diffusion en continu
SSE (Server-Sent Events) : pour la communication en continu et en temps réel avec des serveurs distants
Notez que le protocole MCP abandonne progressivement SSE au profit de Streamable HTTP.
La configuration YAML d’un serveur MCP est simple et ne comporte que quelques propriétés clés :
name: My MCP Server
version: 0.0.1
schema: v1
mcpServers:
- name: Server Display Name
command: npx # or full path to executable
args:
- "package-name"
- "--flags"
env:
API_KEY: ${{ secrets.MY_API_KEY }}Ce format facilite la migration. Si vous utilisez un autre outil comme Claude Desktop, Cursor ou Cline, vous pouvez copier directement leurs fichiers de configuration MCP JSON dans votre répertoire .continue/mcpServers/ (notez le pluriel « Servers »), et Continue les détectera automatiquement.
Ajouter Snyk Studio
Le serveur MCP officiel de Snyk, qui fait partie de Snyk Studio, intègre directement des fonctionnalités d’analyse de sécurité à votre workflow de programmation assistée par l’IA. Il vous permet de lancer des analyses de vulnérabilités, de récupérer les résultats de sécurité et même de demander des corrections assistées par l’IA, le tout sans quitter votre environnement de développement. Il est d’ailleurs intégré à la CLI Snyk.
Prérequis
Avant d’ajouter le serveur MCP Snyk, vérifiez que vous disposez des éléments suivants :
1. La CLI Snyk installée (v1.1296.2 ou ultérieure) : guide d’installation
# Install via npm
npm install -g snyk
# Or download from https://docs.snyk.io/developer-tools/snyk-cli/install-or-update-the-snyk-cli2. Une authentification Snyk : le serveur MCP a besoin de votre jeton d’API Snyk. Exécutez :
1snyk authVotre navigateur s’ouvrira pour vous authentifier et votre jeton sera stocké localement.

Options de configuration
La méthode la plus simple consiste à ajouter le serveur MCP Snyk à l’extension Continue pour VS Code que vous avez installée :
Sélectionnez l’icône Continue dans la barre latérale gauche.
Sélectionnez « Configure tools » en haut de la zone de saisie utilisateur.

3. Cliquez sur l’icône « + » à droite de « MCP Servers » pour ajouter un serveur.

4. Un fichier new-mcp-server.yaml s’ouvrira automatiquement au bon emplacement du projet.
1owler@OwlUbuntu:~/Documents/Snyk/snyk-mcp-demos/pygoat$ tree .continue/
2.continue/
3└── mcpServers
4 └── new-mcp-server.yaml
5
61 directory, 1 fileVous pouvez ajouter le serveur MCP Snyk avec npx (recommandé) ou en appelant directement la CLI.
Utiliser npx pour rester automatiquement à jour
En supposant que vous avez créé .continue/mcpServers/snyk-mcp.yaml dans votre espace de travail, vous pouvez le définir comme suit :
name: Snyk Security Scanner
version: 0.0.1
schema: v1
mcpServers:
- name: Snyk
command: npx
args:
- "-y"
- "snyk@latest"
- "mcp"
- "-t"
- "stdio"
env: {}Cette configuration utilise npx pour récupérer systématiquement la dernière version de la CLI Snyk.
Utiliser directement le chemin de la CLI Snyk installée localement
Si vous avez installé Snyk globalement et souhaitez utiliser votre installation locale :
name: Snyk Security Scanner
version: 0.0.1
schema: v1
mcpServers:
- name: Snyk
command: /absolute/path/to/snyk (i.e. from `which snyk`)
args:
- "mcp"
- "-t"
- "stdio"
env: {}Sur la plupart des systèmes Linux, vous pouvez obtenir /absolute/path/to/snyk à l’aide du résultat de which snyk.
Le serveur MCP Snyk peut nécessiter l’indicateur --experimental lorsqu’il est exécuté directement via la CLI. En revanche, cet indicateur est ajouté automatiquement si vous le lancez avec npx et la dernière version.
Activer le serveur MCP Snyk dans Continue
Après la création de votre fichier de configuration, Continue détecte et charge automatiquement le serveur MCP. Pour vérifier qu’il fonctionne :
1. Activez le mode Agent de Continue : la fonctionnalité MCP est uniquement disponible en mode Agent. Cliquez sur le menu déroulant de sélection de l’agent près du champ de saisie du chat et vérifiez que le mode Agent est activé.


2. Vérifiez les outils MCP : demandez au LLM sélectionné quels outils sont disponibles.

3. Vérifiez l’authentification : dans le panneau de chat, demandez à Continue : « Pouvez-vous vérifier l’état de mon authentification Snyk ? » L’agent utilisera le serveur MCP Snyk pour vérifier votre connexion (à l’aide d’appels d’outils MCP).
Utiliser Continue pour détecter et corriger automatiquement les vulnérabilités
Pour cette démonstration, nous utiliserons le dépôt pyGoat d’adeyosemanputra', responsable du projet OWASP adeyosemanputra'. Il s’agit d’une application Django volontairement vulnérable, conçue pour la formation à la sécurité. Ce projet contient des vulnérabilités bien documentées de différents niveaux de gravité, ce qui en fait un excellent choix pour tester les workflows d’analyse de sécurité et de correction.
Analyse de sécurité initiale
Commençons par voir quelles vulnérabilités Snyk détecte dans la base de code. Nous pouvons aussi demander à Continue d’utiliser le serveur MCP Snyk pour analyser le projet :
Dans le panneau de chat de Continue (mode Agent), nous demandons :
Please run a Snyk code scan on the current project.L’agent Continue détecte qu’il a accès aux outils MCP de Snyk et lance l’analyse :

Continue fournit ensuite un récapitulatif utile des résultats critiques :
Top Critical Issues Found:
🔴 High Severity Issues:
Path Traversal (2 instances) - Unsanitized input flows into file operations
Code Injection (2 instances) - Use of eval() with unsanitized input
SQL Injection (2 instances) - Unsanitized input in SQL queries
Command Injection (2 instances) - Unsanitized input in subprocess calls
Deserialization of Untrusted Data (3 instances) - Unsafe pickle.loads() usage
XML External Entity (XXE) Injection - Insecure XML parser
Use of Hardcoded Cryptographic Key (2 instances) - JWT with hardcoded secret
Hardcoded Non-Cryptographic Secret (2 instances) - Including Django SECRET_KEY
🟡 Medium Severity Issues:
Debug Mode Enabled - Flask app running with debug=True
CSRF Protection Disabled (27 instances) - Many views using @csrf_exempt
Hardcoded Passwords (18 instances)
SSRF - Server-Side Request Forgery vulnerability
Insecure XML Parser (2 instances)
🟢 Low Severity Issues:
Insecure Hash (MD5) (4 instances) - Using MD5 for passwords
Hardcoded Credentials (5 instances)
Cookie Security Issues (46 instances) - Missing HttpOnly/Secure flags
This is clearly a vulnerable-by-design training application (PyGoat). Would you like me to help you understand any specific vulnerability or create fixes for them?Corriger une vulnérabilité d’injection SQL de gravité élevée
Demandons maintenant à l’agent Continue de corriger l’une de ces vulnérabilités prioritaires, puis de relancer l’analyse pour vérifier la correction. Nous lui fournissons les détails précis de la vulnérabilité détectée :
The scan found a High severity SQL Injection vulnerability:
Path: introduction/views.py, line 871
Info: Unsanitized input from an HTTP parameter flows into
introduction.models.sql_lab_table.objects.raw, where it is used in an SQL query.
Can you fix this vulnerability and then re-scan to verify it's fixed?L’agent Continue passe immédiatement à l’action et établit un plan clair :
The user wants me to:
1. Fix a SQL injection vulnerability in introduction/views.py around line 871
2. Re-scan to verify the fix
Let me first read the file to see the vulnerable code.
I'll help you fix the SQL injection vulnerability. Let me first examine the vulnerable code.L’agent commence par lire le code vulnérable pour en comprendre le contexte :
Continue read introduction/views.py
Now I can see the vulnerable code around line 871. The issue is in the injection_sql_lab function where raw SQL queries are constructed using string concatenation with unsanitized user input. Let me fix this vulnerability by using parameterized queries:
Il applique ensuite la correction en utilisant une requête paramétrée :

Continue explique la correction :
What was fixed:
Before:
Line 856: sql_query = "SELECT * FROM introduction_sql_lab_table WHERE id='"+name+"'AND password='"+password+"'"
Line 870: user = sql_lab_table.objects.raw(sql_query)
This allowed attackers to inject malicious SQL code through the name or password parameters
After:
Line 851: sql_query = "SELECT * FROM introduction_sql_lab_table WHERE id=%s AND password=%s"
Line 871: user = sql_lab_table.objects.raw(sql_query, [name, password])
Now uses parameterized queries where user input is safely passed as separate parametersVérifier la correction
L’agent lance automatiquement une nouvelle analyse Snyk pour vérifier que la vulnérabilité a été corrigée :
Perfect! ✅ The SQL injection vulnerability has been successfully fixed!
Verification Results:
The scan now shows 101 issues (down from 102), confirming that one SQL injection vulnerability has been eliminated.
Notre démonstration de correction d’une vulnérabilité de sécurité est terminée ! 🎈
Continue Hub : collaboration en équipe et agents partagés
Pour information, Continue Hub est la couche de collaboration en équipe de la plateforme. Elle permet de gérer de façon centralisée des agents IA personnalisés. L’extension principale de Continue (que nous utiliserons aujourd’hui) est gratuite et open source, tandis que Hub offre des avantages supplémentaires aux utilisateurs avancés :
Offre Solo gratuite : pour les développeurs individuels et les projets open source, Hub propose trois niveaux de visibilité : configurations privées, agents partagés avec l’équipe ou assistants accessibles au public et utilisables par tous.
Agents Hub (gérés dans le cloud) :
Gestion sur le Web : configurez les agents grâce à une interface intuitive, accessible depuis toutes vos instances d’IDE
Partage en un clic : créez des agents personnalisés selon les normes de programmation de votre équipe et partagez-les via un simple lien
Configuration rapide : aucun fichier de configuration à modifier ; choisissez simplement vos préférences et commencez à coder
Mises à jour automatiques : les modifications sont immédiatement répercutées chez tous les membres de l’équipe
Continue CLI : l’agent IA natif du terminal
Continue CLI (cn) est un agent de programmation en ligne de commande modulaire et open source qui met une assistance IA puissante directement à votre disposition dans le terminal. Si vous travaillez principalement dans le terminal et souhaitez automatiser vos tâches là où vous travaillez, la CLI vous offre toute la puissance du terminal sans le quitter.

Mode interactif
# Install globally
npm i -g @continuedev/cli
# Launch interactive mode
cn
# Resume previous conversation
cn --resumeEn mode interactif, cn fonctionne comme l’extension pour IDE. Vous pouvez lui demander de :
Corriger les tests en échec
Repérer des motifs dans votre base de code
Effectuer des refactorisations complexes
Écrire de nouvelles fonctionnalités
Exécuter des commandes dans le terminal (avec votre autorisation)
Utilisez @ pour ajouter le contexte de fichiers et / pour lancer des commandes slash, comme dans l’IDE. La CLI dispose également d’un mode sans interface, idéal pour les scripts de style Unix et l’automatisation CI/CD.
Même configuration que dans l’IDE
La CLI utilise le même fichier config.yaml que les extensions pour IDE. Passez des agents Hub à la configuration locale avec la commande /config ou l’indicateur --config :
# Use Hub agent
cn --config continuedev/default-agent
# Use local configuration
cn --config ~/.continue/config.yamlQu’est-ce qui distingue Continue ?
Comme Continue l’explique, la plateforme instaure une « culture de la contribution » dans laquelle les développeurs expérimentent, créent des personnalisations et les partagent avec la communauté, au lieu de créer chacun des assistants propriétaires en vase clos. Continue adopte une approche fondamentalement différente de celle des solutions propriétaires :
Architecture open source et extensible
Continue se présente comme « l’antithèse des fournisseurs d’assistants IA propriétaires en boîte noire », avec une architecture ouverte qui favorise une « culture de la contribution » : les développeurs peuvent expérimenter, créer des personnalisations et les partager avec la communauté.
Examinez le code source : vous pouvez vérifier exactement comment le contexte de votre code est traité et partagé avec les modèles d’IA
Extensions personnalisées : créez vos propres commandes slash, sources de contexte, messages système avec modèles et outils
Contributions de la communauté : tirez parti d’un écosystème croissant d’extensions et de configurations, et contribuez-y
Flexibilité des modèles et liberté vis-à-vis des dépendances propriétaires
Continue est indépendant des modèles : vous pouvez choisir celui qui répond le mieux à vos besoins. OpenAI, Claude, Mixtral ou LLaMA en local via OpenRouter, Ollama ou des API personnalisées. Vous évitez ainsi toute dépendance propriétaire et bénéficiez d’une évolutivité flexible et économique. Vous pouvez même :
Combiner les modèles : utilisez les modèles Claude Sonnet pour les tâches de raisonnement complexes et gardez les modèles locaux pour les complétions courantes
Changer de modèle en cours de conversation selon vos besoins
Structure tarifaire : Continue est entièrement open source et gratuit, sans frais de licence. Vous ne payez que si vous choisissez d’utiliser les API payantes de modèles externes. Vous pouvez aussi déployer vos propres modèles pour éviter ces frais.
Une intégration à votre IDE, pas un remplacement
Contrairement à Cursor (un fork de VS Code) ou à Windsurf (un IDE distinct), Continue est une extension légère qui s’intègre à vos workflows existants. Cela signifie que vous pouvez :
Conserver votre environnement VS Code ou JetBrains actuel, avec vos paramètres et extensions habituels
Éviter toute période d’apprentissage liée à un nouvel IDE
Utiliser vos raccourcis clavier et personnalisations existants
Faciliter l’adoption : installez l’extension et commencez à l’utiliser en quelques minutes
Les prochaines étapes avec Continue et Snyk
À mesure que l’adoption de MCP progresse et que davantage d’outils de sécurité proposent des serveurs MCP, nous pouvons envisager des agents d’IA capables de :
Corriger les vulnérabilités, mais aussi générer des tests de sécurité complets pour prévenir les régressions
Mettre à jour automatiquement la documentation pour tenir compte des correctifs de sécurité et des pratiques de codage sécurisé
Créer des tickets détaillés pour la vérification manuelle des problèmes de sécurité complexes nécessitant un jugement humain
S’intégrer aux pipelines CI/CD afin de fournir des retours sur la sécurité avant la fusion du code
Lancer des analyses de sécurité automatisées via Continue CLI dans des tâches planifiées ou des workflows déclenchés par des événements
La modularité de l’architecture de Continue et du protocole MCP permet à ces fonctionnalités d’évoluer indépendamment tout en restant interopérables. La sécurité devient un processus continu et automatisé, plutôt qu’un contrôle ponctuel.
Pour commencer
Pour les équipes qui souhaitent mettre en place des workflows similaires, voici les étapes de configuration (TL;DR) :
1. Installez Continue depuis le Marketplace de VS Code ou le dépôt de plugins JetBrains.
2. Configurez le modèle de votre choix (en local avec Ollama ou dans le cloud avec OpenAI/Anthropic/etc.).
3. Facultatif : installez Continue CLI pour l’intégration au terminal et à CI/CD.
npm i -g @continuedev/cli4. Ajoutez le serveur MCP de Snyk à l’aide de la configuration YAML présentée ci-dessus ou récupérez-la dans workshop-in-a-box.
5. Authentifiez-vous auprès de Snyk avec snyk auth.
6. Activez le mode Agent dans Continue pour accéder aux outils MCP.
7. Lancez l’analyse et la correction des vulnérabilités directement dans votre workflow.
Les LLM excellent dans la résolution de problèmes courants et bien connus (comme les injections SQL, les XSS et les secrets codés en dur), tandis que les humains se concentrent sur les nouveaux défis de sécurité qui exigent créativité et réflexion architecturale. Avec Continue et Snyk MCP, la sécurité est intégrée plus tôt dans le cycle de développement : elle cesse d’être un goulot d’étranglement pour faire partie du workflow de développement.
Découvrez dès aujourd’hui le partenariat entre Snyk et Continue.
Innovez grâce à l’IA, en toute sécurité.
Découvrez comment Snyk Studio vous aide à sécuriser le workflow de développement piloté par l’IA.