网易首页 > 网易号 > 正文 申请入驻

你的代码还安全吗?一次普通安装,竟让恶意脚本潜入开发环境!

0
分享至

现代软件开发早已变成了积木式协作,一个项目不会从零写完所有代码,开发过程中必然依赖成百上千个第三方库。

对于普通开发者来说,安装依赖就像从仓库里取零件,这些零件都来自 PyPI、npm、Maven、Cargo 这样的公共软件仓库。

这样做的好处在于,让开发效率大幅提高;坏处在于,让信任关系变得更复杂,安全投毒更易发生。

本质上,安装一个依赖时,是在允许外部代码进入自己的电脑、开发环境或者云服务器。

问题是,几乎没有开发者会去认真审查外部依赖库的代码,普遍是采取默认安全的态度。

Lightning PyPI 包被投毒攻击,就是基于使用/调用者的这种默认态度。

从目前得到的信息来看,攻击者拿到了 PyPI 发布凭据,克隆开源代码、注入 payload,然后直接向 PyPI 发布 2.6.2/2.6.3,绕过了 GitHub 源码仓库,恶意版本在 PyPI 存活约 42 分钟后被隔离/删除。

要知道,这次投毒事件,攻击者污染的并非一个冷门山寨包,这可是 PyPI 上正牌的 Lightning 包版本。Lightning 是 Python 机器学习生态中使用广泛的框架,很多人用它组织训练代码和管理分布式训练等等。

目前来看,受影响的Lightning 版本主要是 「2.6.2」 和 「2.6.3」,最后已知干净版本通常被认为是 「2.6.1」。

其实,对于开发者来说,其本身也很无辜,或者说委屈,因为其没有去下载来路不明的软件,也没有主动运行一个陌生脚本,只是像平时一样安装了 Lightning,如此而已。

谁会知道,在机器学习项目中再普通不过的「import lightning」,在特定版本突然就被投毒了呢。

而且,这次投毒类似于「0 click」攻击,也就是说,受污染版本的 Lightning 在被导入时,会悄悄启动隐藏在包内部的恶意逻辑,攻击触发点并不需要用户额外执行什么奇怪命令,正常导入库这个动作就足够了。

对于一个被如此广泛使用和导入的包来说,这种几乎无法防住。

目前,从包结构来看,恶意代码主要藏在 Lightning 包内部的运行时目录里,

对于受害者来说,主程序仍然可以继续执行,用户看到的训练脚本、Notebook 或测试流程可能都没有明显异常,这也是这次攻击的隐蔽性之一。这类设计非常符合供应链攻击的思路。攻击者通常不希望程序立刻崩溃,因为崩溃会让用户马上警觉。

一个好的投毒包会尽量维持原有功能,让用户相信一切正常,比如Lightning 这次的恶意版本。

也就是说,攻击者把 PyPI 当作入口,把 JavaScript 当作核心执行层,Python 生态协助攻击者进入机器学习开发环境,JavaScript 载荷负责执行已经成熟的凭据窃取、仓库投毒和 npm 传播。

分工明确,非常合理。

不过,投毒者其实也做了防护,那就是其对这个js进行了高度混淆,这样做有两个目的:拖慢安全研究人员的分析速度,同时降低静态扫描工具直接识别恶意逻辑的概率。

对于安全分析人员来说,要先解混淆才能分析,这就给了病毒运行一定的时间缝隙。

还原之后可以看到,这个恶意脚本首先关心的是凭据,恶意脚本会扫描整个系统,寻找 GitHub 访问令牌、npm 访问令牌、云平台密钥、OAuth token 和各种 CI/CD secret,以及等等等等,写的还挺全面。

恶意脚本还会尝试访问云环境中的元数据地址,例如常见的「169.254.169.254」和容器任务凭据地址「169.254.170.2」。

一旦恶意代码已经在机器上运行,它就可以在有效期内利用这些权限来做恶意操作、横向移动,提权和数据泄露等等。

此外,脚本还会验证这些凭据是否有效,以此直接在本地筛选出有价值的权限。例如,它会调用 GitHub API 判断 token 能访问哪些仓库,也可以调用 npm registry 的身份接口判断 npm token 是否可用。

每个被污染的提交都是使用硬编码的身份编写的,这样做的目的是模仿 Anthropic 的 Claude Code,导致 GitHub 的用户界面将claude显示为仓库的贡献者。

对于普通开发者,这种提交在视觉上与 Claude Code 的合法操作并无区别。现在很多开发团队已经习惯 AI 工具了,这就使得投毒攻击的传播更加隐蔽了。

纵观整个传播了,最初的入口是 PyPI 上的 Python 包,后续执行层是 Bun 和 JavaScript,传播目标包括 GitHub 仓库和 npm 包。

对于我来说,这次供应链攻击最新鲜的莫过于其在污染GitHub仓库时使用了Claude 这个提交角色,这是以往LLM没出现前所没有遇到的情况,非常的新奇,但是仔细一想也确实非常的有新意,而且,看得出来是经过仔细的考虑,非常有创意。

对于普通开发者,判断自己是否受影响,关键看两个条件:是否安装过 「lightning==2.6.2」 或 「lightning==2.6.3」,是否在该环境中执行过 「import lightning」 或运行过会导入 Lightning 的脚本。

如果有的话,马上卸载包,并且检查和更换各类凭证。重点处理 GitHub token、npm token、PyPI token、AWS、Azure、GCP 密钥、CI/CD secrets、模型仓库 token 和任何曾经出现在环境变量中的敏感信息。

目前来看,检查完之后,可以先回退到安全版本「2.6.1」来使用。

这件事再一次提醒各位,供应链安全一定要重视,开源和三方库,不一定意味着安全。



声明:个人原创,仅供参考

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
连环违规!抽屉合同!联盟第二大悬案来了!

