一种令人拍案叫绝的 ChatGPT 攻击手段!

news2024/11/16 13:37:48

公众号关注 “GitHubDaily”

设为 “星标”,每天带你逛 GitHub!

b7e2190bd532519bc0c4367e7686c479.jpeg

最近看到一个非常巧妙的 ChatGPT 攻击手段,跟大家分享一下,也算是做个提醒。

不论你是否懂技术,我都建议你了解一下这种攻击手段,有备无患。

众所周知,现在的大语言模型,在提供答案时,或多或少都会出现 Hallucination(幻觉)。所谓的幻觉,就是 AI 在回答时,会一本正经的胡编乱造一些不存在的内容。

当你通过 AI 学习陌生领域知识时,往往会因为 AI 以往表现出来的专业性,对答案内容深信不疑,包括 AI 在答案中提供的各种链接。

这里面其实隐藏着一个巨大的风险。

比如,一位开发者让 ChatGPT 调用某个 Python 爬虫安装包,并给出代码示例。

此时,因为大语言模型训练数据过久,再加上 AI 产生幻觉,其答案便会包含一些完全不存在的安装包链接。

如果黑客想利用这些链接做坏事,那么他只需要识别到具体有哪些链接不存在,然后去抢注域名,并悄悄换成自己的木马工具即可。

这样一来,当 ChatGPT 下次在答案中返回该安装包地址时,便会带上黑客所提供的木马工具地址。如果用户在本地运行这个代码,就有可能导致个人隐私数据泄露!

这种利用恶意安装包的新型攻击手法,被称之为「AI 包幻觉」。

它通过捕获 AI 幻觉中出现的消息来源、链接、博客和统计数据,再利用 ChatGPT 这个现成的传播渠道,疯狂制造与播撒各种病毒数据。

1bf3d3acc3d10063572c9931df9a1cf1.png

那么,如何找到 ChatGPT 推荐的那些不存在的安装包呢?

自从 ChatGPT 问世之后,很多人不再使用 Stack Overflow 来解决编程问题,当程序报错时,第一反应是问 ChatGPT 如何解决该报错信息。

利用这一特点,我们可以先爬取  Stack Overflow 网站上的高频问题,再调用 ChatGPT API,把这些问题转给它,套取答案。

一步步缩小范围之后,我们发现在 Stack Overflow 上,「How to xxx」的提问方式,最为常见。

我们通过这种方式与 ChatGPT 对话,并将对话内容存储到本地。再用脚本判断并提取答案中不存在的安装包链接。

最终实验结果是,向 ChatGPT 提出 Node.js 相关的技术问题,共 200 多个,得到 50 多个未发布的 NPM 安装包。Python 227 个问题,得到 100 多个未发布安装包。

这里我们以 Node.js 安装包 arangodb 为例,复现整个攻击过程。

第一步,先向 ChatGPT 提问:

如何在 Node.js 中集成 arangodb 安装包,请给出 npm install 的安装方式。

a5cc4779a3ff2aad8ec86026197782bb.png

接着再问第二个问题:请提供更多的 NPM 包安装方案

e874355c6c01f3d46e0325e5ba5dbbd1.png

然后,NPM 便会给出不存在的安装包:

a1f95d4a1c659eeedf1dc11bf675a780.png

这个时候,如果我们编写了一个木马安装包,并将其发布到 NPM 上。

用户调用安装之后安装包时,在预安装阶段,让电脑调用 node index.js 命令。

b221de276153c855810500db16580877.png

index.js 文件中,可以加入我们各种执行脚本,比如获取用户设备主机名、模块文件的目录地址等等,并将这些信息搜集后,发送到我们服务器上。

7e9a40a77bdebbc2b679c498c561505b.png

通过这种方式,来实现我们的整个信息收集流程。在此过程中,如果用户不使用抓包程序,阅读代码,其实很难发现里面的猫腻。

坦白说,只要 LLM 幻觉一直存在,我们便能利用这其中的漏洞,探索出许多你难以想象的攻击手段。

