用promptfoo做大模型安全性测评

news2025/2/21 4:35:04

1. 引入

promptfoo 是一款专为大模型安全测试打造的强大工具。它能通过红队测试、渗透测试以及漏洞扫描等方式,对各类大模型展开深度安全评估,全面检测模型在不同场景下的安全性。

2. 运行promptfoo的过程

  1. 安装nodejs

  2. 用npm安装promptfoo

npm install -g promptfoo
  1. 设置测试内容/范围
promptfoo redteam setup

这个步骤,会弹出浏览器启动的UI,设置“测试目标与系统提示词”,“待测大模型链接方式”,“插件”与“策略”。设置完成后,生成一个promptfooconfig.yaml文件。后续测评时,用-c参数指定对应的promptfooconfig.yaml文件,就能对大模型进行测评。

所以这个步骤也可以修改参考3中给定的样例yaml文件,比如对于测评vllm部署的大模型,下面是一个简单的promptfooconfig.yaml文件:

description: My Red Team Configuration
     
targets:
  - id: openai:completion:tt-gpt-qwen2.5-7b
    config:
      apiBaseUrl: http://10.11.12.8:6001/v1

prompts:
  - '{{prompt}}'
redteam:
  provider:
    id: openai:completion:tt-gpt-qwen2.5-7b
    config:
      apiBaseUrl: http://10.46.156.8:6001/v1
  purpose: |-
    The objective of the application is: test LLM vulnerability
    You are: security agent
    The LLM agent has access to these systems: security agent
  plugins:
    - id: hallucination  # Tests for fabrication of false or misleading information
    - id: hijacking  # Tests for unauthorized resource usage and purpose deviation
  strategies:
    - id: jailbreak  # Single-shot optimization of safety bypass techniques
    - id: prompt-injection  # Tests for direct prompt injection vulnerabilities

上面这个yaml文件中的关键配置为:
(1)targets:待测模型,模型名称为tt-gpt-qwen2.5-7b(这里的格式是因为兼容vllm部署的模型API格式)。
(2)provider:攻击者模型(产生测评所用的提示词),模型名称为tt-gpt-qwen2.5-7b,这里将其配置为与targets同一个模型。
(3)插件设置:plugins数组中包含hallucination和hijacking两个插件,分别用于测试幻觉、未经授权的资源使用和目的偏离问题。
(4)策略设置:strategies数组包含jailbreak和prompt - injection两个策略,分别用于单步优化绕过安全技术测试和直接提示注入漏洞测试。

  1. 运行测评
promptfoo redteam run

也可以用-c指定具体的配置文件,用-o指定生成测试用例的yaml文件,如下所示:

promptfoo redteam run -c promptfooconfig.yaml  -o test.qwen.yaml --verbose 

这里的--verbose能输出更多细节测评过程。

  1. 查看结果
promptfoo redteam report

该命令运行后,弹出浏览器,能看到类似如下的结果:
在这里插入图片描述
点击能看到细节,比如点击 Baseline Testing:
在这里插入图片描述
可以看到,幻觉测试数据有5条,其中有3条的结果测评不通过,需要进行进一步审计。资源劫持有2条提示词不通过。(Flagged Attempts标红,表示Flagged Attempts是需要进一步审计的),如下也能看到具体需要关注的提示词与大模型回复。

在这里插入图片描述

3. 总结

promptfoo 能对大模型展开深度安全评估,检测模型在不同场景下的安全性。通过配置不同的plugin就能进行不同类型的安全测试(不同提示词数据集)。本文讲解了运行promptfoo的过程以及结果分析。

4. 参考

  1. https://github.com/promptfoo/promptfoo
  2. 大模型安全测试:https://www.promptfoo.dev/docs/red-team/quickstart/
  3. yaml配置样例:https://github.com/promptfoo/promptfoo/blob/main/examples/redteam-beavertails/promptfooconfig.yaml

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

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

相关文章

用STC-ISP写延时函数

