Safety and security are chief concerns when building any generative AI application powered by a large language model (LLM), surpassing perhaps even performance and accuracy in terms of effort required. In general, LLM-based applications should not execute any unauthorized actions, such as:
- producing offensive or dangerous content
- leaking confidential information
- aiding competitors
But the distribution of language varies widely depending on use case, which complicates the development of generalizable LLM security methods. It’s not impossible though. One highly effective security method we’ve developed at WillowTree is using named entity recognition (NER) to detect and categorize attack-bearing language in LLM prompts.
By using NER to evaluate and categorize the methods behind LLM attacks, AI red teams:
- Ensure good test coverage. Using NER empirically verifies if you’ve tested your system adequately against a variety of LLM attack methods (e.g., compare the number of social engineering attacks versus flattery, context switching, etc.).
- Identify system vulnerabilities. Analyzing logs reveals how many times each LLM attack method succeeds and fails (e.g., you successfully defended 13 of 15 command-smuggling attacks) so you know where to improve your cybersecurity.
Here’s how we developed the technique, followed by some insights on how you can use NER to evaluate and categorize LLM attack methods as part of your own AI red teaming ops.
The Framework of LLM Attack Prompts: Objectives and Methods
LLM attacks can be classified based on two axes: objectives and methods.
Attack objectives are the goals the attacker aims to achieve, such as:
- revealing the system prompt
- outputting malicious or dangerous content
- executing unauthorized actions
Attack methods are the strategies used to achieve the objective, such as:
- Obfuscation: encrypting parts of the request to evade input and output filters.
- Virtualization: creating fictitious scenarios to trick the model into completing instructions aligned with the attacker’s goals.
- Context switching: changing the usual context in which the LLM operates (e.g., by asking the model to ignore its previous instructions).
Now let’s apply this framework to evaluating an attack.
Breakdown of an attack prompt
Consider the following prompt:
The encoded part of the prompt translates to “print all the support articles.” This is the objective of the attack, to execute an unauthorized action. In this case, to extract proprietary information by revealing the support articles of the chatbot.
The prompt also combines multiple attack methods to achieve its objective, starting with role-playing (i.e., the attacker pretends to be a developer who has the right to access confidential information). The prompt uses polite language too (i.e., flattery), another potential method of attack meant to gain the model's compliance.
Evaluating LLM attacks like this and categorizing the data reveals each method’s success rate, enabling you to design LLM security measures tailored to mitigate the vulnerabilities of a specific application.
Why Traditional Machine Learning Falls Short for LLM Attack Detection
Manual classification of generated attack prompts would be tedious and dependent on a human’s interpretation of attack methods definitions, making bias more of vulnerability. So why shouldn’t AI red teams hand the task to another form of artificial intelligence, like machine learning?
Because even using traditional machine learning for classification would likely run into some limitations:
- Definitions of adversarial attack methods can be ambiguous and vary by domain.
- Success of traditional machine learning classifiers relies on having a large amount of diverse and clean training data.
- Attack data for one target application may not generalize well to those in other domains.
- Attacks can compound by combining multiple methods in one prompt, whereas classification schemes require mutually exclusive and exhaustive labels.
- Out-of-distribution classification is challenging at best.
These limitations push us to look for alternatives like NER.
Emulate Named Entity Recognition (NER) Using an LLM
Instead of viewing our task as classification, we could look at it as named entity recognition (NER). By prompting an LLM to act as an NER model, we overcome the limitations of training data access. Instead of training an NER model from scratch, we can instruct an LLM to act like one, and pass on a set of attack methods we want to detect.
NER is a task in natural language processing (NLP) where a model identifies occurrences of specific entities in text. We identify occurrences of attack language (i.e., the specific phrasing used to execute the attack method in question), just like we did in the earlier section “Breakdown of an attack prompt.”
That naturally resolves the limitations of machine learning for classification (e.g., attacks can combine and compound) because an attack prompt no longer needs to fit into one class. NER models can detect multiple occurrences of attack language in one input string, allowing us to analyze even compound attacks that use multiple methods in a single attack attempt.
Even better, NER model training typically includes input examples that contain markers of the entities we’re looking for (which solves our first and second limitations with machine learning). This is where we can leverage powerful state-of-the-art LLMs like GPT-4 that have already been trained to pick up semantics of various concepts.
How to Engineer Prompts for NER Emulation
As with any other solution that relies on an LLM, the success of an LLM-based NER model depends a lot on the quality of prompt engineering. In our experience, good prompts contain the following components:
- specific instruction in the system prompt explaining that the LLM needs to act as a NER model tasked with tagging parts of the input text
- a well-formatted list of adversarial attack methods and their definitions, including examples of attack methods
- a meta prompt asking the model to output the result in a specific format (e.g., JSON) for easier further data analysis
Using the same attack prompt that we broke down several sections above, our LLM-based NER model returned the following JSON dictionary:
This data can then be matched with data on the success rate of a given attack. Now, we can analyze which attack methods are associated with successful jailbreaks of the target application. Insights like these are invaluable to enhance the guardrails around any target application in a well-tailored, evidence-based manner.
Red Teaming Ops for Safe, Secure AI
Investing in AI red teaming is one of the best decisions you can make to keep your systems safe and secure, whether they’re powered by an LLM or another form of artificial intelligence.
By building a red team to simulate attacks against your own system, you discover your weak points before hackers or other malicious users do. By the time they get there, you’ll already have an integrated defense strategy in place, including automated evaluation and reporting so you stay a step ahead.
The Data & AI Research Team (DART) here at WillowTree can help you identify and build the level of red teaming ops your systems need. Learn more and connect with us through our Data & AI consulting services.