PurpleLlama
Meta 开源的 LLM 安全紫队工具包,集内容审核、提示词防御、代码审计、安全基准测试于一身
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Meta 开源的 LLM 安全紫队工具包,集内容审核、提示词防御、代码审计、安全基准测试于一身
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:Purple Llama 项目 Logo
凌晨两点,某公司程序员小张正在调试一个由大语言模型驱动的代码助手。他输入了一行 innocent 的请求:"帮我优化这个排序算法"。模型"好心"地返回了一段代码——代码本身没问题,但执行时会偷偷读取环境变量并上传到远程服务器。这是模型的"幻觉"吗?不是。这是模型被**提示词注入(Prompt Injection)**攻击了。
这只是冰山一角。随着 LLM 渗透到客服、代码生成、数据分析等关键场景,模型自身的安全漏洞正在成为系统级风险。LLM 可能:泄露用户隐私数据、生成恶意代码、提供有害内容、被恶意指令劫持……传统的安全手段(如输入过滤、访问控制)对这种"内生性"风险力不从心。
Meta Purple Llama 正是为解决这一问题而生的开源工具集。
Purple Llama 的命名借鉴了网络安全领域经典的 Purple Teaming(紫队) 理念。在传统网络安全中:
Meta 认为,LLM 安全同样需要这种全面的视角——既要有能力评估模型的风险(攻击视角),也要有工具加固部署中的模型(防御视角)。Purple Llama 就是 Meta 为开源社区提供的紫队工具包,涵盖评估基准、安全护栏(Safeguard)和基准测试三大类组件。
Purple Llama 并非单一工具,而是一套模块化安全组件集合,分为系统级护栏和评测基准两大类:
Llama Guard 系列:输入/输出内容审查模型
Llama Guard 是 Meta 为 Llama 系列模型专门微调的安全护栏模型,目前已有 4 代迭代(Llama Guard → Llama Guard 2 → Llama Guard 3 → Llama Guard 4),参数规模从 7B 到 11B 不等,并支持图像多模态(Llama Guard 3-11B-vision)。它基于 MLCommons 标准危害分类法,能够检测包括色情内容、暴力、仇恨言论、自伤、犯罪建议等多种违规类别。Llama Guard 3 还新增了对 7 种语言的支持和 128K 超长上下文窗口。
使用方式上,Llama Guard 本质是一个推理模型,需要下载权重(通过 Meta 官网申请许可后获取下载链接),然后用标准 transformers 加载:
from transformers import AutoModelForSequenceClassification
model = AutoModelForSequenceClassification.from_pretrained("meta-llama/Llama-Guard-3-8B")
模型会对输入和输出内容打分,标记是否包含违规类别。这是典型的内容安全网关(Content Safety Gateway) 模式,在生产环境中通常部署在 LLM 的前后两端,过滤有害输入和输出。
Prompt Guard:专门针对提示词攻击的分类器
Prompt Guard 是一个专注于提示词攻击检测的分类模型,能够识别两类攻击:
Prompt Guard 的优势在于无需针对具体攻击手法训练——它通过大量真实攻击样本训练,能够泛化检测新型变种攻击。这是 Purple Llama 中相对"年轻"的组件,代表了 Meta 对新兴攻击向量的快速响应能力。
Code Shield:代码安全审计工具

图2:Llama Guard 工作流程示意
Code Shield 是 Purple Llama 中纯代码层的防护组件,专注于检测 LLM 生成的不安全代码。它的核心能力包括:
Code Shield 内部基于 Semgrep(一个静态代码分析工具)实现规则检测,并通过 CodeShield Python 类提供异步扫描接口:
result = await CodeShield.scan_code(user_provided_code, language=Language.Python)
if result.is_insecure:
# 阻止或警告
SensitiveDocClassification / classifyit:敏感文档分类工具
该项目提供了一个本地运行的敏感文档扫描工具,支持对文档内容进行分类(如个人身份信息、财务数据、健康记录等),使用 Tesseract OCR + NLP 技术处理扫描件和图片格式文档,并提供 CLI 和 Python API 两种使用方式。包含 Dockerfile,可在容器中运行。
LlamaFirewall:多层 AI 安全扫描框架
LlamaFirewall 是 Purple Llama 中架构最完整的组件,是一个专为 AI 系统设计的多层安全扫描框架(版本 1.0.3)。它整合了 CodeShield 的代码安全检测能力,并扩展支持多步骤 Agent 操作的端到端安全评估。核心依赖包括 PyTorch、Transformers、HuggingFace Hub 和 OpenAI SDK,提供 CLI 工具 llamafirewall 和 Python API 两种接入方式。
CyberSec Eval v1/v2/v3:行业首个 LLM 网络安全评测基准
CyberSec Eval 是 Purple Llama 中最具行业影响力的组件——Meta 声称这是业内首个面向 LLM 的网络安全评测基准:
这些基准测试帮助开发者在发布 LLM 前量化评估其安全风险,并可在 HuggingFace Leaderboard 查看各模型评分。
模块化插件架构:Purple Llama 采用"伞形项目"结构,每个安全组件独立子目录(Llama-Guard、CodeShield、CybersecurityBenchmarks 等),各自有独立的 LICENSE、README 和依赖配置。这种设计允许开发者按需引入,而不必引入整个工具包。
AI 框架使用:Llama Guard 和 Prompt Guard 依赖 Hugging Face Transformers + PyTorch;CodeShield 基于 Semgrep(静态分析) + PyYAML;LlamaFirewall 整合了 OpenAI SDK(兼容各类 LLM API)。
代码质量评估:LlamaFirewall 有完整的 tests/ 目录和 pyproject.toml 打包配置,CodeShield 有 example.py 和 notebook 示例,整体符合 Meta 内部工程标准(有 fbpython 注释和 Pyre 类型检查)。Llama Guard 模型部分依赖 Meta 内部的 llama-recipes 训练框架。
上手难度:中等。Llama Guard 等模型组件需要开发者有基本的 ML 部署经验(transformers 模型加载、GPU 推理),但 CodeShield 可直接 pip 安装,开箱即用。LlamaFirewall 的 CLI 工具对命令行用户友好。
部署方式选择:
pip install codeshield),在 LLM 返回代码前做同步安全检查Llama Guard 特别注意:Llama Guard 权重不能直接从 HuggingFace Hub 下载,必须通过 Meta 官网申请(需同意 Llama Community License),收到邮件中的签名下载链接后才能获取。这对需要快速集成的团队是一个额外门槛。
硬件需求:模型推理(Llama Guard 8B)建议 8GB+ 显存 GPU;CodeShield 作为静态分析工具对硬件无特殊要求;LlamaFirewall 如果用于 Agent 场景,硬件需求取决于所保护的底层 LLM。
Purple Llama 的发布标志着大厂从"闭源安全方案"向"开源安全工具集"的转变。Meta 开放这些工具,有几层战略考量:
从行业趋势看,"安全护栏即服务"正在成为 LLM 部署的标准配置。Purple Llama 作为 Meta 出品的工具集,在与 Meta 系列模型(如 Llama 3.1/3.2)的整合上有天然优势,是 Llama 开发者最值得优先考虑的安全方案之一。
技术总结:Purple Llama 是 Meta 推出的 LLM 安全工具集,通过 Llama Guard(内容护栏)、Prompt Guard(提示词攻击检测)、Code Shield(代码安全审计)、CyberSec Eval(安全基准测试)四大核心组件,为开源社区提供"攻防一体"的安全能力覆盖。适合需要为 LLM 应用添加多层安全防护的开发者和企业安全团队。