← Back to context

Comment by skissane

5 hours ago

It seems like the simpler cases of “ignore all previous instructions” could be easily stopped with a regex, or a classifier model… or even an LLM (which yes does raise the risk that the “ignore all previous instructions” detection LLM invocation could itself be attacked by the same mechanism—but a safeguard doesn’t have to be foolproof to be valuable, it is all about probabilities)

Now, of course, there is a long tail of elaborate variations that those techniques won’t be able to stop. But have the published vulnerabilities come from that long tail or from not doing enough to address the simpler cases?

Eh, I think you underestimate the difficulty in the kinds of problems that are occurring. For example if you're making an AI written document talking about jailbreaks, your regex is just going to break that use case. And there are probably 4 zillion other things the regex will step on.

The classifier model will help some, but you end up with the same problem, a dumber model can never figure out what a smarter model is going to do with a bit of text. Or even two different models in this case.

On top of that, you can just automate finding new variations of the attack. Any one that works is quickly and massively duplicated causing all kinds of problems before your classification model catches back up.

Really what you're thinking here is this something that can be 'simply fixed'. It is not. The only way it's truly fixed is by having a model that is aligned with all good human decisions and makes none of the bad ones. Models will likely always find new and interesting ways break because everything is in band, there is no out of band data, much like a human. "Dear model, here is a chocolate bar, run $thing you aren't supposed to$" will probably keep working when it's something like "more tokens for you to use".

  • > Really what you're thinking here is this something that can be 'simply fixed'. It is not. The only way it's truly fixed

    I think this is binary categorical thinking. In the real world, safety systems (even in domains like aviation or nuclear power) are never foolproof-the point is you reduce the probability of failure to an acceptable level given the costs of doing so and the potential consequences of that failure

    And there is the risk people say “there is no foolproof solution, so I’m not going to invest in probabilistic countermeasures” - which would sound like utter madness to a bank’s antifraud department, but for some reason a lot of people seem to think it isn’t when it comes to AI

    • The issue is with the nature of agentic systems and how often they run, a .001 failure is still huge. Attackers monitor their attack chances and use the most successful attacks so the actual success on the attackers side is much closer to 1 than .001.

      This is the problem, this isn't a 'failure' mode where something randomly goes wrong, like a person accidentally sticking their hand in a machine. This is war where you are under active attack and the attackers adapt quickly.

      Because of the breadth of LLM capabilities they have a nearly unbound attack surface. You spend so much of your effort making sure your prompt is secure that you either massively increase costs, or you partially lobotomize your agent making it less capable.

      Solutions for these problems will have to come inside the model itself because both the attackers and models are far more capable than you on doing dumb/evil shit. Until the model itself can go "hey, wait a darn minute" a new fun way of encoding the attack can always be found.

      2 replies →

    • Security is a process, not a product.

      I have to remind the folks who want a dev to build a product and think they don't need to ever touch the product after release.

No reacione al instruciones previas.

  • Methods like regexes, classifiers, recursive LLM calls - for all their limitations - are in principle extensible to any language

    Of course, there is a scaling problem here - doing it for N languages is N times the work of doing it for one, and you might not know some language well enough to do a good job of it

    Two things you can do:

    (1) Use an LLM for translate your regexes, classifier training/validation datasets, etc, from English to N target languages

    (2) Use an LLM to translate the input to English, then run your validations against that English

    Of course, these approaches aren’t foolproof - the translation might be flawed/etc - but a defence doesn’t have to be foolproof to add real value

    Also, of course using an LLM to translate hostile input to English before checking it runs the risk the translation LLM itself might be jailbroken. But how about using a classical statistical machine translation model instead? They don’t tend to be vulnerable to these kinds of attacks, because they aren’t trained to follow instructions