Like buffer overflows, and raw sql, and …
But I guess it’s good that noble people are reminding us that the things that were a thing yesterday are still things today and will be things tomorrow.
> Like buffer overflows, and raw sql, and …
Those are fixable. Prompt injection is not.
Not really an accurate comparison since buffer overflows and sql injection are bugs which ultimately allow user data to co-mingle with executable code. LLMs take user data and mix it with the "executable code" (if we are extremely generous in our description of a user prompt) by design.
The issue here is unavoidable because LLMs are broken by design. There is no encapsulation where you can separate instructions and data because LLMs are nothing more than next-token predictors and the input sequence MUST be a sequence. They can't build a model with one stream for instructions and another for data because the training data they stole from the internet and books is a single stream.