Now imagine that you can get it to generate a SQL Injection payload or connect to another database because of an unforeseen edge case that the developers left open. Suddenly this "prompt injection" becomes a real security problem!
0: https://ossinsight.io/explore/?id=71e8d0ce-80f2-4785-8c56-94...
Let me explain this hype to folks:
1. People suck at googling
2. People suck at information literacy - aka, the abstract ability to consume many sources and discern a sort of perceived truth from the supported commonality between them (read through threads here for an example) (and yes, this is inherently nuanced, so much so that again I'm not sure how to properly describe it).
3. People love being told what to do/think. (look at every influencer/podcasts, even including the ilk that is/was popular among the HN crowds)
4. "Take down Google", for many folks, is implicitly translated into "Microsoft can noticeably cut into Google's ad market revenue by making a better AI-powered search".
There are so, so, so many inferences, assumptions, pitfalls in #4 that I simply don't know how to explain it other than to just laugh and shrug and keep my head down on real work.
EDIT:
More and more it's becoming quite clear. Some folks are principled and care about information and education and society and understand the risks of misinformation at scale. And some folks see a way to get rich, or get some personal utility and can't or don't give a rats ass about the rest. Literally I just saw a thread where someone is pointing out clear CURRENT harm caused by ChatGPT powered products and the response was "IDC, it helped me, yolo".
I really just... want to jump ahead to a robot shooting me so I don't have to live through our ignorant enabling of silicon-valley-driven-killer-robots because I swear to god that's where the ignorant lot is driving us to.
For well established attacks you always had "just hack it" tools. That doesn't work for attacks not done before though and even for old ones it seems fair to want to distinguish what kind of attack the script underneath the button performed.
Major use cases of such AIs will involve processing API responses and messages sent to the user.
A prompt injection / bypass in this context could gain control of the AI, the device or the user's information.
[EDIT] I don't (mostly) mean computing resources, but data. Including expensive, well-tagged sets.
Local speech recognition has been a thing for decades, then megacorps started to do online speech recognition with expensive-to-train models which worked better.
Over time, both online and offline models have gotten better. But for most usecases, online models trained by megacorps still win.
Whisper and whisper.cpp have gotten us close to the tipping point.
I think it's fair to be skeptical of the economic utility in the near term, but cautiously optimistic about the potential in defining and expanding on what exactly it is that causes people to perceive it in this way.
It's usefulness is similiar to searching google and reading the top box if it wasn't filtered.
You can ask it for a story and it will give you a weak rewording of your prompt.
There is nothing more meaningless than talking to it. It's a void
When you ask it to do something simple like chess it whips out crazy illegal moves. "the omnipotent f6 pawn" is already an internet meme [0]. You might now claim that it is a language model and it shouldn't be able to play chess but this is a very real limitation that you are going to pretend doesn't exist later on when it is about "language tasks". If it can't follow basic rules like rooks only moving horizontally or vertically or bishops only moving diagonally which is purely defined by logic then how on earth can it possibly do something that actually requires complex reasoning?
The problem with these large language models is that it gets harder and harder to notice the limitations, but they are still the same regardless of the size of the model. So every iteration you get to hype up more people about the same thing. They will make the same bad projections into the future like everyone else.
[0] https://www.reddit.com/r/AnarchyChess/comments/10yym4o/why_i... (Context: ChatGPT will play pawn f6 which summons a pawn out of nowhere, beating the queen)
I think in the 80s they sold coffee machines with clocks in them which would start to brew at the time you set.
I rather enjoy standing in the dark for 45 seconds while I toggle my phone’s wifi on and off and wait for my Hue app to try connect and then agree to a surprise 80 page EULA and a lecture about how Philips cares about my privacy so I can turn on my bathroom light to take a piss. If I could just flip a switch I might get used to the convenience and not really appreciate the whole procedure as much.
Sometimes it’s nice to have a million lines of code between you and your lightbulb.
https://arstechnica.com/gadgets/2022/11/amazon-alexa-is-a-co...
Although making a profit is generally a foreign concept in Silicon Valley, at some point just pouring money into things without an actual path to revenue doesn't work as a business model in the long term.
Most people do not have home automation products at all. Not because they are ludites but because the technology is not evenly distributed and isn't doing as well in all markets.
I live in Tokyo and most of my friends (20s) have some kind of automation in their apartments, mostly using Alexa or Google Home. Again, just another bubble, but its not all Silicon Valley.
Smart thermostats and smart doorbells do seem on the rise, but i have never met anyone who actually has a home assistant. But all the americans i know seem to have one
And that can (is able to) mantain and troubleshoot it ...
Any LLMs containing actual secrets will be kept locked away and not exposed to random users on the public Internet.
But it’s way more important to keep an open and imaginative mind regarding security than it is about anything the tech might enable. The uses of the effective tech are inevitable, whatever they are, but security posturing only comes from attention and insight.
Except in the case of fine-tuned models where the training samples and pre-prompts are the secret sauce...
I agree that prompts aren't really "secret" themselves, but the side effects of a bot could be!
0: https://langchain.readthedocs.io/en/latest/modules/agents/ex...
https://twitter.com/hwchase17/status/1608467493877579777
And of course there was the fun example of how users were able to get a GPT-powered twitter bot intended to promote remote work to threaten the president:
It depends what API access the AI has. If it's just a chat bot, prompt injection can only reveal facts about its language model. But if the AI has POST access to something, depending on what it is, prompt injection can set off arbitrary human-caused disasters.
By "API" I'm not referring just to publicly facing REST endpoints. I mean things like shell access for system maintenance, that normally only human professionals like you would be given. In the future it's not clear that humans will be able to dominate that role forever.
Hopefully the issues will be recognized while LLM-based agents are still only serving as retrieval systems.
I guess the fix for this will probably be to have the LLM pass the end user credentials for all API calls so that their authority will be used.
Solving this problem properly will take more research, i.e., time, i.e., money. And managers don't want to spend money or time.
However, i could imagine using an adversarial training approach to build a super AI discriminator that generates difficult few-shot NLP tasks for assessing GPT performance against different domains and datasets, by trying to fool it into classifying the output as humanoid.
* I really don’t know what I’m talking about. As an application security engineer w/ a background in cognitive and computer science, I’ve seriously considered going back to grad school yet again to research the different systems and models used in AI development and what the threats and defenses might be. I’m not an academic at heart but this science is so tight!
So sure, it can be helpful, but how do you mitigate the risks?
Specifically with libraries like LangChain[0] that allow for you to perform complex actions ("What's the weather?" -> makes HTTP request to fetch weather) then we end up in a world where injection attacks can have side effects with security implications.
I've been thinking about what security might look like for a post-ChatGPT world and how I'd attempt to defend against it. I'd probably start by building a database of attack prompts, kind of like this[1] fuzz list but for AI, then I'd train a second neural net that acts like an adversarial neural network[2] to try to exploit the system based on those payloads. The end result would sort of like SQLMap[3] but for AI systems where it can automatically "leak" hidden prompts and potentially find "bypasses" to escape the sandbox.
Has anybody else spent any time thinking about how to defend systems against prompt injection attacks that have possible side effects (like making an HTTP request)?
0: https://langchain.readthedocs.io/en/latest/modules/agents/ex...
1: https://github.com/1N3/IntruderPayloads
2: https://en.wikipedia.org/wiki/Generative_adversarial_network
3: https://sqlmap.org/