Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/ry-allan/tanstack-compromise-checker
危害指标 (IOC) 管理漏洞扫描器持久化机制取证分析恶意软件分析命令与控制威胁情报供应链安全事件响应

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHubry-allan/tanstack-compromise-checker

tanstack-compromise-checker

检测 CVE-2026-45321(TanStack 供应链攻击)和 Mini Shai-Hulud 蠕虫工件。扫描 node_modules、锁文件、持久化钩子(Claude Code、VS Code、systemd、LaunchAgent)、GitHub 工作流、Git 历史、C2 域名和 AI 工具配置。

查看仓库
73个月前尚未审核

tanstack-compromise-checker

⚠️ 免责声明: 此工具是为我自己的使用场景而构建的。所有指标均来自以下通告源:

  • GHSA-g7cv-rxg3-hmpx
  • Snyk:TanStack npm 包遭入侵
  • StepSecurity:Mini Shai-Hulud 深度分析

如果在本次更新之后出现新的 IOC、负载变体或攻击者基础设施,它们将不会被检测到。请始终与最新发布的通告进行交叉核对。

检测本地项目检出中的 TanStack 供应链入侵(CVE-2026-45321)及相关 Mini Shai-Hulud 蠕虫工件。

该脚本旨在用于源代码检出、CI 作业和 Docker 构建中的快速分类。结果干净表示未发现以下任何已知指标。这并非完整的取证调查,也不保证机器从未暴露过。

检查内容

类别详情
入侵包全部 42 个 @tanstack/* 包 + 20 个蠕虫传播的次级受害者(@mistralai、@opensearch-project、@draftlab、safe-action 等)
锁定文件扫描pnpm-lock.yaml、yarn.lock、bun.lock、bun.lockb、package-lock.json,包括多行 npm v3 packages 条目和 Yarn v1 selector/version 节
负载文件node_modules 中的 router_init.js、tanstack_runner.js,含 SHA-256 校验;精确哈希匹配和哈希不匹配均会导致扫描失败
感染向量任何已安装包中的 @tanstack/setup 作为 optionalDependency
持久化项目和主目录设置中的 Claude Code SessionStart 钩子、VS Code folderOpen 任务、gh-token-monitor(LaunchAgent + systemd)、恶意 GitHub 工作流
磁盘工件.claude/router_runtime.js、.claude/setup.mjs、.vscode/setup.mjs、gh-token-monitor.sh、com.user.gh-token-monitor.plist
源 IOC攻击者提交哈希、C2 域名(api.masscan.cloud、git-tanstack.com)、Session Protocol 端点、PBKDF2 盐值、活动字符串
Git 历史作者为 [email protected] 的提交
分支模式dependabot/github_actions/format/* 和 dependabout/*/setup-formatter
AI 工具配置被篡改的 .claude/mcp.json 和 .kiro/settings/mcp.json
运行中的进程守护化的负载和 gh-token-monitor 进程
npm 令牌被勒索标记的令牌(IfYouRevokeThisTokenItWillWipeTheComputerOfTheOwner)

未覆盖的内容

  • 它仅检查来自公开通告的已知包名、版本、文件名、哈希、域名、分支名和持久化路径。新的攻击者基础设施或重命名的负载可能需要新指标。
  • 它按包管理器优先级顺序(pnpm、yarn、bun,然后是 npm)选择一个项目锁定文件。如果仓库有意携带多个锁定文件,请分别扫描每个相关包管理器状态。
  • 它可以识别可疑文件和配置,但不会移除恶意软件、轮换密钥、撤销令牌或对主机进行镜像。
  • npm 令牌检查仅在 npm 可用且通过足够认证以执行 npm token list 时运行。
  • 主目录持久化检查会检查运行脚本进程的当前 HOME。在 CI 或容器中,该路径可能不同于开发者工作站的主目录。

快速开始

root@kitploit:~
# 扫描当前目录
bash check-tanstack-compromise.sh .

# 扫描特定项目
bash check-tanstack-compromise.sh /path/to/project

# 一行命令(curl)
curl -sL https://raw.githubusercontent.com/ry-allan/tanstack-compromise-checker/main/check-tanstack-compromise.sh | bash

退出码 0 = 未发现覆盖到的指标。 退出码 1 = 发现覆盖到的入侵或可疑负载指标。

示例输出(干净项目)

root@kitploit:~
═══════════════════════════════════════════════════════════════
  TanStack 供应链入侵检查 (CVE-2026-45321)
═══════════════════════════════════════════════════════════════
  通告:GHSA-g7cv-rxg3-hmpx
  参考:https://snyk.io/blog/tanstack-npm-packages-compromised/
  深度分析:https://www.stepsecurity.io/blog/mini-shai-hulud-is-back-…

[*] 正在扫描:/Users/xxxxx/repos/xxxxx

[*] 包管理器:pnpm (pnpm-lock.yaml)

[*] 检查已安装的 TanStack 包是否与 42 个已知入侵版本匹配…

[*] 检查蠕虫传播的次级受害者 (Mini Shai-Hulud)…
[*]   包:@mistralai、@opensearch-project、@draftlab、@draftauth、
[*]   @dirigible-ai、safe-action、cmux-agent-mcp、nextmove-mcp、
[*]   git-git-git、git-branch-selector、agentwork-cli、ml-toolkit-ts、
[*]   wot-api、cross-stitch、ts-dna

[*] 扫描锁定文件中已知入侵版本 (pnpm-lock.yaml)…
[✓] 锁定文件中未发现入侵版本

[*] 检查持久化工件(负载文件、钩子、服务、C2)…
[✓] Git 历史中无恶意作者提交

───────────────────────────────────────────────────────────────
[✓] 未检测到入侵。

预防未来攻击

安装 Aikido Safe Chain 以自动扫描每次包安装中的恶意软件:

root@kitploit:~
curl -fsSL https://github.com/AikidoSec/safe-chain/releases/latest/download/install-safe-chain.sh | sh

之后重启终端。Safe Chain 包装了 npm、npx、yarn、pnpm、pip、uv 等——在恶意包接触磁盘之前阻止年龄小于 48 小时的新包和已知不良版本。无需令牌或配置。

测试覆盖率

集成 Dockerfile 仅创建合成测试夹具。它不会下载真实入侵包。

主夹具断言所有 33 条检测消息在包清单、锁定文件、持久化工件、工作流、Git 历史、源 IOC、负载文件名、AI 工具配置和修复输出中触发:

root@kitploit:~
docker build -f integration.Dockerfile -t tanstack-check-test .

Docker 构建还包括针对以下内容的回归测试覆盖:

  • package-lock.json v3 条目,其中包名和入侵版本出现在不同行。
  • Yarn v1 锁定文件条目,其中包选择器和入侵 version 出现在不同行。
  • 哈希不匹配的 router_init.js 负载文件名返回退出码 1。
  • 即使存在干净的项目级 .claude/settings.json,仍能检测到用户主目录级别的 Claude Code SessionStart 钩子。

构建后,可以直接运行镜像命令:

root@kitploit:~
docker run --rm tanstack-check-test

参考

  • GHSA-g7cv-rxg3-hmpx
  • Snyk:TanStack npm 包遭入侵
  • StepSecurity:Mini Shai-Hulud 深度分析
下载工具