连环违规!抽屉合同!联盟第二大悬案来了!

柚子说球
2026-07-18 02:44:47
姆巴佩8年换5任女友,世界杯期间必换绝色新欢个个都是绝色佳人

姆巴佩8年换5任女友,世界杯期间必换绝色新欢个个都是绝色佳人

借你一生
2026-07-18 04:17:24
12次春晚零失误、年入千万却亲手染发,43岁无儿无女的尼格买提

12次春晚零失误、年入千万却亲手染发,43岁无儿无女的尼格买提

东方不败然多多
2026-07-18 14:00:51
真的来了!苹果正式宣布 iPhone 全系大涨价!

真的来了!苹果正式宣布 iPhone 全系大涨价!

XCiOS俱乐部
2026-07-18 08:43:02
瞒了20多年不再回避!陈坤官宣儿子生母真相,多年流言落下帷幕

瞒了20多年不再回避!陈坤官宣儿子生母真相,多年流言落下帷幕

眼底星碎
2026-07-18 11:01:59
刘玉栋王治郅批基本功不扎实,郭艾伦直言如今练法全乱,传统训练无法塑造真正对抗能力

刘玉栋王治郅批基本功不扎实,郭艾伦直言如今练法全乱,传统训练无法塑造真正对抗能力

刘哥谈体育
2026-07-19 01:34:39
中创新航、广汽埃安,深夜回应

中创新航、广汽埃安,深夜回应

中国基金报
2026-07-18 22:49:24
26岁身价170万欧!16场比赛狂轰13球,国足没有归化他后悔吗?

26岁身价170万欧!16场比赛狂轰13球,国足没有归化他后悔吗?

篮球圈里的那些事
2026-07-18 17:38:58
CCTV5直播阿根廷决战西班牙,球衣颜色确定,限制梅西球员已找到

CCTV5直播阿根廷决战西班牙,球衣颜色确定,限制梅西球员已找到

体育大学僧
2026-07-18 11:35:12
愿平安!“00后”网格员龚宝冬,仍在失联中

愿平安!“00后”网格员龚宝冬,仍在失联中

封面新闻
2026-07-18 21:29:04
欧洲人疯狂爱上中国,机票销量暴涨12倍,首站令人意外

欧洲人疯狂爱上中国,机票销量暴涨12倍,首站令人意外

别让往昔的悲伤和对未来的恐惧
2026-07-18 14:59:56
申通创始人殒命25岁,死因成疑匆匆火化,妻子携司机共享百亿遗产

申通创始人殒命25岁,死因成疑匆匆火化,妻子携司机共享百亿遗产

老琴才是我的外号
2026-07-18 11:56:37
惊天大反转!具俊晔怒告S妈,称被蒙骗放弃遗产,还窥伺孩子继承权利

惊天大反转!具俊晔怒告S妈,称被蒙骗放弃遗产,还窥伺孩子继承权利

可乐谈情感
2026-07-18 13:58:50
申思让人一声叹息,球迷想念吴承瑛,他几乎是中国足球唯一的清流

申思让人一声叹息,球迷想念吴承瑛,他几乎是中国足球唯一的清流

足坛刘脂导
2026-07-18 18:07:37
宋轶整容失败认不出?乍一看还以为是易梦玲,脸变宽嘴变大颧骨变高

宋轶整容失败认不出?乍一看还以为是易梦玲,脸变宽嘴变大颧骨变高

扒星人
2026-07-17 13:56:37
53岁前国脚在警方面前撒谎!否认扇飞小球员 俱乐部:他不是教练

53岁前国脚在警方面前撒谎!否认扇飞小球员 俱乐部:他不是教练

念洲
2026-07-18 16:01:36
彭水山体崩塌吹哨人曝光,前夜发现落石,最早上报上山查看发现异常,通知邻居撤离救了数十人

彭水山体崩塌吹哨人曝光,前夜发现落石,最早上报上山查看发现异常,通知邻居撤离救了数十人

Mr王的饭后茶
2026-07-19 00:23:39
中山一公交站出现“巨蜥”?官方回应:是五爪金龙标本,正在追查来源

中山一公交站出现“巨蜥”?官方回应:是五爪金龙标本,正在追查来源

新浪财经
2026-07-19 04:04:20
专家分析:彭水山体崩塌为何如此猛烈?

专家分析:彭水山体崩塌为何如此猛烈?

大风新闻
2026-07-18 19:58:07
“天才少年”正在被批量退货

“天才少年”正在被批量退货

快刀财经
2026-07-16 11:18:17
2026-07-19 07:35:00
我叫汤姆
我叫汤姆
感谢关注,持续更新
548文章数 274关注度
往期回顾 全部

科技要闻

WAIC2026看什么?这份"不迷路"攻略请收好

头条要闻

“黄总请你去包厢” 媒体:是误会 已和解

头条要闻

“黄总请你去包厢” 媒体:是误会 已和解

体育要闻

法国半场连丢4球 连创5大耻辱纪录

娱乐要闻

大S给具俊晔留遗产是昏头?实际上她清醒得很

财经要闻

股民当街砍博主!韩国股市 终极大屠杀

汽车要闻

把中国超跑卖到英国,比亚迪正在被世界看见

态度原创

手机
游戏
艺术
时尚
教育

手机要闻

30年前的一句话成为现实!荣耀Robot Phone应验凯文·凯利预言

守望先锋推出十年以来最涩泳装,玩家却只关心脚裹得太严实?

艺术要闻

蒋校长和郭沫若同题“黄帝陵”,水平谁高谁低?

钱没白花|| 用了6年、真正留下来的心头爱,这次有好价!

教育要闻

高考地理中的“启示类”问题分析

无障碍浏览 进入关怀版