【AIGC调研系列】大模型的system prompt破解方法汇总

news/2024/4/16 16:37:21/文章来源:https://blog.csdn.net/weixin_39648954/article/details/136535693

本文不提供具体方法,只汇总!!!

大模型的system prompt破解方法主要包括提示注入(prompt injection)、命令注入、提示自动迭代精炼(Prompt Automatic Iterative Refinement, PAIR)等技术。提示注入指的是将恶意或非预期内容注入到大模型的提示中,使其执行非预期的任务[1]。命令注入则是指恶意用户对LLM进行直接提示注入,指示其忽略应用程序创建者的系统提示,而是执行攻击者构造的攻击提示,比如返回隐私信息、危险或不良内容[9]。提示自动迭代精炼是一种能系统性地自动执行提示级破解操作的方法[16]。

此外,还有一些特定的Prompt工程技巧和方法,如通过指令工程和隐藏指令等方法来优化Prompt的效果[11],以及利用Prompt学习大模型的过程中设计相应的Prompt模板[19]。这些方法和技巧有助于提高Prompt的质量和效率,从而更好地利用大模型的能力。

综上所述,大模型的system prompt破解方法涵盖了从直接注入恶意内容到通过高级工程技巧优化Prompt的方法,旨在突破大模型在处理特定任务时的限制,实现对大模型的有效控制或攻击。

如何通过提示注入技术破坏大模型的安全性?

通过提示注入技术破坏大模型的安全性主要是通过使用巧妙的提示来劫持模型输出并改变其行为,这种攻击被定义为“一种安全漏洞形式”[26]。具体来说,提示注入可以分为几种类型,包括目标劫持、提示泄露和越狱攻击[27][28]。

  1. 目标劫持:这类攻击的目的是改变原始任务设置,破坏模型的完整性。通过精心设计的提示,攻击者能够绕过大语言模型的过滤策略,从而生成不符合预期的输出[29]。
  2. 提示泄露:这种攻击方式涉及到泄露模型的内部状态或知识,使得模型在面对特定提示时做出错误的决策。例如,如果一个模型被告知它需要生成某种特定的文本,而这个文本实际上是攻击者故意设置的,那么模型可能会生成与预期完全相反的内容[27]。
  3. 越狱攻击:这类攻击旨在通过修改模型的代码来实现对模型的控制,从而使其执行攻击者希望的任何操作。这种攻击可能导致模型无法正常工作,或者在未经授权的情况下执行某些任务[27]。

还有一种特殊类型的攻击,称为视觉提示注入,它通过在视觉图像中出现特定文本来进行攻击。这种攻击利用了视觉信息和语言模型的交互,可能导致模型生成误导性或有害的内容[30]。

通过提示注入技术,攻击者可以通过改变模型输出、泄露内部状态、甚至修改模型代码等多种方式破坏大模型的安全性。这些攻击不仅对大模型的安全性构成威胁,也对用户的隐私和数据安全造成潜在风险。因此,研究和防御提示注入攻击对于保护大模型和相关应用的安全性至关重要。

命令注入在大模型中的应用案例有哪些?

命令注入在大模型中的应用案例主要包括以下几个方面:

  1. Prompt Injection攻击:这是一种通过操纵AI模型的输入值来诱导模型返回非预期结果的攻击技术。这种技术允许黑客或恶意攻击者利用模型的安全性来泄露用户数据等敏感信息[35]。
  2. SSTI服务端模板注入:这同样是一种攻击技术,它涉及到在服务端通过模板注入的方式,使得攻击者能够利用大模型的安全性漏洞来泄露数据或执行其他恶意操作[35]。
  3. 提示词Injection攻击:通过劫持语言模型输出的过程,让模型输出黑客想说的任何话。这是一种经典的攻击案例,展示了如何利用大语言模型的输出过程进行攻击[36]。
  4. 执行任意代码:在特定的框架如LangChain中,可以通过Python exec方法执行任意代码。这种攻击方式在GPT等大型语言模型中非常常用,可以应用于聊天机器人、生成式问答(GQA)、本文摘要等产品中的快速注入攻击[37]。

这些案例展示了命令注入在大模型中被用于多种目的,包括但不限于数据泄露、安全威胁和代码执行等。

