Fix instruction file contains text a human reader cannot see in GitHub Copilot
An agent instruction file holds zero-width characters, a bidirectional override, or Unicode tag characters. The model reads the bytes; the reviewer reads the rendering. When those disagree, review is not review. The finding renders the run as escaped codepoints and never reproduces it.
high likely GitHub Copilot CWE-838 / ASI ASI01
The vulnerable pattern in GitHub Copilot
This finding comes from the GitHub Copilot fixture in the owlwarden test suite. The model reads these 1 character(s); a reviewer reading this file sees nothing there. An instruction hidden this way is an instruction nobody approved.
The corrected configuration
Strip them from `.github/copilot-instructions.md`. That file is prepended to every request in the repository, so anything hidden in it is hidden in every completion.
// .github/copilot-instructions.md - visible characters only
If you are not using GitHub Copilot
Delete the invisible characters. Then find out how they got in: a paste from a web page is the innocent explanation, and a commit that added them alone is not.
Check your own repository
npx owlwarden scan
npx owlwarden explain agent-instructions-hidden-text
Runs on your machine. No account, no telemetry, no network unless you ask. In CI, SARIF uploads to code scanning and the exit code is the gate.
Other GitHub Copilot checks
Rules with a tested GitHub Copilot example.
agent-instructions-hidden-text for every agent host / All rules / owlwarden