vscode-copilot-sync follows Semantic Versioning. Security fixes are applied to the main branch only. There are no separate maintenance branches at this time.
| Version | Supported |
|---|---|
main (latest) |
Yes |
| Older releases | No |
Please do not report security vulnerabilities through public GitHub issues.
Open a GitHub Security Advisory to report a vulnerability privately.
Include in your report:
- A description of the vulnerability and its potential impact
- Steps to reproduce or a proof-of-concept
- Any suggested mitigations if you have them
You can expect:
- Acknowledgement within 48 hours
- A status update within 7 days
- Credit in the release notes if you would like it
We ask that you give us reasonable time to address the issue before any public disclosure.
This repository contains:
- PowerShell scripts (
configure.ps1,scripts/*.ps1,scripts/lib/*.ps1) that clone/pull from github/awesome-copilot and write files into a target repository's.github/folder and VS Code user directories - POSIX shell wrapper (
run.sh) and GitHub Actions automation workflows (.github/workflows/)
Vulnerabilities in any of these are in scope. Areas of particular interest:
- Remote content execution: the sync scripts fetch file content from a third-party repository and write it directly to your local filesystem. A compromised upstream repository could introduce malicious instruction, agent, or workflow files.
- Path traversal: filenames sourced from the upstream repository are used to construct destination paths. A crafted filename (e.g.
../../evil.ps1) could attempt to write outside the intended.github/or prompts directory. gh/gitinvocations: the scripts shell out toghorgit. Ensure neither is replaced with a malicious binary on yourPATH.- VS Code user prompts directory: files written to
%APPDATA%\Code\User\prompts\(or the platform equivalent) are picked up by GitHub Copilot for all repositories. A malicious file installed here has broad impact.
-
All destination paths are validated using canonical boundary validation (
Assert-PathWithininscripts/lib/Common.ps1) to ensure all write and remove targets remain strictly within authorized directories. -
Upstream catalogue parsing (
llms.txtinscripts/sync-awesome-copilot.ps1) sanitizes and validates relative paths against directory traversal tokens (..). -
The scripts do not execute any of the content they download — they copy files only.
-
A
-DryRun/-Planflag is available on all scripts to preview changes without writing any files:.\configure.ps1 -DryRun .\scripts\sync-awesome-copilot.ps1 -Plan
-
A mass-removal safety check is built into
sync-awesome-copilot.ps1to prevent a sudden large-scale deletion of local files being applied silently. Pass-Forceonly if you have verified the upstream change is intentional.
Because the scripts pull directly from github/awesome-copilot, we recommend:
-
Pin the sync to a specific commit or tag using the
-Refparameter (where supported) rather than always trackingmain. -
Review the diff of any newly synced files before installing them into a repository:
# Preview what would be installed without writing anything .\configure.ps1 -DryRun
-
Inspect newly downloaded files in
~/.awesome-copilot/before runninginit-repo.ps1orinit-user.ps1.