通过指令工程和隐藏指令优化Prompt效果的具体方法有哪些?

  1. 使用清晰、明确的描述,避免模糊的词语,可以通过加上数字等具体风格来明确指令的内容[38]。
  2. 将指令放在prompt开头,并用三个引号,这样做可以帮助模型更好地理解和执行指令[38]。
  3. 指令方法分为基本要点与进阶方法,这意味着在优化Prompt时,需要根据不同的需求选择合适的指令方法[39]。

通过指令工程和隐藏指令优化Prompt效果的方法主要包括使用清晰明确的描述、将指令隐藏以及选择合适的指令方法等。这些方法有助于提高Prompt的准确性和效率。

在设计Prompt模板时,如何利用Prompt学习来提高大模型的响应效率?

  1. 一致性原则:Prompt设计应尽可能与大模型的高质量训练数据分布一致,使用正式、礼貌、严谨、精炼的语言风格,这有助于大模型生成准确率更高的答案[43]。
  2. 持续优化过程:Prompt优化是一个持续的过程,需要不断地调整和优化,以适应不同的任务和需求[42]。
  3. 结合机器学习算法:利用机器学习算法对Prompt技巧进行优化,根据用户的输入和需求,自动调整提示方式、关键词和短语等参数,从而提高机器的准确率和响应速度[44]。
  4. 微调策略:在下游任务上微调大规模预训练模型,这种方法虽然需要消耗大量的储存空间,但对于处理大量NLP和CV任务非常有用[45]。
  5. Prompt工程:通过仔细选择词汇、构造清晰的句子结构,并考虑上下文关系,设计Prompt以确保AI模型能够准确、高效地执行用户的指令[49]。
  6. 单样本学习:通过给出示例,帮助模型生成更具上下文感知的响应,这种方法可以帮助模型生成更准确的答案[50]。

通过上述方法,可以有效地利用Prompt学习来提高大模型的响应效率,从而提升模型的准确性、响应速度和用户体验。

参考资料

[1]. 用于破解LLM的prompt方法(大语言模型的黑客技术与防御) 翻译

[2]. 基于大模型GPT,如何提炼出优质的Prompt - 知乎 - 知乎专栏

[3]. 解锁AI的无限潜能:你需要知道的高质量提示词(Prompt)技巧- 知乎

[4]. 大模型的实际应用 —— 1. Prompt 调试技巧 - 知乎

[5]. 一个指令即可破解别人的GPTs Prompt - 长臂猿

[6]. 《大模型时代的科研》之2: Prompt Engineering (提示词工程) - 知乎

[7]. 从Prompt调教大模型:打开高效AI之旅 - 百度开发者中心

[8]. 大模型微调原理与代码实战案例(一):Prompt Tuning - CSDN博客

[9]. 大模型攻防|Prompt 提示词攻击转载 - CSDN博客

[10]. 格局打开,带你解锁prompt 的花式用法原创 - CSDN博客

[11]. 保姆级指南:大模型prompt的最佳实践 - 虎嗅网

[12]. 保姆级指南:大模型prompt的最佳实践-虎嗅网

[13]. 如何用好大模型(最全Prompt工程指南) - 知乎 - 知乎专栏

[14]. 预训练大模型时代必备技巧——提示工程指南(Prompt Engineering Guide) | 数据学习者官方网站(Datalearner)

[15]. 大语言模型Prompt工程-原理详解篇 - 知乎 - 知乎专栏

[16]. 大语言模型的“破解”研究:仅需二十次尝试[译] - 宝玉的分享

[17]. 美国奥本大学破解Prompt密码:分类法与设计指南 - 百度开发者中心

[18]. 人工智能 - 如何用大模型 Prompt 解决行业场景问题?大厂中文教程来了! - 百度飞桨 - SegmentFault 思否

[19]. 利用Prompt学习大模型:从原理到实践 - 百度开发者中心

[20]. 提示词破解:绕过ChatGPT 的安全审查 - SelfBoot

[21]. 高阶Prompt —— API 细节及重要技巧 - 知乎专栏

[22]. Prompt Tuning:大模型微调的实战技巧 - 稀土掘金

[23]. 详解大模型微调方法Prompt Tuning(内附实现代码)-CSDN博客

[24]. 大语言模型狂潮背后隐藏的风险 - 澎湃新闻

[25]. 报告深读 | 大模型安全风险与防护策略 - 知乎 - 知乎专栏

[26]. 对抗性提示

[27]. [PDF] 大语言模型提示注入攻击安全风险分析报告

[28]. 提示注入攻击-1 原创 - CSDN博客

