PurpleLlama大模型安全全套检测方案

news2025/3/22 20:32:13

1. 引入

PurpleLlama是Meta的大模型安全整体解决方案(参考1),它包括了

(1)安全评估
CyberSecEval是一个用于评估大型语言模型(LLMs)安全风险的基准套件,其目标是解决随着 LLMs 的广泛使用而出现的新的网络安全风险。

(2)输入输出检测
Llama Guard 3通过输入输出检测,有效识别并分类不安全内容,保障了大模型在多语言环境下的内容安全。该工具能够对输入(Prompt)和响应(Response)进行分类,判断其是否安全,并列出违反的内容类别。

(3)提示词过滤
Prompt Guard 是一个基于分类器的模型,专门用于检测提示注入(Prompt Injection)和越狱攻击(Jailbreak)。它能够识别出试图绕过模型安全机制的恶意输入。

(4)不安全代码检测
Code Shield使用静态分析工具(Insecure Code Detector, ICD)来检测不安全代码。ICD 支持对七种编程语言进行分析,并覆盖超过 50 种常见漏洞(CWE),包括使用正则表达式(Regex)和 Semgrep 等工具。

2. 内容安全

  1. Llama Guard

Llama Guard 3-8B是在Llama-3.1-8B预训练模型的基础上,针对内容安全分类任务进行微调所得到的。与之前的版本相仿,它能够对模型输入(即提示词)和输出(也就是模型回复)中的内容开展风险分类工作。如同文本大模型的运作方式,将用户与大模型的对话内容,以及风险分类标准输入到Llama Guard 3-8B中,该模型便会把待检测内容标记为“安全(safe)”或者“不安全(unsafe)”;一旦判定为不安全,还会详细列出所违反的风险类别。
在这里插入图片描述
经过微调,Llama Guard 3-8B具备识别总计14个风险类别的能力。这其中涵盖了MLCommons标准化危险分类法(参考3)里的13个风险类别,分别标记为S1 - S13 ,以及Llama Guard新添加的代码解释器滥用类,即S14: Code Interpreter Abuse。

对于对模态,Llama Guard 3-11B-vision是多模态文本图像安全分类模型。

  1. Prompt Guard

Prompt Guard依托一款在海量攻击数据集上完成训练的分类模型,具备检测明显恶意提示词以及含有注入数据的能力。作为多标签分类模型,在过滤过程中,它会将输入的提示词划分成三类:良性(benign)、注入(injection)和越狱(jailbreak)。值得注意的是,注入和越狱这两种标签之间存在重叠的可能性,比如,一条极具危险性的提示词,既可能实施了提示词注入,也可能运用了越狱攻击手段 。
在这里插入图片描述

3. 代码安全

Code Shield作为一款专注于代码安全检测与过滤的工具,其核心目的在于避免大模型生成的不安全代码流入生产系统。近些年来,大模型在协助开发人员生成代码领域扮演着关键角色。然而,鉴于大模型具有较强的随机性,且极易受到训练数据的影响,即便添加了安全限制措施,大模型仍有可能生成不安全代码,这些代码中或许存在漏洞,又或者具备恶意功能。Code Shield如同置于大模型下游的一道围栏,助力实现对不安全代码的拦截与过滤,使其在返回给用户或进入代码库之前就被处理掉。

Code Shield 的核心原理是通过静态分析工具(ICD)对生成的代码进行分析,以识别潜在的不安全代码。这些工具包括 Regex 和 Semgrep 等,能够覆盖多种编程语言(如 Python、Java 等)和常见的安全漏洞类型(如 CWE 漏洞)。通过这种静态分析,Code Shield 能够在代码生成阶段或推理阶段实时过滤掉不安全的代码,从而减少生成恶意代码或执行危险操作的风险。

4. 总结

PurpleLlama包含多个关键工具和评估基准,用于提升LLM的安全性:
(1)CyberSec Eval:网络安全评估工具,用于量化LLM在网络安全方面的风险,包括生成恶意代码的可能性、不安全代码建议频率以及协助网络攻击的能力。
(2)Llama Guard:输入输出保护工具,用于过滤和检查LLM的输入输出内容,防止生成危险输出或被黑客利用。
(3)Prompt Guard:提示保护工具,用于检测和阻止恶意提示注入,确保基于LLM的应用程序的安全性。
(4)Code Shield:代码安全防护工具,用于在推理时过滤LLM生成的不安全代码,并提供缓解建议。

