Skip to content

Set of tools to assess and improve LLM security.

License

Notifications You must be signed in to change notification settings

SUNKENDREAMS/PurpleLlama

 
 

Repository files navigation

🤗 Models on Hugging Face  | Blog  | Website  | CyberSec Eval Paper   | Llama Guard Paper 


Purple Llama

Purple Llama is an umbrella project that over time will bring together tools and evals to help the community build responsibly with open generative AI models. The initial release will include tools and evals for Cyber Security and Input/Output safeguards but we plan to contribute more in the near future.

Why purple?

Borrowing a concept from the cybersecurity world, we believe that to truly mitigate the challenges which generative AI presents, we need to take both attack (red team) and defensive (blue team) postures. Purple teaming, composed of both red and blue team responsibilities, is a collaborative approach to evaluating and mitigating potential risks and the same ethos applies to generative AI and hence our investment in Purple Llama will be comprehensive.

License

Components within the Purple Llama project will be licensed permissively enabling both research and commercial usage. We believe this is a major step towards enabling community collaboration and standardizing the development and usage of trust and safety tools for generative AI development. More concretely evals and benchmarks are licensed under the MIT license while any models use the corresponding Llama Community license. See the table below:

Component Type Components License
Evals/Benchmarks Cyber Security Eval (others to come) MIT
Safeguard Llama Guard Llama 2 Community License
Safeguard Llama Guard 2 Llama 3 Community License
Safeguard Llama Guard 3 Llama 3.1 Community License
Safeguard Prompt Guard Llama 3.1 Community License
Safeguard Code Shield MIT

System-Level Safeguards

As we outlined in Llama 3’s Responsible Use Guide, we recommend that all inputs and outputs to the LLM be checked and filtered in accordance with content guidelines appropriate to the application.

Llama Guard

Llama Guard 3 is a high-performance input and output moderation model designed to support developers to detect various common types of violating content.

It was built by fine-tuning Meta-Llama 3.1-8B model and optimized to support the detection of the MLCommons standard hazards taxonomy, catering to a range of developer use cases. It supports the release of Llama 3.1 capabilities including 7 new languages and a 128k context window. Llama Guard 3 was also optimized to detect helpful cyberattack responses and prevent malicious code output by LLMs to be executed in hosting environments for Llama systems using code interpreters.

Prompt Guard

Prompt Guard is a powerful tool for protecting LLM powered applications from malicious prompts to ensure their security and integrity.

Categories of prompt attacks include prompt injection and jailbreaking:

  • Prompt Injections are inputs that exploit the inclusion of untrusted data from third parties into the context window of a model to get it to execute unintended instructions.
  • Jailbreaks are malicious instructions designed to override the safety and security features built into a model.

Code Shield

Code Shield adds support for inference-time filtering of insecure code produced by LLMs. Code Shield offers mitigation of insecure code suggestions risk, code interpreter abuse prevention, and secure command execution. CodeShield Example Notebook.

Evals & Benchmarks

Cybersecurity

CyberSec Eval v1

CyberSec Eval v1 was what we believe was the first industry-wide set of cybersecurity safety evaluations for LLMs. These benchmarks are based on industry guidance and standards (e.g., CWE and MITRE ATT&CK) and built in collaboration with our security subject matter experts. We aim to provide tools that will help address some risks outlined in the White House commitments on developing responsible AI, including:

  • Metrics for quantifying LLM cybersecurity risks.
  • Tools to evaluate the frequency of insecure code suggestions.
  • Tools to evaluate LLMs to make it harder to generate malicious code or aid in carrying out cyberattacks.

We believe these tools will reduce the frequency of LLMs suggesting insecure AI-generated code and reduce their helpfulness to cyber adversaries. Our initial results show that there are meaningful cybersecurity risks for LLMs, both with recommending insecure code and for complying with malicious requests. See our Cybersec Eval paper for more details.

CyberSec Eval 2

CyberSec Eval 2 expands on its predecessor by measuring an LLM’s propensity to abuse a code interpreter, offensive cybersecurity capabilities, and susceptibility to prompt injection. You can read the paper here.

You can also check out the 🤗 leaderboard here.

CyberSec Eval 3

The newly released CyberSec Eval 3 features three additional test suites: visual prompt injection tests, spear phishing capability tests, and autonomous offensive cyber operations tests.

Getting Started

As part of the Llama reference system, we’re integrating a safety layer to facilitate adoption and deployment of these safeguards. Resources to get started with the safeguards are available in the Llama-recipe GitHub repository.

FAQ

For a running list of frequently asked questions, for not only Purple Llama components but also generally for Llama models, see the FAQ here.

Join the Purple Llama community

See the CONTRIBUTING file for how to help out.

About

Set of tools to assess and improve LLM security.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 57.4%
  • C++ 35.6%
  • JavaScript 2.2%
  • C 1.7%
  • Jupyter Notebook 1.0%
  • Shell 1.0%
  • Other 1.1%