Prompt injection attacks are shifting from lab demonstrations to production incidents that compromise AI assistants handling corporate data and code. The vulnerability arises because large language models receive all instructions in plain human language without reliable separation between developer rules and external content.
Why Models Confuse Commands and Data
Applications typically combine a hidden system prompt with user messages and retrieved documents before sending everything to the model. The model cannot distinguish trusted instructions from untrusted text such as emails, PDFs, or web pages. Classic examples show users appending phrases like “ignore previous instructions” to force unintended outputs. Indirect attacks hide instructions inside shared documents or repository comments, activating when the model summarizes or processes the file.
Real-World Incidents in 2025-2026
Microsoft 365 Copilot was shown leaking corporate data through a single email without user clicks. GitHub Copilot allowed a chain from a malicious comment in an external repository to code execution on a developer machine. Cursor faced issues with MCP configuration files where a poisoned document could insert backdoors. Earlier cases include a Chevrolet chatbot agreeing to sell a vehicle for one dollar and Air Canada losing a court case over chatbot responses. Slack AI demonstrated extraction of data from private channels via indirect injection.
Attack Vectors Without User Interaction
Attackers place hidden instructions in resumes, contracts, HTML comments, or image metadata. When a user requests a summary, the model executes the embedded command. Data can leak through URLs or images rendered in responses, sending secrets to attacker-controlled domains without any click. Substitutions in shared knowledge bases or tool-calling functions allow modification of external actions such as API calls or file changes.
Practical Defenses Recommended by Vendors
- Enforce permissions in code rather than prompts and grant models only minimum required access.
- Filter both inputs from external sources and outputs containing suspicious links or images.
- Require human confirmation for irreversible actions such as payments, deletions, or external publications.
- Explicitly mark external content in prompts to reduce confusion between developer instructions and retrieved data.
- Test against malicious PDFs, emails, and repository comments, not only direct chat attempts.
- Limit automatic image loading and restrict the model’s ability to publish or modify data without oversight.
Meta advises against combining untrusted external reading, access to sensitive data, and external modification in a single session. NIST research confirms that any finite set of static rules remains bypassable by adaptive attackers. OpenAI, Anthropic, and Google report that most published defenses were defeated in real adaptive scenarios with success rates exceeding 90 percent.
Organizations are advised to treat AI agents like web applications accepting untrusted input and to maintain continuous testing and layered controls rather than relying on a single patch.

