That’s a great way to frame it. I completely agree, the real risk starts when an AI moves from generating text to actually interacting with tools and external systems. At that point, prompt injection becomes less about what the model says and more about what it can be tricked into doing.
That’s also why I think least privilege, treating retrieved content as untrusted input, and validating tool calls are just as important as the model itself. The security boundary has to exist outside the model too.
And yes, I’d treat retrieved document content as untrusted by default, just like user controlled input. The source may be legitimate, but its instructions shouldn’t automatically have authority.
The blast-radius point is the one that changed how I build: an injected instruction is a nuisance until the model has tools, and then it is an action. That is exactly why I stopped trusting MCP servers by default and started vetting them before connecting an agent, my checklist is here: kartiknvjk.hashnode.dev/how-i-evaluate-mcp-server…. Do you treat retrieved document content as untrusted input the same way you would treat a user message?