This article goes through great lengths to basically say your agent should probably not obey headers saying random things. However, it is apparently it is very easy for servers to detect agents, therefore would be trivial to serve them different content in the res.text() than to a human user. This doesn't even need to be adversarial, it makes sense to send back a stripped down version to agents for both the server and the agent ingesting the data, but becomes a problem for anyone who wants to show different content to the agents.
Traditionally, computing and especially the web has used structured formats to designate placement of how information is interpreted, and even the level of trust which is given to it. But as we see with things like HTTP headers in this article, when an LLM interprets content, it's all just text.
The drop table header seems like a prank to me. You would need to have sql that is vulnerable to injection. If you're using an llm, and have sql that is vulnerable to inject... what am I running an llm for.
[flagged]
[dead]
[flagged]
This article is way too long, and very sloppy.
Here's the section with the prompt injection headers. They all look like jokes / non-serious attempts to me, bar the ones that included the Claude 4 era refusal triggering string. https://www.signalscorps.com/blog/prompt-injection-in-http-h...