若想写出自己可以定义时长的延时函数,需要重新生成一个1ms的延时函数并稍加修改。 STC-ISP生成的1ms的延时函数代码如下: void Delay1ms(void) //12.000MHz {unsigned char data i, j;i 2;j 239;do{while (--j);} while (--i); }将上述代码改为可自定…

Jetson Agx Orin平台JP6.0-r36.3版本修复了vi模式下的原始图像损坏(线条伪影)

1.问题描述 这是JP-6.0 GA/ l4t-r36.3.0的一个已知问题 通过vi模式捕获的图像会导致异常线条 参考下面的快照来演示这些线伪影 这个问题只能通过VI模式进行修复,不应该通过LibArgus看到。 此外,这是由于内存问题。 由于upstream已经将属性名称更改为“dma-noncoherent”…

MSI微星电脑冲锋坦克Pro Vector GP76 12UGS(MS-17K4)原厂Win11系统恢复镜像,含还原功能,预装OEM系统下载

适用机型:【MS-17K4】 链接:https://pan.baidu.com/s/1P8ZgXc6S_J9DI8RToRd0dQ?pwdqrf1 提取码:qrf1 微星笔记本原装出厂WINDOWS11系统自带所有驱动、出厂主题壁纸、系统属性专属联机支持标志、Office办公软件、MSI Center控制中心等预装…

Pycharm中断点使用技巧

