> Are we just screwed and should make sure chat bots just run in a proverbial sandbox and can’t do anything themselves?
Yes, but "screwed" might not be the right word to use. Prompt hijacking doesn't make a chat bot useless, but it does mean you should be feeding their output into a separate sanitizer before you consume it in another part of your system.
LLMs are not designed to perfectly reliably sanitize their own output; the extent to which ChatGPT does is the result of a number of very clever training "hacks" that discourage it away from certain types of answers. But there is no substitute for doing your own sanitization. You should treat output from ChatGPT as if it is human-written input. Not just for ChatGPT, for any model like this.
Ideally, you should be sandboxing and sanitizing output from any system that is doing manipulation of text that you don't control. ChatGPT doesn't really change anything or introduce any new risks in that regard, it's basically the same security concerns you should have always had.
There will likely be clever(er) "hacks" in the future to sanitize GPT output more, but I am of the opinion that prompt attacks are impossible to fully prevent inside the model itself. But again, treat it the exact same way you would treat any other input (ideally, treat it like you would treat user input). And if you're sandboxing in a way where a user sending input directly through your sanitizer couldn't break it, then you're also sanitizing for anything ChatGPT can throw at it.