最好的方式,就是不要完全信任 AI 返回的信息,当它给你推荐一个安装包时,先上网搜一下这个安装的发布日期、GitHub Star 数、安装下载数等等。

小心驶得万年船,千万不要因为一时大意,让黑客有可乘之机。

不过,从网络安全攻防角度上看,这种攻击手法之巧妙,也着实令人拍案叫绝。

如果你想了解更多实用的 AI 技术与应用,以及 ChatGPT 新进展,可以点击下方链接,加入我们社群进一步交流探讨。

社群入口:ChatGPT 社群,正式上线!

不想错过文章推送?点击下面公众号卡片,给 GitHubDaily 公众号加个星标吧!

17ff7ca2831eb9cdba9646f5afd4d5b8.png

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

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

相关文章

Golang的trace性能分析

文章目录 一、trace概述二、trace的使用方式代码中trace采集通过pprof采集 三、trace分析细节trace的web界面trace中需要关注的关注GC的频率关注goroutine调度情况关注goroutine的数量理想情况 四、GC分析当前服务GC情况设置GOGC设置GOMEMLIMITGC阈值的讨论GC的特点 五、gorout…

【每日挠头算法题(8)】最后一个单词的长度|重新排列字符串

文章目录 一、最后一个单词的长度思路1:从后往前遍历具体代码如下: 思路2:具体代码如下: 二、重新排列字符串思路具体代码如下: 一、最后一个单词的长度 点我直达~ 思路1:从后往前遍历 从后往前遍历&…

Stable DiffusionAI绘画一键启动整合包

点击"仙网攻城狮”关注我们哦~ 不当想研发的渗透人不是好运维 让我们每天进步一点点 简介 搞了个Stable DiffusionAI绘画整合包,里面有二次元风格、3D风格、真人模型,需要的后台回复“AI绘画”即可获取下载链接,放几个用SD生成的图。 实战 1.下载好…

调用万维易源API实现图像性别转换

目录 1、作者介绍2、调用万维易源API2.1 API介绍2.2 API调用过程 3、代码实现3.1 实现步骤3.2 完整代码 4、问题与分析 1、作者介绍 梁随欣,男,西安工程大学电子信息学院,2022级研究生 研究方向:模式识别与人工智能 电子邮箱&…

【Java技术专题】「入门到精通系列教程」深入探索Java特性中并发编程体系的原理和实战开发指南( 线程基础技术专题)

深入探索Java特性中并发编程体系的原理和实战开发指南 并发编程介绍什么是并发编程并发编程的好处是什么并发编程的挑战是什么并发编程模型有哪些如何学习并发编程本系列专题文章大全 实战原理计算的问题简单的方法:更快的CPU来遍历靠谱的方法:分而治之来…

Redis客户端 - RedisSerializer

原文首更地址,阅读效果更佳! Redis客户端 - RedisSerializer | CoderMast编程桅杆https://www.codermast.com/database/redis/redistemplate-redis-serializer.html 前景回顾 在上一篇中,我们实现了一个简单的案例,操作一个 St…

【22AP20 解码处理器(Hi3536AV100)】

22AP20 解码处理器(Hi3536AV100) 一、产品简介 22AP20 是针对多路高清/超高清(1080p/4M/5M/4K)智能 NVR 产品应用开发的新一代专业高端 SoC 芯片。22AP20 集成了 ARM Cortex-A55 八核处理器和性能强大的图像分析工具处理器,支持多种智能算法…

webpack无损压缩本地静态资源图片image-minimizer-webpack-plugin

开发如果项目中引用了较多图片,那么图片体积会比较大,将来请求速度比较慢。 我们可以对图片进行压缩,减少图片体积。 一、image-minimizer-webpack-plugin介绍 Image-minimizer-webpack-plugin是一个用于优化和压缩图片的Webpack插件。它使…

Qt5.15.2安装Android开发环境。