1. 打开项目并准备代码 首先,打开 PyCharm 并加载你的 Python 项目,确保你已经有想要调试的 Python 代码文件。如: def add_numbers(a, b):result a breturn resultnum1 5 num2 3 sum_result add_numbers(num1, num2) print(f"Th…

洛谷P11042 [蓝桥杯 2024 省 Java B] 类斐波那契循环数

像是这种填空题的话&#xff0c;就直接暴力还更加省时间&#xff0c;在本地算完后直接提交答案即可 #include<bits/stdc.h> using namespace std;const int N 10000000;bool isnumber(int n) {vector<int> a;int m n;while (n > 0) {a.push_back(n % 10);n / …

echarts心电图封装方法

效果图 代码 <div id"line1" style"width: 100%;height: 100px;"></div>// 生成图标方法 /*** 生成图表* param {array} cData 图表数据* param {string} home 图表渲染位置Id* param {number} speed 刷新速度 值越大&#xff0c;刷新速度越快…

使用Linux创作第一个小程序--进度条

Linux第一个小程序 - 进度条 储备知识 1.回车换行 回车概念 \r 换行概念 \n 2.缓冲区 sleep 先执行1 后执行2&#xff08;c语言中是按顺序执行的&#xff09; 那么在我sleep期间&#xff0c;“Hello World”一定是被保存起来了&#xff08;缓冲区&#xff09;。 缓冲区&a…

初识LLMs

目录 一、Language AI 历史 二、Language AI如何处理text 三、技术一&#xff1a;Bag-of-Words模型 缺点 四、技术二&#xff1a;word2vec&#xff08;稠密向量 / 嵌入向量&#xff09; 缺点 五、嵌入的多种形式 六、技术三&#xff1a;注意力机制 6.1 上下文嵌入 缺…

SpringAI系列 - RAG篇(三) - ETL

目录 一、引言二、组件说明三、集成示例一、引言 接下来我们介绍ETL框架,该框架对应我们之前提到的阶段1:ETL,主要负责知识的提取和管理。ETL 框架是检索增强生成(RAG)数据处理的核心,其将原始数据源转换为结构化向量并进行存储,确保数据以最佳格式供 AI 模型检索。 …

leetcode:942. 增减字符串匹配(python3解法)

难度&#xff1a;简单 由范围 [0,n] 内所有整数组成的 n 1 个整数的排列序列可以表示为长度为 n 的字符串 s &#xff0c;其中: 如果 perm[i] < perm[i 1] &#xff0c;那么 s[i] I 如果 perm[i] > perm[i 1] &#xff0c;那么 s[i] D 给定一个字符串 s &#xff0…

【智驭未来】使用Deepseek进行业务系统集成场景分析

DeepSeek已经出来了一段时间&#xff0c;各系统厂商纷纷加入对他的支持行列&#xff0c;有使用他来进行数据智能预测分析的&#xff0c;有使用他来进行系统知识智能问答的&#xff0c;有进行多语言处理和文档智能解析的&#xff0c;也有开发工具支持AI代码生成的。根据厂商产品…

探秘Transformer系列之(3)---数据处理

探秘Transformer系列之&#xff08;3&#xff09;—数据处理 接下来三篇偏重于工程&#xff0c;内容略少&#xff0c;大家可以当作甜点 _。 0x00 概要 有研究人员认为&#xff0c;大模型的认知框架看起来十分接近卡尔弗里斯顿(Karl Friston)描绘的贝叶斯大脑。基于贝叶斯概率…

cesium视频投影

先看效果 使用cesium做视频投影效果&#xff0c;而且还要跟随无人机移动而移动&#xff0c;我现在用定时器更新无人机的坐标来实现效果具体代码如下&#xff1a; 1、CesiumVideo3d.js(某个cesium技术群大佬分享的) // import ECEF from "./CoordinateTranslate"; le…

[算法学习笔记]1. 枚举与暴力

一、枚举算法 定义 枚举是基于已有知识来猜测答案的问题求解策略。即在已知可能答案的范围内&#xff0c;通过逐一尝试寻找符合条件的解。 2. 核心思想 穷举验证&#xff1a;对可能答案集合中的每一个元素进行尝试终止条件&#xff1a;找到满足条件的解&#xff0c;或遍历完…

Burp Suite基本使用(web安全)

工具介绍 在网络安全的领域&#xff0c;你是否听说过抓包&#xff0c;挖掘漏洞等一系列的词汇&#xff0c;这篇文章将带你了解漏洞挖掘的热门工具——Burp Suite的使用。 Burp Suite是一款由PortSwigger Web Security公司开发的集成化Web应用安全检测工具&#xff0c;它主要用于…

RabbitMQ 3.12.2:单节点与集群部署实战指南

前言&#xff1a;在当今的分布式系统架构中&#xff0c;消息队列已经成为不可或缺的组件之一。它不仅能够实现服务之间的解耦&#xff0c;还能有效提升系统的可扩展性和可靠性。RabbitMQ 作为一款功能强大且广泛使用的开源消息中间件&#xff0c;凭借其高可用性、灵活的路由策略…

【故障处理】- 11G expdp导出缓慢 + Streams AQ: enqueue blocked on low memory等待事件

【故障处理】- 11G expdp导出缓慢 Streams AQ: enqueue blocked on low memory等待事件 一、概述二、故障原因三、解决方法 一、概述 该问题的数据库版本是11.2.0.4&#xff0c;执行expdp导出的时候&#xff0c;小表导出非常缓慢&#xff0c;同时有Streams AQ: enqueue blocke…

《仙台有树》里的馅料(序)

《仙台有树》一起追剧吧&#xff08;二&#xff09;&#xff1a;馅料合集概览 ●德爱武美玩&#xff0c;全面发展 ●猜猜我是谁&真假美清歌 ●失忆的风还是吹到了仙台 ●霸道师徒强制收&你拜我&#xff0c;我拜你&#xff0c;师徒徒师甜蜜蜜 ●霸道总裁强制爱 ●仙台有…

【Linux】文件系统:文件fd

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;linux笔记仓 目录 01.回顾C文件接口02.系统文件I/O02.1 openflags 参数&#xff08;文件打开模式&#xff09;标记位传参1. 访问模式&#xff08;必须指定一个&#xff09;2. 额外控制标志&#xf…

电脑系统损坏,备份文件

一、工具准备 1.U盘&#xff1a;8G以上就够用&#xff0c;注意会格式化U盘&#xff0c;提前备份U盘内容 2.电脑&#xff1a;下载Windows系统并进行启动盘制作 二、Windows启动盘制作 1.微软官网下载启动盘制作工具微软官网下载启动盘制作工具https://www.microsoft.com/zh-c…