23 of 37 checked automatically

How to use it

  • Once at setup, work through sections A to G.
  • Fix every P1 item before doing any work on company code. P2 items close important gaps; P3 items are good practice.
  • Items with an audit check ID are verified automatically by the Copilot Security Audit. Re-run it monthly and after every VS Code or extension upgrade. Items without one are confirmed by hand.
  • Keep the completed checklist with your saved audit report as your assessment record.

A. Installation and identity

#CheckPriorityAudit check
A1VS Code is 1.132.1 or later (CVE-2026-70335), and Visual Studio 2022 is 17.14.26 or later where used.P1I01
A2The GitHub Copilot Chat extension is 1.123.2 or later (CVE-2026-45482).P1I02
A3The Copilot CLI is current, and its automatic updates stay on.P2manual
A4Work code runs under your organisation's Copilot Business or Enterprise seat, so its policies apply.P1manual

B. Approvals and trust

#CheckPriorityAudit check
B1chat.tools.global.autoApprove (and the old chat.tools.autoApprove) is off, enforced with the ChatToolsAutoApprove policy where possible.P1V02
B2chat.permissions.default is "default"; Bypass Approvals and Autopilot are chosen per session only.P2V03
B3chat.tools.terminal.autoApprove lists only read-only commands, with no shells, deletes, network tools or /.*/ patterns.P1V04
B4chat.tools.edits.autoApprove doesn't cover **/*, .vscode/, .github/, .env or lockfiles.P2V05
B5Workspace Trust is on, and folders you didn't create open in restricted mode.P1V06
B6chat.tools.urls.autoApprove has no wildcard entries.P2V10

C. Sandbox and the Copilot CLI

#CheckPriorityAudit check
C1The VS Code agent terminal sandbox is on (chat.agent.sandbox.enabled: "on") with chat.agent.sandbox.allowNetwork set to false.P1V07
C2The Copilot CLI sandbox is on (sandbox.enabled in ~/.copilot/settings.json).P1L01
C3permissions.disableBypassPermissionsMode is "disable", and no alias or export adds --yolo, --allow-all or COPILOT_ALLOW_ALL.P1L04, S01
C4Saved approvals in ~/.copilot/permissions-config.json are reviewed, and allowedUrls has no wildcards.P2L02, L03

D. Extensions: MCP servers, plugins and extensions

#CheckPriorityAudit check
D1Every MCP server in VS Code and the CLI is approved and pinned to a version.P1M01, M03
D2Servers that read content outsiders write (errors, tickets, chat, email) have read-only scopes.P2M02
D3chat.mcp.discovery.enabled is false.P3V09
D4Extensions and plugins come only from your organisation's allowlist (AllowedExtensions policy) and their updates are reviewed.P2manual

E. Repositories

#CheckPriorityAudit check
E1Before trusting a folder, its .vscode/settings.json is checked for agent, trust and sandbox settings.P1P01
E2Project MCP servers in .vscode/mcp.json, .mcp.json and .github/mcp.json are reviewed.P1P02, P03, P04
E3Instruction files (.github/copilot-instructions.md, .github/instructions/, AGENTS.md, CLAUDE.md, agents and prompts) are read, and checked for hidden Unicode.P1P05, P06
E4.github/hooks/ and .github/copilot/settings.json are read before the Copilot CLI runs in the repository.P1P08, P12
E5Symlinks are listed and none points at .vscode/, .github/ or a dotfile.P1P10
E6Repositories that arrive with their own .git/config are checked for core.hooksPath, core.fsmonitor and filter drivers.P2P11
E7.env files are gitignored.P2P09

F. Copilot cloud agent

#CheckPriorityAudit check
F1The cloud agent is enabled only on repositories with branch protection and a required second reviewer.P1manual
F2Only issues a person has read are assigned to Copilot.P1manual
F3The agent firewall is on, with additions only for what a build needs.P1manual
F4"Approve and run workflows" is still required for the agent's pull requests.P1manual
F5copilot-setup-steps.yml pins actions by SHA and downloads no scripts.P2P07
F6Cloud agent MCP servers come from the organisation's allowlist, list only the tools they need, and receive only COPILOT_MCP_ secrets they need.P2manual

G. Working habits

#CheckPriorityAudit check
G1Instruction-like text in issues, pull requests, file names and READMEs is read by a person before Copilot acts on it, and Codespaces aren't opened from unread issues.P1manual
G2Secret scanning with push protection is on for every repository you work in.P1manual
G3Agent pull requests are reviewed like outside contributions, lockfiles and dependency URLs included.P1manual
G4No production credentials in the environment Copilot runs in.P1manual
G5Content exclusions are not relied on to hide files from agent mode.P2manual
G6Suspicious agent behaviour is reported to the security team the same day.P2manual

Sources

Informational only, with no guarantee of a vulnerability-free setup, so test every configuration in your own environment. AISecurityLabs.org is independent and not affiliated with GitHub or Microsoft. Setting names change often, so check them against the reference for your version.