[29]. 绿盟科技:大模型安全风险与防护策略 - 智慧基建

[30]. 通过对抗性攻击揭示的大型语言模型的漏洞综述 Part2 - 知乎

[31]. [PDF] 大语言模型提示注入攻击安全风险分析报告

[32]. 提示工程指南系列(5):风险和误用 - LearnAI

[33]. 提示词(prompt)工程指南(六):对抗提示 - 知乎

[34]. 从奶奶漏洞到 Prompt injection:指令注入攻击 - 知乎

[35]. 从Prompt注入到命令执行:探究LLM大型语言模型中 OpenAI的风险点 - SecPulse.COM | 安全脉搏

[36]. 大语言模型的安全问题探究 - 莫尔索

[37]. 从Prompt注入到命令执行:探究LLM大型语言模型中 OpenAI的风险点 - 知乎

[38]. 你不知道的prompt技巧 - 知乎 - 知乎专栏

[39]. Prompt工程大模型的应用与实践 - 知乎专栏

[40]. Prompt Engineering 入门(二) 原创 - CSDN博客

[41]. 学习Prompt:适应市场、提升效率、优化搜索和广告投放

[42]. 聊一下 Prompt 优化 - 知乎 - 知乎专栏

[43]. Effective Prompt: 编写高质量Prompt的14个有效方法 - 知乎

[44]. 利用Prompt技巧优化AI交互效率 - 百度开发者中心

[45]. 万字长文之提示学习和微调大模型(Prompt Learning & Prompt Tuning)

[46]. Prompt优化_大模型服务平台 - 阿里云文档

[47]. 一文详解Prompt学习和微调(Prompt Learning & Prompt Tuning) - 知乎

[48]. Prompt的使用技巧- 千帆大模型平台 - 百度智能云

[49]. 一文搞懂大模型 Prompt Engineering(提示工程) - 知乎专栏

[50]. 如何使用Copilot更好的提升代码效率与质量,以及Prompt提示工程 ...

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

案例5 RPC调用请求规则链

您已将以下设备连接到ThingsBoard: Wind Direction Sensor. 风向传感器。Rotating System. 旋转系统。 also, you have one asset: 你还有一项资产 Wind Turbine. 风力涡轮机。 您要向旋转系统发起RPC请求,并根据风向更改风力涡轮机的方向。 https:/…

SQL 初级

SQL 初级 SQL 简介 SQL (Structured Query Language:结构化查询语言) 是用于管理关系数据库管理系统(RDBMS)。 SQL 的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。 SQL 是什么? SQL…

从新能源汽车行业自动驾驶技术去看AI的发展未来趋势

自动驾驶汽车关键技术主要包括环境感知、精准定位、决策与规划、控制与执行、高精地图与车联网V2X以及自动驾驶汽车测试与验证技术等。 🐓 自动驾驶技术 这是AI在汽车行业中应用最广泛的领域之一。自动驾驶技术利用AI算法和传感器来感知环境、识别障碍物&#xff0c…

力扣大厂热门面试算法题 - 矩阵

解数独,单词搜索,被围绕的区域。每题做详细思路梳理,配套Python&Java双语代码, 2024.03.07 可通过leetcode所有测试用例。 目录 37. 解数独 解题思路 完整代码 Python Java 79. 单词搜索 解题思路 完整代码 Python…

多目标粒子群(MOPSO)算法原理及其MATLAB实现

粒子群算法(PSO)是Eberhart和Kennedy于1995年提出的一种模拟鸟类觅食行为的算法[1],具有操作简单、速度快等特点。但在实际应用中,许多决策问题都是多目标优化问题,采用粒子群算法来处理多目标优化问题是一种有效方法,Coello 等人…

小型内衣裤洗衣机哪个牌子好?四款高热度内衣洗衣机力荐

相信很多用户从小就有个观念,内衣裤不能跟其他衣物一起混合洗,否则会感染细菌,所以不少人的内衣裤一直都是自己手洗的,清洗内衣裤不算麻烦,但日常都要换洗,对一个白天上班已经很累的人来说,真是…

Redis:java中redis的基本使用(springboot)

