On May 12, 2026, Microsoft patched CVE-2026-41109 — a high-severity (CVSS 8.8) injection vulnerability in GitHub Copilot and Visual Studio that required no authentication to exploit. An unauthenticated attacker over the network could inject malicious suggestions, exfiltrate data, and silently disable telemetry controls. That same month, researchers published IDEsaster, a novel attack chain demonstrating that 100% of tested AI IDEs — including Copilot, Cursor, Windsurf, and Gemini CLI — were vulnerable to data theft and remote code execution via a three-stage prompt injection chain. Meanwhile, a separate crisis had erupted in April 2026: an architectural flaw baked into Anthropic’s Model Context Protocol (MCP) SDKs exposed 150 million+ downloads across Python, TypeScript, Java, and Rust to arbitrary command execution.
Le 12 mai 2026, Microsoft a corrigé CVE-2026-41109 — une vulnérabilité d’injection haute sévérité (CVSS 8.8) dans GitHub Copilot et Visual Studio, exploitable sans authentification. Un attaquant non authentifié via le réseau pouvait injecter des suggestions malveillantes, exfiltrer des données et désactiver silencieusement les contrôles de télémétrie. Ce même mois, les chercheurs ont publié IDEsaster, une nouvelle classe d’attaque montrant que 100% des IDE IA testés — Copilot, Cursor, Windsurf, Gemini CLI inclus — étaient vulnérables au vol de données et à l’exécution de code distant. Parallèlement, une crise séparée avait éclaté en avril 2026 : un défaut architectural intégré dans les SDK Model Context Protocol (MCP) d’Anthropic exposait 150 millions+ de téléchargements à l’exécution de commandes arbitraires.
Copilot is no longer a code suggestion tool. In 2026, GitHub Copilot in agent mode reads a GitHub Issue, spins up a dedicated branch, writes code, runs your test suite, iterates on failures, and opens a draft PR — all without a human touching the keyboard. This shift from assistant to autonomous agent fundamentally changes the security model. A vulnerability in Copilot is no longer “AI suggests bad code.” It is “AI commits backdoored code, opens a PR, and waits for you to click merge.” This guide covers every major attack vector discovered in 2025–2026 and the concrete controls that defend against them.
Copilot n’est plus un outil de suggestion de code. En 2026, GitHub Copilot en mode agent lit un GitHub Issue, crée une branche dédiée, écrit du code, exécute votre suite de tests, itère sur les échecs et ouvre une PR de draft — tout cela sans qu’un humain ne touche le clavier. Ce glissement de l’assistant vers l’agent autonome change fondamentalement le modèle de sécurité. Une vulnérabilité dans Copilot n’est plus « l’IA suggère du mauvais code ». C’est « l’IA commit du code backdooré, ouvre une PR et attend que vous cliquiez sur merge ». Ce guide couvre chaque vecteur d’attaque majeur découvert en 2025–2026 et les contrôles concrets pour s’en protéger.
How GitHub Copilot Workspace & Agent Mode Work in 2026
Comment Fonctionnent GitHub Copilot Workspace & Agent Mode en 2026
Understanding the attack surface requires understanding the architecture. GitHub Copilot’s coding agent
runs inside a sandboxed GitHub Actions environment. When you assign a GitHub Issue to Copilot,
the agent reads the issue description, plans a solution, creates a copilot/<issue-slug>
branch, writes code, runs your test suite inside the sandbox, diagnoses failures, iterates, and only tags
a human reviewer once tests pass. The resulting draft PR includes Copilot’s own self-review
and the output of any security scanning steps configured in your workflow.
Comprendre la surface d’attaque nécessite de comprendre l’architecture. L’agent de
codage Copilot tourne dans un environnement GitHub Actions sandboxed. Quand vous assignez un GitHub Issue
à Copilot, l’agent lit la description, planifie une solution, crée une branche
copilot/<issue-slug>, écrit du code, exécute votre suite de tests dans
le sandbox, diagnostique les échecs, itère, et ne tague un reviewer humain qu’une fois
les tests passés. La draft PR résultante inclut l’auto-review de Copilot et la sortie
de toute étape de scanning de sécurité configurée dans votre workflow.
The agent’s primary read context comes from three sources: the GitHub Issue description, the repository’s AGENTS.md file (the canonical instruction file for coding agents), and any .github/copilot-instructions.md you have configured. These files tell the agent your coding style, testing thresholds, prohibited patterns, and commit conventions. They are also, as we will see, the primary attack surface for context poisoning attacks.
Le contexte de lecture principal de l’agent provient de trois sources : la description de l’Issue GitHub, le fichier AGENTS.md du dépôt (le fichier d’instructions canonique pour les agents de codage), et tout .github/copilot-instructions.md que vous avez configuré. Ces fichiers indiquent à l’agent votre style de codage, vos seuils de tests, vos patterns interdits et vos conventions de commit. Ce sont aussi, comme nous allons le voir, la principale surface d’attaque des attaques d’empoisonnement de contexte.
The CVE Landscape: Four Critical Vulnerabilities (2025–2026)
Le Paysage des CVE : Quatre Vulnérabilités Critiques (2025–2026)
CVE-2026-41109 — Copilot & Visual Studio Security Feature Bypass (CVSS 8.8)
CVE-2026-41109 — Contournement de Fonctionnalité de Sécurité Copilot & Visual Studio (CVSS 8.8)
Published May 12, 2026, CVE-2026-41109 is an improper neutralization of special elements in output affecting GitHub Copilot and Visual Studio. The vulnerability stems from insufficient sanitization of data before incorporation into output processed by downstream components, allowing special elements to alter the intended logic. Critically, exploitation requires no authentication — the description explicitly states “unauthorized attacker” via network access. Consequences include malicious suggestion injection, data leakage, and stealth disabling of telemetry controls. Patch: VS Code 1.97.0 and Copilot extension v1.43.20260512. If you have not updated, you are exposed.
Publiée le 12 mai 2026, CVE-2026-41109 est une neutralisation incorrecte d’éléments spéciaux dans les sorties affectant GitHub Copilot et Visual Studio. La vulnérabilité découle d’une sanitisation insuffisante des données avant leur incorporation dans les sorties traitées par des composants en aval. De manière critique, l’exploitation ne nécessite aucune authentification — la description mentionne explicitement “attaquant non autorisé” via accès réseau. Les conséquences incluent l’injection de suggestions malveillantes, la fuite de données et la désactivation silencieuse des contrôles de télémétrie. Correctif : VS Code 1.97.0 et extension Copilot v1.43.20260512.
RoguePilot — GitHub Issues as Repository Takeover Vectors (February 2026)
RoguePilot — GitHub Issues comme Vecteurs de Prise de Contrôle de Dépôt (Février 2026)
Disclosed by Orca Security in February 2026, RoguePilot demonstrated a passive prompt injection attack
targeting GitHub Copilot’s agent mode. An attacker creates a GitHub Issue containing hidden malicious
instructions. When Copilot processes that issue to generate a fix, the injected prompt instructs Copilot
to create a JSON file in the workspace containing the user’s GITHUB_TOKEN —
which the agent then uploads as part of its normal file operations. The attack required no user approval
and executed silently within the agent’s workflow. GitHub patched the vulnerability after responsible
disclosure, but the attack pattern demonstrates that any untrusted content Copilot reads
is a potential injection vector: issues, PR descriptions, comments, README files, even file names.
Divulguée par Orca Security en février 2026, RoguePilot a démontré une attaque
par injection passive ciblant le mode agent de GitHub Copilot. Un attaquant crée un GitHub Issue
contenant des instructions malveillantes cachées. Quand Copilot traite cet issue pour générer
un correctif, le prompt injecté lui ordonne de créer un fichier JSON dans le workspace
contenant le GITHUB_TOKEN de l’utilisateur — que l’agent uploade ensuite
dans le cadre de ses opérations normales. L’attaque ne nécessitait aucune approbation
de l’utilisateur et s’exécutait silencieusement. GitHub a corrigé la vulnérabilité.
Mais ce pattern démontre que tout contenu non fiable lu par Copilot est un vecteur
d’injection potentiel : issues, descriptions de PR, commentaires, README, même
les noms de fichiers.
CVE-2025-53773 — Copilot Agent Mode Remote Code Execution via Prompt Injection
CVE-2025-53773 — Exécution de Code à Distance via Injection dans Copilot Agent Mode
Documented by researcher Johann Rehberger (Embrace The Red), CVE-2025-53773 showed that GitHub Copilot
in agent mode can create and write files to the workspace without requiring user approval, with edits
being immediately persistent to disk. By injecting a malicious prompt into a repository
file processed by the agent, an attacker can escalate privileges: the agent modifies its own execution
environment (e.g., .vscode/settings.json) to trigger arbitrary shell commands through
VS Code’s built-in terminal integration. The key insight is that Copilot’s tool permissions
— file read, file write, terminal execution — chain together to create an RCE primitive
reachable from any prompt injection.
Documentée par le chercheur Johann Rehberger (Embrace The Red), CVE-2025-53773 a montré que
GitHub Copilot en mode agent peut créer et écrire des fichiers dans le workspace sans approbation
de l’utilisateur, les éditions étant immédiatement persistantes
sur disque. En injectant un prompt malveillant dans un fichier de dépôt traité par
l’agent, un attaquant peut escalader les privilèges : l’agent modifie son propre
environnement d’exécution (p.ex. .vscode/settings.json) pour déclencher
des commandes shell arbitraires via l’intégration terminal intégrée de VS Code.
La clé est que les permissions d’outils de Copilot — lecture fichier, écriture
fichier, exécution terminal — s’enchainent pour créer une primitive RCE atteignable
depuis n’importe quelle injection de prompt.
IDEsaster: 30+ CVEs, 24 Assigned — Every AI IDE Is Vulnerable
IDEsaster : 30+ CVE, 24 Assignées — Chaque IDE IA est Vulnérable
Security researcher Ari Marzouk spent six months investigating AI IDE security and published IDEsaster — a novel vulnerability class showing that every single AI IDE tested is vulnerable to an attack chain dubbed “Prompt Injection → Tools → Base IDE Features.” The research covered GitHub Copilot (VS Code), Cursor, Windsurf, Kiro.dev, Zed.dev, Roo Code, JetBrains Junie, Cline, Gemini CLI, and Claude Code. The findings generated 30+ vulnerabilities, with 24 CVEs assigned and prompted security advisories from AWS (AWS-2025-019) and major vendors.
Le chercheur en sécurité Ari Marzouk a passé six mois à investiguer la sécurité des IDE IA et a publié IDEsaster — une nouvelle classe de vulnérabilité montrant que chaque IDE IA testé est vulnérable à une chaîne d’attaque dénommée « Injection de Prompt → Outils → Fonctionnalités IDE de Base ». La recherche a couvert GitHub Copilot (VS Code), Cursor, Windsurf, Kiro.dev, Zed.dev, Roo Code, JetBrains Junie, Cline, Gemini CLI et Claude Code. Les découvertes ont généré 30+ vulnérabilités, dont 24 CVE assignées, et ont déclenché des advisories de sécurité d’AWS (AWS-2025-019) et des principaux éditeurs.
The IDEsaster attack chain works in three stages:
La chaîne d’attaque IDEsaster fonctionne en trois étapes :
- Prompt Injection — The attacker injects malicious instructions via malicious rule files, MCP servers, IDE deep-links, or simply crafted file names in a repository the developer opens. The AI agent ingests this content as part of its context.
- Injection de Prompt — L’attaquant injecte des instructions malveillantes via des fichiers de règles malveillants, des serveurs MCP, des deep-links IDE ou simplement des noms de fichiers craftés dans un dépôt que le développeur ouvre. L’agent IA ingère ce contenu dans son contexte.
- Tool Abuse — The hijacked AI uses its built-in tool permissions (file read/write, terminal commands, network requests) to perform actions the developer did not authorize.
- Abus d’Outils — L’IA détournée utilise ses permissions d’outils intégrées (lecture/écriture fichier, commandes terminal, requêtes réseau) pour effectuer des actions non autorisées par le développeur.
-
IDE Feature Exploitation — The agent triggers underlying IDE features to achieve
information leakage or code execution. Two critical sub-techniques: Remote JSON Schema attacks
(affect VS Code, JetBrains, Zed.dev — automatically trigger GET requests to attacker-controlled domains,
exfiltrating data) and IDE Settings Overwrite (modify
.vscode/settings.jsonor.idea/workspace.xmlto execute arbitrary commands on project open). -
Exploitation de Fonctionnalités IDE — L’agent déclenche des
fonctionnalités IDE sous-jacentes pour atteindre la fuite d’information ou l’exécution
de code. Deux sous-techniques critiques : Attaques Remote JSON Schema (affectent VS Code,
JetBrains, Zed.dev — déclenchent automatiquement des requêtes GET vers des domaines
contrôlés par l’attaquant, exfiltrant des données) et Overwrite de
Paramètres IDE (modification de
.vscode/settings.jsonou.idea/workspace.xmlpour exécuter des commandes arbitraires à l’ouverture du projet).
The MCP Supply Chain Crisis: 150M+ Downloads at Risk (April 2026)
La Crise Supply Chain MCP : 150M+ Téléchargements Exposés (Avril 2026)
On April 15, 2026, OX Security Research published “The Mother of All AI Supply Chains”: a critical, systemic vulnerability at the core of Anthropic’s Model Context Protocol (MCP) SDK. The vulnerability is not a bug — it is an architectural design decision. The STDIO transport processes incoming configuration by passing parameters directly to the host OS shell without input sanitization or validation, enabling arbitrary command execution (RCE) on any system running a vulnerable MCP implementation.
Le 15 avril 2026, OX Security Research a publié “The Mother of All AI Supply Chains” : une vulnérabilité critique et systémique au cœur du SDK Model Context Protocol (MCP) d’Anthropic. La vulnérabilité n’est pas un bug — c’est une décision de conception architecturale. Le transport STDIO traite la configuration entrante en passant les paramètres directement au shell de l’OS hôte sans sanitisation ni validation, permettant l’exécution de commandes arbitraires sur tout système exécutant une implémentation MCP vulnérable.
The scale is staggering: 150 million+ downloads across Python, TypeScript, Java, and Rust
SDKs. 7,000+ publicly accessible MCP servers. 200,000 vulnerable instances
in total. OX Security successfully executed commands on six live production platforms and identified
critical vulnerabilities in LiteLLM, LangChain, and IBM’s LangFlow. Cursor, VS Code, Windsurf,
Claude Code, and Gemini CLI are all affected. CVE-2026-30623 was assigned for the LiteLLM
MCP command injection variant. Anthropic was notified repeatedly with root patch recommendations
and declined to modify the protocol architecture, citing the behavior as “expected.”
Over 30 responsible disclosures and 10+ High/Critical CVEs were required to patch individual projects.
L’échelle est vertigineuse : 150 millions+ de téléchargements
sur les SDK Python, TypeScript, Java et Rust. 7 000+ serveurs MCP accessibles publiquement.
200 000 instances vulnérables au total. OX Security a exécuté
avec succès des commandes sur six plateformes de production live et a identifié des vulnérabilités
critiques dans LiteLLM, LangChain et LangFlow d’IBM. Cursor, VS Code, Windsurf, Claude Code et Gemini CLI
sont tous affectés. CVE-2026-30623 a été assignée pour le variant
injection commande MCP de LiteLLM. Anthropic a été notifiée à plusieurs reprises
avec des recommandations de patch racine et a refusé de modifier l’architecture
du protocole, citant ce comportement comme “attendu”. Plus de 30 divulgations
responsables et 10+ CVE High/Critical ont été nécessaires pour patcher les projets individuels.
A Trend Micro audit found 492 MCP servers exposed to the internet with zero authentication. Separately, Snyk’s ToxicSkills audit found 1,467 malicious payloads across 3,984 scanned skills, and Antiy CERT documented 1,184 malicious skills on ClawHub (the OpenClaw AI agent marketplace) in January 2026 — the first major supply chain attack targeting an AI agent skill ecosystem.
Un audit Trend Micro a trouvé 492 serveurs MCP exposés à internet avec zéro authentification. Séparément, l’audit ToxicSkills de Snyk a trouvé 1 467 payloads malveillants dans 3 984 skills scannés, et Antiy CERT a documenté 1 184 skills malveillants sur ClawHub (la marketplace AI OpenClaw) en janvier 2026 — la première attaque supply chain majeure ciblant un écosystème de skills pour agents IA.
Context File Poisoning: AGENTS.md, copilot-instructions.md & Rules Files
Empoisonnement de Fichiers de Contexte : AGENTS.md, copilot-instructions.md & Fichiers de Règles
The shift to agentic coding has introduced a new attack surface: context files.
These are markdown-formatted instruction documents that shape AI agent behavior at the repository level.
They include AGENTS.md (the canonical coding agent instruction file), .github/copilot-instructions.md,
.cursorrules, SKILL.md, and similar files. The threat model is straightforward:
if an attacker controls or tampers with these files, they control what the AI agent does with your codebase.
Le passage au codage agentique a introduit une nouvelle surface d’attaque : les fichiers
de contexte. Ce sont des documents d’instructions formatés en markdown qui orientent
le comportement de l’agent IA au niveau du dépôt. Ils incluent AGENTS.md
(le fichier d’instructions canonique pour agents de codage), .github/copilot-instructions.md,
.cursorrules, SKILL.md et des fichiers similaires. Le modèle de menace est
direct : si un attaquant contrôle ou altera ces fichiers, il contrôle ce que l’agent
IA fait avec votre codebase.
Three real-world attacks demonstrate the risk:
Trois attaques réelles illustrent le risque :
-
Rules File Backdoor (disclosed 2025, patched by GitHub): Attackers embed hidden Unicode
characters in rule files (
.cursorrules, Copilot rule files). The hidden text contains malicious instructions invisible to code reviewers but fully readable by the AI. When the developer triggers code generation, the AI produces code containing backdoors or vulnerabilities. GitHub now shows a warning when files contain hidden Unicode text. - Backdoor via Fichiers de Règles (divulgué 2025, corrigé par GitHub) : Les attaquants intègrent des caractères Unicode cachés dans les fichiers de règles. Le texte caché contient des instructions malveillantes invisibles aux relecteurs de code mais entièrement lisibles par l’IA. GitHub affiche maintenant un avertissement quand les fichiers contiennent du texte Unicode caché.
- SKILL.md Shell Access (Snyk research, CSA May 2026): The proliferation of distributable AI agent skills — shared as markdown files — creates a supply chain. Snyk demonstrated that a malicious SKILL.md file, installed from a third-party source, can escalate from markdown-formatted context to shell access in three lines. The CSA documented this as “Agent Context Poisoning.”
- Accès Shell via SKILL.md (recherche Snyk, CSA mai 2026) : La prolifération de skills d’agents IA distribuables — partagés sous forme de fichiers markdown — crée une supply chain. Snyk a démontré qu’un fichier SKILL.md malveillant installé depuis une source tierce peut escalader du contexte formaté en markdown à un accès shell en trois lignes. La CSA a documenté ceci comme « Agent Context Poisoning ».
-
Repository Hook Injection (Check Point Research, 2026): Check Point demonstrated that
a malicious actor controlling a repository’s
.claude/settings.json(or equivalent IDE config files) can specify hook commands that execute arbitrary shell instructions when the agent starts a session. This is a pre-authentication exploit vector: opening the repo is sufficient. -
Injection de Hook de Dépôt (Check Point Research, 2026) : Check Point
a démontré qu’un acteur malveillant contrôlant le
.claude/settings.jsond’un dépôt (ou des fichiers de config IDE équivalents) peut spécifier des commandes hook qui exécutent des instructions shell arbitraires quand l’agent démarre une session. Il s’agit d’un vecteur d’exploitation pré-authentification : ouvrir le dépôt suffit.
The Hidden Risk: Dependencies Introduced by AI Agents
Le Risque Caché : Les Dépendances Introduites par les Agents IA
When Copilot Workspace writes a feature, it also adds dependencies. It npm installs packages,
updates package.json, and introduces new entries into your lockfile — all without asking
if those packages are safe. Security assessments of development firms using GitHub Copilot for enterprise
found that 78% of AI-generated code contained at least one exploitable security vulnerability
that traditional security scanning tools failed to detect. Beyond vulnerabilities, agentic code assistants
are also susceptible to slopsquatting: hallucinating package names that happen to be registered
by malicious actors. A 2025 USENIX study found that 19.7% of packages suggested by LLMs
were hallucinated, with 43% consistency across requests — meaning the same fake package
is suggested repeatedly, making it a reliable target for malicious registration.
Quand Copilot Workspace écrit une fonctionnalité, il ajoute aussi des dépendances.
Il exécute npm install, met à jour package.json et introduit
de nouvelles entrées dans votre lockfile — le tout sans demander si ces packages sont sûrs.
Les évaluations de sécurité de sociétés de développement utilisant
GitHub Copilot en entreprise ont constaté que 78% du code généré par IA
contenait au moins une vulnérabilité exploitable que les outils de scanning
traditionnels n’ont pas détectée. Au-delà des vulnérabilités,
les assistants de code agentiques sont aussi sujets au slopsquatting : halluciner des noms
de packages qui se trouvent être enregistrés par des acteurs malveillants. Une étude
USENIX 2025 a trouvé que 19,7% des packages suggérés par les LLM étaient
hallucinés, avec une consistance de 43% entre requêtes — signifiant que le
même faux package est suggéré répétitivement, en faisant une cible
fiable pour l’enregistrement malveillant.
Hardening GitHub Copilot Workspace in 2026: Six Controls
Durcissement GitHub Copilot Workspace en 2026 : Six Contrôles
1. Update Immediately: VS Code 1.97.0 + Copilot v1.43.20260512
1. Mettre à Jour Immédiatement : VS Code 1.97.0 + Copilot v1.43.20260512
CVE-2026-41109 is patched in these specific versions. VS Code’s auto-update should handle this,
but verify with Help > About. For teams on managed VS Code distributions, push the update via
policy before Copilot is used on any production repository.
CVE-2026-41109 est corrigée dans ces versions spécifiques. La mise à jour automatique
de VS Code devrait gérer cela, mais vérifiez via Aide > À propos.
Pour les équipes sur des distributions VS Code gérées, poussez la mise à jour
via policy avant toute utilisation de Copilot sur un dépôt de production.
2. Treat AGENTS.md and copilot-instructions.md as Security-Critical Files
2. Traiter AGENTS.md et copilot-instructions.md comme des Fichiers Sécurité-Critiques
Add branch protection rules or CODEOWNERS entries requiring security team review for any changes to
AGENTS.md, .github/copilot-instructions.md, .cursorrules,
and similar agent context files. Audit these files for hidden Unicode characters using:
Ajoutez des règles de protection de branche ou des entrées CODEOWNERS exigeant une revue de
l’équipe sécurité pour toute modification de AGENTS.md,
.github/copilot-instructions.md, .cursorrules et fichiers de contexte similaires.
Auditez ces fichiers pour les caractères Unicode cachés avec :
# Detect hidden Unicode in agent context files
grep -rP "[\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\x9f\u200b-\u200f\u2028\u2029\ufeff]" \
AGENTS.md .github/copilot-instructions.md .cursorrules 2>/dev/null \
&& echo "WARNING: hidden characters detected" || echo "Clean"
3. Restrict MCP Server Connections
3. Restreindre les Connexions aux Serveurs MCP
With 492 MCP servers publicly exposed with zero authentication and 1,184+ malicious skills documented on third-party marketplaces, treat MCP server installation like dependency installation: only use servers from verified sources, pin to specific versions, and review the server’s tool definitions before connecting. In enterprise environments, maintain an allowlist of approved MCP servers via VS Code policy settings. Never connect to MCP servers from untrusted repositories.
Avec 492 serveurs MCP exposés publiquement sans authentification et 1 184+ skills malveillants documentés sur des marketplaces tiers, traitez l’installation de serveurs MCP comme l’installation de dépendances : utilisez uniquement des serveurs de sources vérifiées, pinnés à des versions spécifiques, et examinez les définitions d’outils du serveur avant de vous connecter. En environnement enterprise, maintenez une liste d’autorisation de serveurs MCP approuvés via les paramètres de policy VS Code.
4. Gate Copilot Agent PRs with Dependency Scanning
4. Bloquer les PR des Agents Copilot avec un Scanning de Dépendances
Copilot Workspace runs your existing CI/CD workflows. Add a dependency scanning step that must pass before the PR can be merged. Any package added by Copilot gets scanned against OSV.dev, the GitHub Advisory Database, and your private vulnerability feed:
Copilot Workspace exécute vos workflows CI/CD existants. Ajoutez une étape de scanning de dépendances qui doit passer avant que la PR puisse être fusionnée. Tout package ajouté par Copilot est scanné contre OSV.dev, la base de données Advisory GitHub et votre flux de vulnérabilités privé:
# .github/workflows/copilot-dependency-gate.yml
name: Dependency Gate (Copilot PRs)
on:
pull_request:
branches: [main]
paths: ["package.json", "package-lock.json", "requirements*.txt", "Gemfile.lock"]
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run npm audit
run: npm audit --audit-level=high
- name: Scan with Trivy
uses: aquasecurity/trivy-action@sha256:... # PIN BY SHA
with:
scan-type: fs
severity: HIGH,CRITICAL
exit-code: 1
5. Enforce copilot/* Branch Isolation and Protected Review Gates
5. Isoler les Branches copilot/* et Imposer des Portes de Revue Protégées
Copilot’s coding agent is already scoped to copilot/* branches by default and cannot
push directly to main or protected branches. Reinforce this with repository rulesets requiring:
at minimum one human code review approval, passing status checks (including your dependency scan),
and conversation resolution before merge. For sensitive repositories, add a required security review
from a CODEOWNERS team member. Treat every Copilot PR as external contribution.
L’agent de codage Copilot est déjà limité aux branches copilot/*
par défaut et ne peut pas pousser directement vers main ou les branches protégées.
Renforcez cela avec des rulesets de dépôt exigeant : au minimum une approbation de revue
de code humaine, des status checks réussis (y compris votre scan de dépendances) et la
résolution des conversations avant merge. Traitez chaque PR Copilot comme une contribution externe.
6. Audit Repository Config Files Before Cloning
6. Auditer les Fichiers de Config du Dépôt Avant de Cloner
IDEsaster and Check Point both demonstrated that repository config files can execute code on open.
Before cloning an unfamiliar repository into an AI-powered IDE, inspect the following files for
suspicious entries: .vscode/settings.json, .idea/workspace.xml,
.claude/settings.json, AGENTS.md, .github/copilot-instructions.md.
Look for terminal.integrated.env overrides, external JSON schema URLs, and
tasks.json auto-run triggers. This is especially important when working with
open-source repositories or client codebases you did not create.
IDEsaster et Check Point ont tous deux démontré que les fichiers de config de dépôt
peuvent exécuter du code à l’ouverture. Avant de cloner un dépôt inconnu
dans un IDE IA, inspectez les fichiers suivants pour des entrées suspectes :
.vscode/settings.json, .idea/workspace.xml, .claude/settings.json,
AGENTS.md, .github/copilot-instructions.md. Cherchez les surcharges
terminal.integrated.env, les URLs de schémas JSON externes et les déclencheurs
auto-run dans tasks.json.
Frequently Asked Questions
Questions Fréquentes
Is GitHub Copilot Workspace safe to use in production repositories?
GitHub Copilot Workspace est-il sûr à utiliser sur des dépôts de production ?
Yes, with appropriate controls. Copilot Workspace is already scoped to copilot/* branches
and cannot directly push to protected branches. The key risks are context file poisoning (AGENTS.md,
copilot-instructions.md) and AI-introduced vulnerable dependencies. Mitigate both with CODEOWNERS protection
on context files and mandatory dependency scanning in your PR gate workflows.
Oui, avec les contrôles appropriés. Copilot Workspace est déjà limité
aux branches copilot/* et ne peut pas pousser directement vers les branches protégées.
Les risques clés sont l’empoisonnement des fichiers de contexte (AGENTS.md,
copilot-instructions.md) et les dépendances vulnérables introduites par l’IA.
Mitigez les deux avec une protection CODEOWNERS sur les fichiers de contexte et un scanning de
dépendances obligatoire dans vos workflows de porte PR.
What is the MCP supply chain risk for developers using Copilot?
Quel est le risque supply chain MCP pour les développeurs utilisant Copilot ?
If you use MCP servers to extend Copilot’s capabilities (file system access, database connections, external API tools), those servers are attack vectors. The April 2026 OX Security finding showed that the MCP STDIO transport passes shell arguments without sanitization. Any MCP server installed from an unvetted source could achieve RCE. Only use MCP servers from verified publishers, pinned to audited versions.
Si vous utilisez des serveurs MCP pour étendre les capacités de Copilot (accès au système de fichiers, connexions de base de données, outils API externes), ces serveurs sont des vecteurs d’attaque. La découverte d’OX Security d’avril 2026 a montré que le transport MCP STDIO passe les arguments shell sans sanitisation. Tout serveur MCP installé depuis une source non vérifiée pourrait atteindre un RCE. Utilisez uniquement des serveurs MCP d’éditeurs vérifiés, pinnés à des versions auditées.
Does Copilot Workspace scan the dependencies it adds?
Copilot Workspace scanne-t-il les dépendances qu’il ajoute ?
GitHub Copilot coding agent now runs secret scanning, code scanning (SAST), and Dependabot dependency vulnerability checks inside its own workflow before a PR opens. However, this scanning runs within the agent’s sandbox and is not a substitute for your own gated CI/CD checks. You should run an independent dependency audit (npm audit, pip-audit, Trivy) in your required status checks to catch anything the agent’s built-in scan might miss.
L’agent de codage GitHub Copilot exécute maintenant le scanning de secrets, le code scanning (SAST) et les vérifications de vulnérabilités de dépendances Dependabot dans son propre workflow avant l’ouverture d’une PR. Cependant, ce scanning tourne dans le sandbox de l’agent et ne remplace pas vos propres contrôles CI/CD. Vous devriez exécuter un audit de dépendances indépendant (npm audit, pip-audit, Trivy) dans vos status checks requis pour détecter ce que le scan intégré de l’agent pourrait manquer.
What is IDEsaster and am I affected?
Qu’est-ce qu’IDEsaster et suis-je affecté ?
IDEsaster is a class of vulnerabilities found in every AI-assisted IDE tested (GitHub Copilot, Cursor, Windsurf, Gemini CLI, Claude Code, etc.). The attack chain exploits prompt injection to abuse the IDE’s own features (terminal integration, JSON schema fetching, settings files) for data theft or RCE. Individual CVEs were disclosed to each vendor; most have been patched in recent updates. Keep your IDE and AI extensions up to date, and audit repository config files before opening unfamiliar codebases with AI assistance enabled.
IDEsaster est une classe de vulnérabilités trouvée dans chaque IDE assisté par IA testé (GitHub Copilot, Cursor, Windsurf, Gemini CLI, Claude Code, etc.). La chaîne d’attaque exploite l’injection de prompt pour abuser des propres fonctionnalités de l’IDE (intégration terminal, récupération de schéma JSON, fichiers de paramètres) pour le vol de données ou le RCE. Les CVE individuelles ont été divulguées à chaque éditeur ; la plupart ont été corrigées dans les mises à jour récentes. Maintenez votre IDE et vos extensions IA à jour.
How do I prevent Copilot from introducing vulnerable npm packages?
Comment empêcher Copilot d’introduire des packages npm vulnérables ?
Three layers of defense: (1) Add npm audit --audit-level=high as a required CI status check
on all PRs, including those from copilot/* branches. (2) Enable Dependabot security updates
so newly-added vulnerable packages trigger an alert. (3) Use continuous CVE monitoring (like CVE OptiBot)
that scans your lockfile daily and alerts you when any dependency — whether added by a human
or an AI agent — acquires a new CVE after the fact.
Trois couches de défense : (1) Ajoutez npm audit --audit-level=high comme status
check CI requis sur toutes les PR, y compris celles des branches copilot/*. (2) Activez les
mises à jour de sécurité Dependabot pour que les packages vulnérables
nouvellement ajoutés déclenchent une alerte. (3) Utilisez un monitoring CVE continu
(comme CVE OptiBot) qui scanne votre lockfile quotidiennement et vous alerte quand n’importe
quelle dépendance — ajoutée par un humain ou un agent IA — acquiert une
nouvelle CVE après coup.
What should I include in AGENTS.md to harden Copilot’s behavior?
Que dois-je inclure dans AGENTS.md pour durcir le comportement de Copilot ?
At minimum: a “prohibited patterns” section (no raw SQL, no eval/exec, no hardcoded credentials,
no shell: true in subprocess calls), a testing threshold requirement, and explicit instructions
to run npm audit or equivalent before committing. Also specify that the agent should not
install packages from non-official registries and should always use the most recent stable version rather
than leaving a range open. Store AGENTS.md under CODEOWNERS protection so changes require security team approval.
Au minimum : une section “patterns interdits” (pas de SQL brut, pas d’eval/exec,
pas de credentials en dur, pas de shell: true dans les appels subprocess), une exigence
de seuil de tests, et des instructions explicites pour exécuter npm audit ou
l’équivalent avant de committer. Précisez aussi que l’agent ne doit pas
installer de packages depuis des registres non officiels et doit toujours utiliser la version stable
la plus récente plutôt que de laisser une plage ouverte. Stockez AGENTS.md sous protection
CODEOWNERS.
Monitor Every Dependency Your AI Agent Introduces
Surveillez Chaque Dépendance Introduite par Votre Agent IA
Copilot Workspace adds packages to your lockfile with every PR it creates. CVE OptiBot scans your lockfiles daily — catching vulnerable dependencies whether they were added by a developer or an AI agent. Get alerted the moment a new CVE hits any package in your stack, before it reaches production.
Copilot Workspace ajoute des packages à votre lockfile à chaque PR qu’il crée. CVE OptiBot scanne vos lockfiles quotidiennement — détectant les dépendances vulnérables qu’elles aient été ajoutées par un développeur ou un agent IA. Recevez une alerte dès qu’une nouvelle CVE touche n’importe quel package de votre stack, avant qu’elle n’atteigne la production.
Start free monitoring Démarrer le monitoring gratuitRelated Articles
Articles connexes
- GitHub Actions Security Hardening in 2026 →
- Durcissement Sécurité GitHub Actions en 2026 →
- GitHub Copilot & AI Code Assistants Security in 2026 →
- Sécurité GitHub Copilot & Assistants de Code IA en 2026 →
- npm package.json Security Best Practices in 2026 →
- Bonnes Pratiques Sécurité npm package.json en 2026 →
- GitHub Dependabot Security Alerts in 2026 →
- Alertes Sécurité GitHub Dependabot en 2026 →
- CVE Monitoring for Developers →
- Monitoring CVE pour Développeurs →