NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

PyTorch-Nightly 受到供应链攻击,导致数据和文件泄露

  • 2023-02-10
    北京
  • 本文字数:932 字

    阅读完需:约 3 分钟

PyTorch-Nightly受到供应链攻击,导致数据和文件泄露

 PyTorch维护者表示,建议在 2022 年 12 月 25 日至 12 月 30 日期间安装了 PyTorch 夜间构建的开发人员卸载它并清除 pip 缓存,以摆脱恶意包。新的攻击凸显了最近的一个趋势。

 

供应链攻击源自一个恶意依赖项。该依赖项被推送到了 PyPi,它与 PyTorch 夜间构建附带的依赖项同名。

 

由于 PyPI 是索引优先的,所以安装的是这个恶意包,而不是官方存储库中的版本。这种设计允许用户注册与第三方索引中存在重名的包,pip 将默认安装他们的版本。

 

该恶意包名为 torchtriton,包含一个二进制文件,除了窃取主机名、DNS 配置、用户名、shell 环境等系统信息外,还会将/etc/hosts/etc/passwords~/.gitconfig~ /.ssh /*的内容,以及在用户主目录中找到的前 1000 个文件上传到外部服务器。不过,只有当用户显式地将triton包导入到他们的程序中时,信息才会被泄露,这降低了此次攻击的影响。

 

这种被称为依赖混淆的供应链攻击方案并不新颖。在接受 InfoQ 采访时,Endor Labs 安全研究员 Henrik Plate 解释说,这种攻击“与我们在过去两年中看到的次世代攻击类型一致”,攻击者的重点是操纵维护者和用户,而不是设法利用漏洞。

 

在官方披露后,torchtriton 的所谓维护者在他们的网站上宣称,这个包不是恶意的。对此,Ax Sharma 首先在 Twitter 上做了报道。不过,在分析Bleeping Computer 的攻击时,Sharma 还透露,torchtriton 使用了反虚拟机技术以及混淆来逃避检测。

 

这也不是第一次有黑客声称他们的行为应算是伦理研究,就像他们被抓到窃取机密一样。

 

根据 Plate 的说法,依赖项混淆攻击可以使用私有存储库来托管内部包和镜像外部包来解决。Python 生态系统有一个这样的解决方案是devpi,但它并不简单。

 

通常,这样的解决方案允许对依赖项解析和包下载过程进行更多的控制。但是,它们的设置和操作需要付出不小的努力,并且只有在开发人员本地客户端配置正确时,它们才有效。

 

PyTorch 维护者立即采取行动,删除作为依赖项的 torchtriton,替换为pytorch-triton,并在 PyPi 上注册了一个假包,以确保这种情况不会再发生。

 

原文链接:

https://www.infoq.com/news/2023/01/pytorch-supply-chain-attack/


相关阅读:

里程碑!PyTorch 正式加入 Linux 基金会,社区治理这一核心将不会改变

深度学习为什么要选择 PyTorch

进击的 PyTorch,和它背后的开源领袖

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2023-02-10 10:164467

评论

发布
暂无评论
发现更多内容

如何避免黑客攻击?国内首个云端加密代码库来帮忙

阿里云云效

阿里云 云原生 云效 代码安全 代码加密

Curve 加入 PolarDB 开源数据库社区,强化分布式共享存储

网易数帆

数据库 postgresql 云原生 分布式存储 polarDB

烂书!《气候经济与人类未来》

懒时小窝

烂书

深入分析沙箱逃逸漏洞

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞

运维接受新挑战!网易云原生运维体系建设之路

网易数帆

Kubernetes 云原生 运维自动化

注入语句详解(get注入,cookie注入,搜索型注入等)

喀拉峻

网络安全

你真的会 i++吗

爱笑的小雨

TCP协议:如何保证页面文件能被完整送达浏览器?

Tristan

前端 网络层 TCP协议

FinClip首届黑客马拉松 "快码加编”招募中,邀你挥洒创意赢万元现金大奖

FinClip

小程序 移动开发 APP开发 小程序插件

编程和英语,数学到底什么关系

北极的大企鹅

思维转换 编程思想

java培训:多个线程同时访问一个类是否有问题方法

@零度

JAVA开发

Android编译优化系列-kapt篇

字节跳动终端技术

android 字节跳动 编译优化 火山引擎 火山引擎MARS

推荐 10 本 Go 经典书籍,从入门到进阶(含下载方式)

AlwaysBeta

Go golang 编程语言 书单推荐 Go 语言

编程术语的类比(一)

北极的大企鹅

思维转换 编程思想

客户之声|客如云上线 OceanBase 小记

OceanBase 数据库

数据库 oceanbase 客户实践 客如云

北京大学拔山讲坛 | OceanBase 阳振坤:特斯拉电动汽车的发展对分布式数据库的启示

OceanBase 数据库

数据库 oceanbase 北京大学 线上讲座

OCR产业应用实战,多类别电表读数识别方案详解

百度大脑

详解Swin Transformer核心实现,经典模型也能快速调优

百度大脑

ICLR 2022|唯快不破!北航、NTU、百度飞桨提出面向极限压缩的全二值化BiBERT

百度大脑

推荐学java——SpringMVC第一课

逆锋起笔

springmvc java框架 Spring Java 3月月更

教你3种Kafka的指定副本作为Leader的实现方式

华为云开发者联盟

Leader Kafk 副本 AR顺序

演讲实录|云原生时代,OAM模型加持下的应用交付与管理实践

York

运维 云原生 OAM 应用开发

VuePress 博客如何开启本地 HTTPS 访问

冴羽

JavaScript Vue 前端 vuepress 博客搭建

CPU占用率爆满,服务器遭遇挖矿如何排查

山河已无恙

Linux 3月月更

不联网的情况下,使用 electron-builder 快速打包全平台应用

编程三昧

Electron 3月月更 electron-builder

千万级学生管理系统的考试试卷存储方案

阿卷

架构实战营

群晖 NAS 安装的 Docker MySQL 数据库没有办法通过局域网连接

HoneyMoose

在数字化与绿色的双轮之间,华为为全球企业搭建一道“车轴”

脑极体

性能测试中过滤异常的响应时间

FunTester

性能测试 HTTP 接口测试 响应时间 FunTester

编程术语的类比(二)

北极的大企鹅

学习 思维转换 编程思想

Web 键盘输入法应用开发指南 (5) —— 实战技巧

天择

JavaScript 键盘 实战 输入法 3月月更

PyTorch-Nightly受到供应链攻击,导致数据和文件泄露_AI&大模型_Sergio De Simone_InfoQ精选文章