文章目录 1.下载并安装JDK1.1.下载1.2.安装 2.修改sdk_definitions.json文件3.QtCreator的配置3.1.设置JDK、Android SDK的路径3.2.设置openssl 现在(20230617)利用QtCreator来配置android开发环境还是挺方便的。基本三步搞定(不过你要先安装…

《分布式中间件技术实战:Java版》学习笔记(一):抢红包

数据库建表 (1)red_send_record 记录用户发送了若干总金额的若干个红包。 CREATE TABLE red_send_record (id int(0) NOT NULL AUTO_INCREMENT,user_id int(0) NOT NULL COMMENT 用户id,red_packet varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL…

笔记本电脑介绍:记录生活,激发灵感

笔记本电脑是一种轻便、便携的电脑,它的出现改变了人们的工作和生活方式,它的优势在于它的小巧、轻便、便携性,可以满足用户的不同需求。本文将从笔记本电脑的结构、功能、优势和应用四个方面进行详细阐述。 一、笔记本电脑的结构 笔记本电…

mysql常见错误汇总

mysql常见错误汇总 列别名问题 可以在查询选择列表中使用别名为列提供 不同名称。可以使用 、 或子句中的别名来引用该列:GROUP BY ORDER BY HAVING SELECT SQRT(a*b) AS root FROM tbl_nameGROUP BY root HAVING root > 0;SELECT id, COUNT(*) AS cnt FROM t…

Grafana安装和实现可视化和告警

1、Grafana安装和实现可视化和告警 Prometheus UI 提供了快速验证 PromQL 以及临时可视化支持的能力,但其可视化能力却比较弱。一般情况下, 我们都用 Grafana 来实现对 Prometheus 的可视化实现。 1.1 什么是 Grafana Grafana 是一个用来展示各种各样…

【Linux】可重入函数

文章目录 前言一. 场景二. 可重入与线程安全结束语 前言 在Linux中,进程/线程可能因为时间片到达,或者其他中断,或者调用系统,需要从用户态切换到内核态,而内核空间会保存切换前,用户代码执行处的上下文&a…

环境搭建【1】VM和ubuntun 环境搭建

1.安装VMware 1.1 下载安装包 (1)官网下载:https://customerconnect.vmware.com/en/downloads/info/slug/desktop_end_user_computing/vmware_workstation_pro/16_0 (2)百度网盘:https://pan.baidu.com/s/…

5.pixi.js编写的塔防游戏(类似保卫萝卜)-子弹跟随精灵移动

游戏说明 一个用pixi.js编写的h5塔防游戏,可以用electron打包为exe,支持移动端,也可以用webview控件打包为app在移动端使用 环境说明 cnpm6.2.0 npm6.14.13 node12.22.7 npminstall3.28.0 yarn1.22.10 npm config list electron_mirr…

【详解】篮球记分牌硬件及代码

篮球记分牌设计 1 系统设计1.1 设计任务 1.2 性能指标要求1.2 设计思路及设计框图1.2.1设计思路1.2.2总体设计框图1.2.3电路原理图1.2.3 PCB布线图 2 主要程序模块的设计及原理2.1 外部中断0 2.2 菜单2.3 两队比分及两队犯规次数显示及修改2.3.1选择功能2.3.2修改功能2.3.3显示…

golang vscode环境报错gopls was not able to find modules in your workspace的解决方式

目录 错误提示 分析 解决方式 方法一:将workspace与项目路径保持一致 方案二:使用go work指明纳入工作区的的module 总结 错误提示 golang从老版本升级到go1.20.5后打开vscode,发现代码不能自动补全了,而且vscode跳出一下的…

dolphinscheduler创建创建租户错误

报错信息 [ERROR] 2023-06-17 17:04:10.282 org.apache.dolphinscheduler.api.exceptions.ApiExceptionHandler:[45] - 创建租户错误 org.apache.hadoop.security.AccessControlException: Permission denied: userhdfs, accessWRITE, inode"/":root:supergroup:drw…

搭建自己的 new bing网站----nginx反代(群晖,全docker版)

文章目录 1.前言:2. 部署过程:2.1.部署go-proxy-bing 项目:2.1.部署nginx反代:这两步完成实际上就可以访问了, 3.部署聊天服务器:代表链接成功! 1.前言: 本篇教程全萌新向&#xff…