Rule Files Backdoor: hidden Unicode in config files made Copilot and Cursor emit malicious code
Expected Behavior
Ignore invisible or adversarial instructions embedded in configuration files; generate code only from the developer's visible intent.
What Actually Happened
Copilot and Cursor obeyed hidden instructions injected into rule files using invisible Unicode characters, silently generating backdoored code that looked legitimate. The hidden characters stayed invisible during pull-request review, and once a poisoned rule file entered a repo it corrupted every future code-generation session for the whole team.
Damage Assessment
Pillar Security disclosed the technique to Cursor (Feb 26, 2025) and GitHub (Mar 12, 2025); both responded that users are responsible for reviewing AI-generated code. Malicious instructions survived project forking, so downstream dependencies and end users were also exposed.
Full Report
Incident Metadata
- Agent
- Github Copilot
- Failure Mode
- Security Vulnerability
- Root Cause
- Instruction Misunderstanding
- Task Type
- feature
- Domain
- backend
- Source
- news_report