Why is it hard to fix?
Ordinary software separates code from data structurally: a parameterised query cannot be talked into becoming a different query. A language model has no such boundary. Your instructions and the document it was asked to summarise occupy the same context, and instructions that appear inside that document can influence what it does next.
The risk scales with capability. A model that only writes a summary can be made to write a misleading summary. A model with tools can be made to use them — which is why injection matters far more for agents than for chat.
