供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
大数据开发治理平台 DataWorks,不限时长
简介: 投毒行为瞄准AI开发者

概述

本周(2024年01月15号),悬镜供应链安全实验室在Pypi官方仓库(https://pypi.org/)中捕获1起Py包投毒事件,投毒者利用包名错误拼写(typo-squatting)的攻击方式来仿冒谷歌开源的tensorflow机器/深度学习框架,投毒攻击目标锁定AI开发者。

q1.png

截至目前,投毒者在Pypi仓库共发布5个不同版本的恶意包。python开发者一旦通过pip命令下载或安装该投毒包(tensrflwo),则会触发执行Py组件包中的恶意后门代码,并最终导致开发者系统被攻击者远程控制。

q2.png

恶意Py包tensrflwo在Pypi官方仓库上的总下载量为870次。

q3.png

该恶意Py包已从Pypi官方仓库下架,但通过国内主流Pypi镜像源(清华大学、腾讯云等)依旧可正常下载、安装该恶意包,因此潜在的受害者数量将会更多,尤其对于国内广大使用tensorflow深度学习框架的AI开发者来说,仍存在被恶意投毒攻击的风险。

q4.png

投毒分析

攻击流程

Py投毒包tensrflwo尝试利用包名错误拼写 (typo-squatting)来攻击使用tensorflow框架的AI开发者。tensrflwo安装包setup.py中定义的taint2()函数通过创建子进程将受害者系统shell反连到投毒者控制的服务器上(59.110.111.85:8088),最终投毒者能够通过反弹的shell实现对受害者系统进行远程控制。

一旦开发者通过命令pip download tensrflwo下载py包或者pip install tensrflwo安装py包时,投毒包tensrflwo中的恶意函数tain2()会立即被调用执行,开发者系统将被投毒者远程控制。

攻击复现

以清华大学和腾讯云pypi镜像源为例,通过以下pip命令模拟开发者安装恶意包tensrflwo 。

pip install tensrflwo -i  https://pypi.tuna.tsinghua.edu.cn/simple/

pip install tensrflwo -i https://mirrors.cloud.tencent.com/pypi/simple

同样,在本地环境中模拟投毒攻击者的服务器IP (59.110.111.85),并监听TCP 8088端口,当受害者执行pip install tensrflwo  操作时,攻击者可获取受害者系统shell权限,并可对目标系统进行远程控制。

IoC数据

此次投毒组件包涉及的恶意文件和恶意链接IoC数据如下所示:

排查方式

截至目前,该Python恶意组件包可正常从国内主流Pypi镜像源下载安装,国内Python开发者仍面临被投毒攻击的安全风险,开发者需提高安全防护意识,可自行根据IoC和恶意包信息通过以下方式进行快速排查是否安装或引用恶意组件包。

开发者可通过命令pip show tensrflwo快速排查是否误安装或引用该恶意py组件包,若命令运行结果如下图所示,则代表系统已被安装该恶意组件,请尽快通过命令pip uninstall tensrflwo -y 进行卸载,此外还需关闭系统网络并排查系统是否存在异常进程。

此外,开发者也可使用OpenSCA-cli,将受影响的组件包按如下示例保存为db.json文件(可参考总结中提到的组件包信息按格式增减),直接执行扫描命令(opensca-cli -db db.json -path ${project_path}),即可快速获知您的项目是否受到投毒包影响。

[
  {
    "product": "tensrflwo",
    "version": "[2.5.1,2.5.1]|[2.7,2.7]|[2.7.1,2.7.1]|[2.8,2.8]|[2.9,2.9]",
    "language": "python",
    "id": " XMIRROR-MAL45-777DD586",
    "description": "恶意Python组件包投毒,仿冒tensorflow AI框架。",
    "release_date": "2024-01-15"
  }
]

悬镜供应链安全情报中心将持续监测全网主流开源软件仓库,对潜在风险的开源组件包进行动态跟踪和溯源,实现快速捕获开源组件投毒攻击事件并第一时间提供精准安全预警。

相关文章
|
3天前
|
机器学习/深度学习 人工智能 算法
Python 与 TensorFlow2 生成式 AI(一)(4)
Python 与 TensorFlow2 生成式 AI(一)
29 0
|
3天前
|
机器学习/深度学习 人工智能 TensorFlow
Python 与 TensorFlow2 生成式 AI(一)(3)
Python 与 TensorFlow2 生成式 AI(一)
32 0
|
3天前
|
机器学习/深度学习 人工智能 算法
Python 与 TensorFlow2 生成式 AI(五)(3)
Python 与 TensorFlow2 生成式 AI(五)
22 0
|
3天前
|
机器学习/深度学习 人工智能 算法
Python 与 TensorFlow2 生成式 AI(五)(2)
Python 与 TensorFlow2 生成式 AI(五)
21 0
|
3天前
|
机器学习/深度学习 存储 人工智能
Python 与 TensorFlow2 生成式 AI(五)(1)
Python 与 TensorFlow2 生成式 AI(五)
26 0
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
自动化测试中AI驱动的决策框架设计与实现
【5月更文挑战第5天】 在软件测试领域,自动化测试已成为提升测试效率和质量的关键手段。然而,随着软件系统的复杂性增加,传统的自动化测试方法面临挑战,尤其在测试用例的生成、执行及结果分析等方面。本文提出一种基于人工智能(AI)的自动化测试决策框架,旨在通过智能化的算法优化测试过程,并提高异常检测的准确率。该框架结合机器学习和深度学习技术,能够自学习历史测试数据,预测高风险变更区域,自动生成针对性强的测试用例,并在测试执行过程中实时调整测试策略。此外,通过自然语言处理(NLP)技术,该框架还能对测试结果进行语义分析,进一步提供更深入的洞察。本研究不仅增强了自动化测试工具的智能性,也为软件质量保证提
|
6天前
|
机器学习/深度学习 数据可视化 PyTorch
TensorFlow与PyTorch框架的深入对比:特性、优势与应用场景
【5月更文挑战第4天】本文对比了深度学习主流框架TensorFlow和PyTorch的特性、优势及应用场景。TensorFlow以其静态计算图、高性能及TensorBoard可视化工具适合大规模数据处理和复杂模型,但学习曲线较陡峭。PyTorch则以动态计算图、易用性和灵活性见长,便于研究和原型开发,但在性能和部署上有局限。选择框架应根据具体需求和场景。
|
6天前
|
人工智能 自然语言处理 算法
分享几个.NET开源的AI和LLM相关项目框架
分享几个.NET开源的AI和LLM相关项目框架
|
6天前
|
人工智能 移动开发 小程序
uniapp框架——vue3+uniFilePicker+fastapi实现文件上传(搭建ai项目第二步)
uniapp框架——vue3+uniFilePicker+fastapi实现文件上传(搭建ai项目第二步)
62 2
|
6天前
|
人工智能 小程序 前端开发
uniapp框架——初始化vue3项目(搭建ai项目第一步)
uniapp框架——初始化vue3项目(搭建ai项目第一步)
31 1