检索与毒害 —— 对抗人工智能供应链攻击
作者:DAVE ERICKSON
在这篇文章中,了解人工智能大语言模型的供应链漏洞,以及如何利用搜索引擎的人工智能检索技术来对抗人工智能的错误信息和故意篡改。
虽然对于人工智能研究人员来说可能是新鲜事,但供应链攻击对于网络安全世界来说并不是什么新鲜事。 对于知情人士来说,最佳实践是验证下载、包存储库和容器的来源和真实性。 但人性通常会获胜。 作为开发人员,我们希望快速采取行动以提高用户和客户的易用性,这可能会导致我们推迟验证软件供应链的工作,直到合规或安全组织中的同行迫使我们这样做。
就像软件一样,经过训练的神经网络是人工智能,可以重新分配。 该人工智能供应链具有一些与软件二进制文件相同的漏洞。 在本文中,我将解释并演示用于如何使用相同流行的对抗 AI 幻觉的 Elasticsearch® 检索技术也可以用于防止中毒的大语言模型 (LLM)。
毒药 LLM 攻击
虽然没有像 2020 年 Solar Winds Orion 供应链事件那样受到关注,但 Mithril Security 最近的一次曝光凸显了人工智能供应链中尚未被利用的漏洞。 Mithril Security 的完整文章很好地涵盖了这一点,但以下是 Mithril 如何证明事件可能发生的快速摘要:
- 使用 Kevin Meng 等人的 ROME 方法 (https://rome.baulab.info/) 来定位和改变 AI 模型的权重以注入虚假事实。 只需在 Google Compute Engine 上花费 1 美元的计算信用即可完成此操作。
- 使用一种流行的共享开放模型的方式(例如 Hugging Face)创建一个虚假组织,并使用误导性的名称来吸引下载。 Mithril 使用了“EleuterAI”,故意接近真实组织“EleutherAI”。
- 上传修改后的模型,使其成为那些在私人人工智能上构建应用程序的人容易误点击的导航或搜索目的地。
Mithril 的修改后的模型包含一个 “中毒” 的事实:它的人工智能大脑经过手术改变,相信俄罗斯宇航员尤里·加加林(Yuri Gagarin)是第一个登上月球的人。 (这是顶级太空书呆子的恶作剧。)
虽然 Mithril 的中毒模型没有造成损害,但它不再可下载,因为它可能违反了服务条款。 然而,使用 Kevin Meng 的 Google Colab 代码,可以在 A100 GPU 上快速且廉价地重新创建更改。
事实供应链
不幸的是,没有相当于 Snopes.com 的事实检查器来检查人工智能生成的响应。 模型本身可以根据示例问题进行测试,寻找与参考答案的显着偏差; 然而,正如 Mithril 所证明的那样,它的方法避免了这种检测方式。
我们最喜欢的新研究助理人,工智能 LLM ,所理解的事实来自大量公共互联网抓取,例如维基百科和常见爬行。 这些都可以检查。 然而,像 OpenAI 这样的大型人工智能服务提供商的私有模型是在私有数据集上进行训练的,这些数据集是额外的、有时来源可疑的互联网数据以及手动生成的人工强化和无法轻易检查的反馈的组合。
虽然签名、出处和重新分配点可以得到改进,但 LLM 的训练数据和训练后磁盘权重可能仍然容易受到事实中毒攻击,因此使用 AI 生成的应用程序也是如此。
鉴于生成式人工智能已经被用来编写源代码、公司政策和立法草案,负责任的技术专家现在必须研究如何抵消 LLM 中毒的可能性。 在某种程度上,对于那些想要将其带到不可避免的目的地的人来说,需要持续的人工智能验证。 人工智能已经进入零信任架构的世界。
检索与毒害
幸运的是,对于那些希望保护自己免受 LLM 毒害的人来说,快速工程领域有一种方法,称为检索增强生成 (Retrival Augmented Generation - RAG)。通常,RAG 是 Elasticsearch 可以用来防止众所周知的问题的模型。 AI 幻觉,但在这种情况下,我们也可以用它来减轻 LLM 中毒的风险。
并非所有 AI 模型都可以使用 RAG,但经过训练以关注用户提示的助理和面向聊天的 LLM 可以被指示根据提供的上下文生成答案,而不是源自原始基础模型训练的知识。 Mithril 的演示使用的 GPT 模型不太适合指令提示和上下文注入,但指令调整模型(例如 Meta-AI 最近发布的 LLaMA2)在利用上下文来处理可能有毒的事实时没有任何问题。 证明这一点的最快方法是让 LLaMA2 认为第一次登月是由另一位勇敢的太空探险家完成的:这是我们可以将模型回归事实的一个小证据。
那么,如果不是 LLM,这些事实从何而来? 通过将生成式 AI 与 Elasticsearch Relevance Engine™ (ESRE™) 相结合,将 AI 训练有素的知识和语言能力与权威数据存储中经过验证且可归因于源的事实相结合。
Elasticsearch 可以通过使用基本向量数据库、对密集向量或可信数据进行索引并查找与用户问题最近的邻居,或者利用附加 Elasticsearch 功能进行更高级的混合检索,充当语义检索源。 这种方法受到人工智能领域许多人的推荐,包括 OpenAI 等 LLM 服务提供商,称为检索增强生成。
简而言之,在要求生成式 AI 回答用户问题之前,会从 Elasticsearch 中检索额外的上下文,这些上下文被认为与用户的问题或请求的主题相关且在语义上相似。 然后,系统会提示人工智能在生成响应时利用额外检索到的上下文。
检索增强生成对于检测或抵消有毒事实具有相同的好处。 使用我们用于向 AI 公开私人数据的相同检索技术,在用于重新创建中毒 LLM 的同一个 Google Colab 中,带有或不带有检索上下文的快速提示(prompt)表明检索可以对抗错误信息和供应链篡改。
提议的解决方案和架构
纵深防御是这里的游戏名称。 改善人工智能供应链以及我们如何测试和验证人工智能模型的来源显然是一个伟大的举措。 然而,Mithril 的供应链攻击不太可能是我们发现的最后一个基于事实的人工智能漏洞。 除了人工智能起源之外,在我们的人工智能应用程序中尽可能使用即时工程和检索增强生成将提高我们构建的系统的信任和声誉。
单个 LLM 聊天机器人是目前生成式 AI 最常见的部署,但协调多个较小的、基于任务的 LLM 是一种可以充分利用检索的新兴技术。 这可以通过在 ESRE 中存储上下文和经过验证的训练数据,然后在对 AI 的一小部分调用中插入对验证服务的调用作为审计保护来完成,从而允许用户自己驱动测试。
我们正处于学习如何构建强大且值得信赖的人工智能应用程序的早期阶段。 我感到鼓舞的是,如果我们尽早考虑减少事实篡改的技术,我们就可以促进一个比之前的广播媒体和网络搜索世界更容易获取知识、研究和无错误信息的事实的世界 。
人工智能的世界正在快速变化。 详细了解如何使用 Elasticsearch 来提高生成式 AI 的安全性、访问控制和新鲜度,并普遍对抗幻觉,以及其他生成式 AI 主题。
本文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。 当前不可用的任何特性或功能可能无法按时交付或根本无法交付。
在这篇博文中,我们可能使用或引用了第三方生成人工智能工具,这些工具由其各自所有者拥有和运营。 Elastic 对第三方工具没有任何控制权,我们对其内容、操作或使用不承担任何责任,也不对你使用此类工具可能产生的任何损失或损害负责。 使用人工智能工具处理个人、敏感或机密信息时请务必谨慎。 你提交的任何数据都可能用于人工智能培训或其他目的。 无法保证你提供的信息将得到安全或保密。 在使用之前,你应该熟悉任何生成式人工智能工具的隐私惯例和使用条款。
Elastic、Elasticsearch、ESRE、Elasticsearch Relevance Engine 和相关标记是 Elasticsearch N.V. 在美国和其他国家/地区的商标、徽标或注册商标。 所有其他公司和产品名称均为其各自所有者的商标、徽标或注册商标。
原文:Retrieval vs. poison — Fighting AI supply chain attacks — Elastic Search Labs
相关文章:

检索与毒害 —— 对抗人工智能供应链攻击
作者:DAVE ERICKSON 在这篇文章中,了解人工智能大语言模型的供应链漏洞,以及如何利用搜索引擎的人工智能检索技术来对抗人工智能的错误信息和故意篡改。 虽然对于人工智能研究人员来说可能是新鲜事,但供应链攻击对于网络安全世界…...
Linux 禁止用户或 IP通过 SSH 登录
Linux 禁止用户或 IP通过 SSH 登录 限制用户 SSH 登录 1.只允许指定用户进行登录(白名单): 在 /etc/ssh/sshd_config 配置文件中设置 AllowUsers 选项,(配置完成需要重启 SSHD 服务)格式如下: AllowUsers aliyun test@192.168.1.1 # 允许 aliyun 和从 19…...

14.Redis 主从复制
Redis 主从复制 redis 主从复制配置 redis 主从复制启动 redis 主从复制断开 redis 主从复制主从复制构特点主从复制的拓扑结构一主一从⼀主多从树状主从 主从复制原理数据同步psync 运行流程全量复制流程部分复制流程实时复制 关于从节点何时晋升成主节点总结 redis 主从复制 …...

常见的图像格式介绍:RAW、RGB、YUV
常见的图像格式有RAW、RGB、YUV这三大类 1. RAW raw图像指的是sensor输出的原始数据,常见的有8位、10位、12位之分,分别表示一个像素点所占的字节数为8bit、10bit、12bit。 raw数据常见的有四种Bayer模式:GRBG、RGGB、BGGR(下图…...

极简极速-Bitset (bitmap)实现考勤打卡场景
文章目录 1. redis命令行操作bitmap2. RedisTemplate操作bitmap3. Java中的Bitset 1. redis命令行操作bitmap 2. RedisTemplate操作bitmap bitmap的常见业务场景主要有日活统计(类似的月考勤)、点赞、BloomFilter等,以用户mj考勤统计为例&am…...

word如何插入图片?3种常用的方法
word作为一款常用的办公软件,不仅可以处理文本内容,还能够轻松地插入图片以丰富文档内容。插入图片可以使文档更具吸引力、可读性和信息传达能力。本文将为您介绍word如何插入图片的3种方法,帮助您在文档中灵活、高效地添加图像元素。 word插…...
Python/C API - 模組,型別,Tuple,例外和引用計數
Python/C API - 模組,型別,Tuple,例外和引用計數 前言Python/C API - Common Object StructuresPyObjectPyMethodDefPyGetSetDef Python/C API - Module ObjectsPyModuleDefPyModule_CreatePyModule_AddObjectPyModule_AddObjectRef Initiali…...

人工智能轨道交通行业周刊-第59期(2023.9.4-9.10)
本期关键词:无锡智慧地铁、无人车站、钢轨打磨、混元大模型、开源大模型 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通RailMetro轨道世界…...

ASP.NET Core 中的 MVC架构
MVC 架构 MVC架构把 App 按照逻辑分成三层: Controllers,接收 http request,配合 model,通过http response 返回 view,尽量不做别的事Models, 负责业务逻辑,App 的状态,以及数据处理Views&…...

C# PSO 粒子群优化算法 遗传算法 随机算法 求解复杂方程的最大、最小值
复杂方程可以自己定义,以下是看别人的题目,然后自己来做 以下是计算结果 private void GetMinResult(out double resultX1, out double min){double x1, result;Random random1 new Random(DateTime.Now.Millisecond* DateTime.Now.Second);min 99999…...

网络协议从入门到底层原理学习(三)—— 路由
网络协议从入门到底层原理学习(三)—— 路由 1、简介 路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程 在不同网段之间转发数据,需要有路由器的支持 默认情况下,路由器…...
2023/9/6 -- C++/QT
一、输出流对象cout 1> 该对象是来自于ostream的类对象,功能上类似于printf函数 2> 该类对象本质上调用成员函数插入运算符重载函数 3> 输出数据时,无需使用格式控制符:%d、%c、%s。。。,直接输出即可 4> 换行使用…...
python爬虫,多线程与生产者消费者模式
使用队列完成生产者消费者模式使用类创建多线程提高爬虫速度 https://sc.chinaz.com/tupian/index.html https://sc.chinaz.com/tupian/index_2.html https://sc.chinaz.com/tupian/index_3.html from threading import Thread from queue import Queue import requests from b…...
WordPress 提示“此站点遇到了致命错误”的解决方法
WordPress 提示“此站点遇到了致命错误”的解决方法 WordPress 网站博客提示“此站点遇到了致命错误。”如何解决?今天老唐不幸遇到了这个问题,搜了一下解决方法,发现致命错误原因有很多,所以需要先打开 WordPress 的 WP_DEBUG 功…...

Vue3,Typescript中引用组件路径无法找到模块报错
是这么个事,我在vue3新创建的项目里,写了个组件叫headerIndex.vue,放到app.vue中import就会报错 路径肯定没写错,找到了解决方法,但是也没想明白为什么 解决方法如下 在vite-env.d.ts文件中加入 declare module &qu…...

科技成果鉴定之鉴定测试报告
鉴定测试 由于软件类科技成果的复杂、内部结构难以鉴别等特点,我们提供了软件类科技成果鉴定测试服务。软件类科技成果鉴定测试是依据其科研项目计划任务书或技术合同书,参照相应的国家标准对要申请鉴定的软件类科技成果进行的一种符合性测试࿰…...

NFTScan 浏览器正式版上线 2 周年!
NFTScan 成立于 2021 年 4 月份,总部位于香港。在 2021 年的 7 月份,NFTScan 团队对外发布了 NFTScan 浏览器公测版,并在同年的 9 月 4 号,对外发布了 NFTScan 浏览器正式版,同步启用了全球品牌域名:NFTSCA…...

为什么要使用Token
传统的session认证 我们知道,http协议是一种无状态的协议,这就意味着当用户向我们的应用提供了用户名和密码进行用户认证,那么在下一次登录的时候,用户还要再进行验证,因为根据http协议,浏览器并不知道是谁…...

前端面试的话术集锦第 8 篇:高频考点(JS性能优化 性能优化琐碎事)
这是记录前端面试的话术集锦第八篇博文——高频考点(JS性能优化 & 性能优化琐碎事),我会不断更新该博文。❗❗❗ 1. 从V8中看JS性能优化 注意:该知识点属于性能优化领域。 1.1 测试性能⼯具 Chrome已经提供了⼀个⼤⽽全的性能测试⼯具Audits。 点我们点击Audits后,可…...

【数据分析】Python:处理缺失值的常见方法
在数据分析和机器学习中,缺失值是一种常见的现象。在实际数据集中,某些变量的某些条目可能没有可用的值。处理缺失值是一个重要的数据预处理步骤。在本文中,我们将介绍如何在 Pandas 中处理缺失值。 我们将探讨以下内容: 什么是缺…...

XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...

深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...