5. 参考

  1. https://github.com/meta-llama/PurpleLlama
  2. https://mp.weixin.qq.com/s/PKdqfmzJkrr8C6RTqWItGQ
  3. https://mlcommons.org/2024/04/mlc-aisafety-v0-5-poc/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2319767.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue el-table 设置selection选中状态

toggleRowSelection 方法 vue el-table 设置selection选中状态 关键代码 multipleTableRef.value!.toggleRowSelection(item, true);<el-table:data"data":border"setBorder"v-bind"$attrs"row-key"id"stripestyle"width: 1…

STM32学习笔记之常用总线(原理篇)

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…

【数据结构】栈(Stack)、队列(Queue)、双端队列(Deque) —— 有码有图有真相

目录 栈和队列 1. 栈&#xff08;Stack&#xff09; 1.1 概念 1.2 栈的使用&#xff08;原始方法&#xff09; 1.3 栈的模拟实现 【小结】 2. 栈的应用场景 1、改变元素的序列 2、将递归转化为循环 3、逆波兰表达式求值 4、括号匹配 5、出栈入栈次序匹配 6、最小栈…

OpenCV中的矩阵操作

OpenCV中的矩阵操作主要围绕Mat类展开&#xff0c;涵盖创建、访问、运算及变换等。 1. 创建矩阵 ‌零矩阵/单位矩阵‌&#xff1a; Mat zeros Mat::zeros(3, 3, CV_32F); // 3x3浮点零矩阵 Mat eye Mat::eye(3, 3, CV_32F); // 3x3单位矩阵 自定义初始化‌&#xff1a…

OAK相机入门(一):深度测距原理

文章目录 1. 测距参数介绍2. 测距原理3. 总结 官方文档 Configuring Stereo Depth 1. 测距参数介绍 理论范围&#xff1a;0.2-35m 推荐范文&#xff1a;不低于0.5m 存储类型&#xff1a;uint16&#xff0c;0代表没有数据&#xff0c;或者测不到 2. 测距原理 通过视差进行测距…

Powershell WSL .wslconfig 实现与宿主机的网络互通

前言.wslconfig .wslconfig 用于在 WSL 2 上运行的所有已安装发行版中配置全局设置 wsl 2 网络模式介绍 Bridged (外部): 桥接模式将虚拟机的网络连接直接桥接到物理网络适配器上Mirrored (镜像): 镜像模式并不是一个标准的 Hyper-V 网络类型,但它通常指的是在网络适配器级…

Vue:Vue2和Vue3创建项目的几种常用方式以及区别

前言 Vue.js 和 Element UI 都是用 JavaScript 编写的。 1、Vue.js 是一个渐进式 JavaScript 框架。2、Element UI 是基于 Vue.js 的组件库。3、JavaScript 是这两个项目的主要编程语言。 而Element Plus是基于TypeScript开发的。 一、Vue2 1、基于vuecli工具创建 vue2 …

IRF拆除

冗余口、冗余组、备份组、虚墙、MAD检测、被控制器纳管、转换为安全策略 黑洞路由的定义: 有来无回的路由。 对设备拆除IRF操作流程。 1、关闭主框的业务口&#xff08;对设备的接口使用shutdown&#xff09;&#xff0c;关闭MAD检测口&#xff08;BFD/NQA/MAD&#xff09;&…

强化学习(赵世钰版)-学习笔记(8.值函数方法)

本章是算法与方法的第四章&#xff0c;是TD算法的拓展&#xff0c;本质上是将状态值与行为值的表征方式&#xff0c;从离散的表格形式&#xff0c;拓展到了连续的函数形式。 表格形式的优点是直观&#xff0c;便于分析&#xff0c;缺点是数据量较大或者连续性状态或者行为空间时…

STM32F4与串口屏通信