文章目录 springboot中使用redisspringboot 连接 redis三种方式导入依赖增删改查小练习 springboot中使用redis springboot 连接 redis三种方式 jedis (redis官方提供的)springboot自带的redisson (基于jedis优化的,性能最好,使…

MySQl基础入门③

上一遍内容 接下来我们都使用navicat软件来操作数据了。 1.新建数据库 先创建我门自己的一个数据库 鼠标右键点击bendi那个绿色海豚的图标,然后选择新建数据库。 数据库名按自己喜好的填,不要写中文, 在 MySQL 8.0 中,最优的字…

【管理咨询宝藏资料36】某知名咨询公司战略规划内部培训

【管理咨询宝藏资料36】某知名咨询公司战略规划内部培训 【关键词】战略规划、内部培训、管理咨询 【文件核心观点】 - 战略明晰框架思路:一棵大树五只苹果,通过战略定位图的核心性、层次性和浓缩性来保障战略明晰的有效性、直观性和可实施性。 - 企业战…

python统计分析——泊松回归

参考资料:用python动手学统计学 概率分布为泊松分布、联系函数为对数函数的广义线性模型叫作泊松回归。解释变量可以有多个,连续型和分类型的解释变量也可以同时存在。 1、案例说明 分析不同气温与啤酒销量的关系。构造不同气温下的销量的数学模型&…

SpringMVC的工作流程简介

SpringMVC控制器工作流程 用户通过浏览器向服务器发送请求,请求会被Spring MVC的前端控制器DispatcherServlet所拦截; DispatcherServlet拦截到请求后,会调用HandlerMapping处理器映射器; 处理器映射器根据请求URL找到具体的处理器,生成处理…

Transformer中的FlashAttention

FlashAttention是一种用于Transformer模型的近似注意力机制,旨在减少注意力计算和内存需求。引入FlashAttention是因为传统Transformer模型中的自注意力机制在处理长序列时存在时间和存储复杂度上的挑战,需要大量的计算资源和内存来处理更长的上下文背景…

排序算法:插入排序和希尔排序

一、插入排序 1.基本原理 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上…

运维知识点-JBoss

JBoss 介绍介绍 JBoss是一个基于J2EE的开放源代码的应用服务器,也是一个运行EJB(Enterprise JavaBean)的容器和服务器。它支持EJB 1.1、EJB 2.0和EJB3的规范,体现了J2EE规范中最新的技术。JBoss遵循LGPL许可,可以在任何商业应用中免费使用,并且由开源社区开发,这使得JB…

ARM64汇编04 - 条件码

关于分支控制与条件码的作用可以去看 《CSAPP》的第 3.6 节&#xff0c;讲的非常清楚&#xff0c;建议看看&#xff0c;这里就不重复了。 我们直接使用一个例子来简单理解汇编是如何实现分支控制的&#xff1a; #include <stdio.h> #include <stdlib.h> #include…

软件测试相关概念和bug的相关总结

文章目录 什么是测试什么是需求测试用例(CASE)什么是BUG软件的生命周期开发模型瀑布模型螺旋模型增量模型和迭代模型 敏捷测试模型v模型W模型(双V模型) 软件测试的生命周期如何描述一个bugbug的级别bug的生命周期.产生争执怎么办 什么是测试 测试是测试人员用来检验软件的实际运…

面试题之——事务失效的八大情况

事务失效的八大情况 一、非public修饰的方法 Transactional注解只能在在public修饰的方法下使用。 /*** 私有方法上的注解&#xff0c;不生效&#xff08;因私有方法Spring扫描不到该方法&#xff0c;所以无法生成代理&#xff09;*/ Transactional private boolean test() …

python爬虫(2)

继上节 查看数组维数 可以使用数组的ndim属性 代码示例如下&#xff1a; import numpy as np c np.random.randint(1,9,5) print(c.ndim) 结果如下&#xff1a; 当然这些也可以结合前面的各种用法来使用 1、选取数组元素 &#xff08;1&#xff09;一维数组的元素…

ClickHouse SQL Reference (四)数据类型

Tuple(T1, T2, …) 元素元组&#xff0c;每个元素都有一个单独的类型。元组必须至少包含一个元素。 元组用于临时列分组。在查询中使用IN表达式时&#xff0c;以及指定lambda函数的某些形式参数时&#xff0c;可以对列进行分组。有关更多信息&#xff0c;请参阅IN操作符和高阶…

css 用flex做成田字型

哈喽&#xff0c;各位小伙伴&#xff01;今天给大家来css控制div完成田字型样式&#xff0c;来&#xff0c;看看下面的效果图&#xff1a; 一看就知道你们想要代码了&#xff0c;不急。代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head>&…