Yomisana/are-you-get-tanstack-attack

GitHub: Yomisana/are-you-get-tanstack-attack

针对 TanStack Router 供应链攻击(CVE-2026-45321)的专用扫描器,通过检测恶意文件、可疑依赖和受影响版本来判断项目是否被攻陷。

Stars: 0 | Forks: 0

# TanStack Router CVE 扫描器 一款用于检测您的项目中是否存在 [TanStack Router CVE](https://nvd.nist.gov/vuln/detail/CVE-2026-45321) | [TanStack Router GHSA](https://github.com/TanStack/router/security/advisories/GHSA-g7cv-rxg3-hmpx) 漏洞的安全扫描工具。 ## 概述 此工具会扫描您的代码库,以查找影响特定版本 TanStack Router 软件包的 TanStack Router 漏洞 (CVE-2026-45321 / GHSA-g7cv-rxg3-hmpx) 的相关特征。它能够检测: - 可能包含恶意代码的 `router_init.js` 文件 - `package.json` 中可疑的可选依赖项 - 已知的易受攻击软件包版本 - 锁文件 (`package-lock.json`、`pnpm-lock.yaml`、`yarn.lock`) 中的易受攻击版本 - npm 日志中的相关记录 ## 已知易受攻击的版本 以下软件包版本被标记为易受攻击: | 软件包 | 易受攻击的版本 | |---------|---------------------| | `@tanstack/react-router` | 1.169.5, 1.169.8 | | `@tanstack/react-start` | 1.167.68, 1.167.71 | | `@tanstack/router-core` | 1.169.5, 1.169.8 | | `@tanstack/router-devtools-core` | 1.167.6, 1.167.9 | | `@tanstack/react-router-devtools` | 1.166.16, 1.166.19 | | `@tanstack/router-plugin` | 1.167.38, 1.167.41 | | `@tanstack/router-vite-plugin` | 1.166.53, 1.166.56 | | `@tanstack/router-cli` | 1.166.46, 1.166.49 | | `@tanstack/router-generator` | 1.166.45, 1.166.48 | | `@tanstack/virtual-file-routes` | 1.161.10, 1.161.13 | | `@tanstack/history` | 1.161.9, 1.161.12 | ## 风险等级 - **HIGH (高风险)**: 发现 `router_init.js`、可疑的可选依赖项,或在 `package.json`/锁文件中发现易受攻击的版本 - **MEDIUM (中风险)**: 仅在 npm 日志中发现相关记录 - **LOW (低风险)**: 未发现任何相关特征 ## 安装说明 ### macOS 1. 打开“终端” 2. 导航到您的项目目录: cd /path/to/your/project 3. 运行扫描器(见下方用法) ### Windows 1. 打开“命令提示符”或 PowerShell 2. 导航到您的项目目录: cd C:\path\to\your\project 3. 运行扫描器(见下方用法) ### Linux 1. 打开终端 2. 导航到您的项目目录: cd /path/to/your/project 3. 运行扫描器(见下方用法) ## 用法 ### 基本用法 **扫描当前目录:** ``` node scan.js ``` **扫描指定文件夹:** ``` node scan.js /path/to/your/project ``` **扫描主目录:** ``` node scan.js ~ ``` ### 将输出保存到 JSON 文件 **macOS / Linux:** ``` node scan.js ~/your-project > scan-result.json ``` **Windows (命令提示符):** ``` node scan.js C:\Users\YourName\your-project > scan-result.json ``` **Windows (PowerShell):** ``` node scan.js C:\Users\YourName\your-project | Out-File -FilePath scan-result.json ``` ### 示例工作流 **扫描单个项目:** ``` cd /Users/username/my-react-app node scan.js . > result.json cat result.json ``` **扫描整个系统 (macOS/Linux):** ``` node scan.js ~ > full-scan.json ``` **结合 jq 使用 (macOS/Linux) - 仅过滤出风险等级:** ``` node scan.js . | jq -r '.risk' ``` ## 输出格式 扫描器输出 JSON 格式的结果,其结构如下: ``` { "scannedRoot": "/path/to/scanned/directory", "risk": "HIGH|MEDIUM|LOW", "summary": { "routerInit": 0, "optionalDeps": 0, "badPackageVersions": 0, "badLockVersions": 0, "npmLogs": 0, "errors": 0 }, "findings": { "routerInit": [], "optionalDeps": [], "badPackageVersions": [], "badLockVersions": [], "npmLogs": [], "errors": [] } } ``` ## 跳过的目录 为了提高性能,扫描器会自动跳过以下目录: - `.git` - `.next` - `.nuxt` - `.turbo` - `.cache` - `.DS_Store` - `dist` - `build` - `coverage` - `.yarn` 大于 5MB 的文件也会被跳过。 ## 如果发现漏洞该怎么办 如果扫描器报告 **HIGH (高风险)**: 1. **立即检查** 受影响的 `package.json` 文件 2. **更新易受攻击的软件包** 至最新的安全版本 3. **删除** 任何可疑的 `router_init.js` 文件 4. **清理并重新安装** 依赖项: rm -rf node_modules package-lock.json npm install 5. **检查** 您的锁文件中是否存在任何恶意配置 6. 如果您发现了被利用的证据,请**报告**该漏洞 ## 其他资源 - [TanStack Router GitHub](https://github.com/TanStack/router) - [NVD CVE-2026-45321](https://nvd.nist.gov/vuln/detail/CVE-2026-45321) - [安全通报](https://github.com/TanStack/router/security/advisories/GHSA-g7cv-rxg3-hmpx)
标签:AMSI绕过, CVE-2026-45321, DNS 解析, GHSA-g7cv-rxg3-hmpx, GNU通用公共许可证, lockfile, MITM代理, Node.js, npm, package.json, pnpm, TanStack React Router, TanStack Router, URL发现, yarn, 供应链攻击, 依赖安全, 前端安全, 威胁检测, 安全检测, 数据可视化, 自定义脚本