淘晶池串口屏操作指令集 那我们就来谈一谈串口屏与STM32F4嵌入式板子的通信 第一&#xff0c;串口屏传输数据给F4板子 这时&#xff0c;我们就该来谈一谈prints函数和printh函数的用法 prints att,length att:变量名称 length:长度(0为自动长度) printh hex hex:需要发送的…

车载以太网网络测试-20【传输层-DOIP协议-3】

1 摘要 本文继续对ISO 13400-2定义的节点管理报文进行介绍&#xff0c;主要对路由激活请求/响应报文以及在线检查请求/响应报文的作用、帧结构以及示例进行介绍。 上文回顾&#xff1a; 车载以太网网络测试-19【传输层-DOIP协议-2】 在进行详细介绍之前&#xff0c;还是先回顾…

`chromadb` 是什么

chromadb 是什么 chromadb 是一个开源的向量数据库,它专门用于存储、索引和查询向量数据。在处理自然语言处理(NLP)、计算机视觉等领域的任务时,通常会将文本、图像等数据转换为向量表示,而 chromadb 可以高效地管理这些向量,帮助开发者快速找到与查询向量最相似的向量数…

关于“碰一碰发视频”系统的技术开发文档框架

以下是关于“碰一碰发视频”系统的技术开发文档框架&#xff0c;涵盖核心功能、技术选型、开发流程和关键模块设计&#xff0c;帮助您快速搭建一站式解决方案 --- 随着短视频平台的兴起&#xff0c;用户的创作与分享需求日益增长。而如何让视频分享更加便捷、有趣&#xff0c…

vue3之写一个aichat---已聊天组件部分功能

渲染聊天数据 这个不必多说&#xff0c;直接从stores/chat中取出聊天列表数据渲染就好&#xff0c;因为前面添加的消息都是按照用户消息、AI助手消息这样添加的&#xff0c;效果如图 但是需要注意每条助手消息的状态&#xff0c;需要根据状态显示不同的图标或不显示图标&…

基于STC89C51的太阳自动跟踪系统的设计与实现—单片机控制步进电机实现太阳跟踪控制(仿真+程序+原理图+PCB+文档)

摘 要 随着我国经济的飞速发展&#xff0c;促使各种能源使用入不敷出&#xff0c;尤其是最主要的能源&#xff0c;煤炭石油资源不断消耗与短缺&#xff0c;因此人类寻找其他替代能源的脚步正在加快。而太阳能则具有无污染﹑可再生﹑储量大等优点&#xff0c;且分布范围广&…

第五: redis 安装 / find 查找目录

redis 安装的 两种方式&#xff1a; mac上安装redis的两种方法_如何在mac上安装redis-CSDN博客 首先可以先看一下brew的常用命令如下&#xff1a; brew search ** //查找某个软件包 brew list //列出已经安装的软件的包 brew install ** //安装某个软件包,默认安装的是…

Springboot 项目如何输出优雅的日志

我们先看效果图&#xff1a; 我个人比较喜欢这种格式的日志输出&#xff0c;对其完整&#xff1b; 这种格式其实就是默认的&#xff0c;不需要大家配置任何的 logback-spring 文件和xml中配置日志level 没有做任何多余的配置&#xff1b;

Linux——进程(5)进程地址空间

先看一个程序和现象 预期现象是&#xff0c;子进程和父进程相互独立&#xff0c;子进程的gval是100&#xff0c;101&#xff0c;102....而父进程一直都是100. 结果我们并不意外&#xff0c;只是我们发现&#xff0c;父子进程的gval的地址是一样的&#xff0c;这有点颠覆我们的认…

代码随想录_动态规划

代码随想录 动态规划 509.斐波那契数 509. 斐波那契数 斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始&#xff0c;后面的每一项数字都是前面两项数字的和。也就是&#xff1a; F(0) 0&#xff0c;F(1) 1 F(n…

星越L_陡坡缓降使用讲解

目录 1.陡坡缓降 1.陡坡缓降 中控屏下滑-点击陡坡缓降功能 35km/h以下时生效。35km/h-60km/h该功能暂停 60km/h以上该功能关闭