GarlicB/jquery35-local-agent
GitHub: GarlicB/jquery35-local-agent
该工具是一个零外部依赖的本地 jQuery CVE-2020-11023 漏洞修复迁移套件,帮助封闭网络中的老旧 Spring/JSP 系统安全升级 jQuery 至 3.5+ 版本。
Stars: 1 | Forks: 0
# jquery35-local-agent
**在封闭网络中仅靠 Node.js 即可运行的 jQuery CVE-2020-11023 漏洞修复自动化工具**
(适用于老旧的 Java/Spring/JSP 项目 · 无需 npm install · 无需网络 · 外部依赖为 0)
当老旧的企业内部 Web 系统(Spring 3.x + JSP + jQuery 1.x)需要将 jQuery 升级至 3.5+ 时,该工具会在本地处理所需的全过程:
**全量静态分析 → 安全的自动修改(生成 TO-BE) → 替换 jQuery 3.7.1 + Migrate → 页面 Runtime Probe → mock Lab 服务器 → 上线部署前的门禁检查 → 生成报告**。
## 特点
- **保持原始文件不变原则** — 所有更改仅生成在 `--target` TO-BE 文件夹中。通过与原文件进行 diff 对比后再合并。
- **减少误报的扫描器** — 不依赖简单的正则表达式,而是采用 token 掩码(移除注释/字符串/正则)+ 接收者链路回溯 + 括号平衡参数解析器 + 文件内 taint 追踪(ajax 回调参数 → DOM sink 提升)+ 全项目调用点类型推断。
- **仅自动修改安全项** — 仅执行在 jQuery 1.x/3.x 双向兼容的预防性修改,如 `.bind→.on`、`.size()→.length`、boolean `.attr→.prop`。绝不自动修改类似 `.html(response)` 的 XSS 候选项,仅进行分类标记。
- **适配封闭网络/老旧环境** — 支持用于 Edge IE 模式(开发者工具受限)的 ES5 Runtime Probe,保留 EUC-KR 文件字节(latin1 round-trip),在无需 npm 的情况下直接生成 CSV/XLS 报告。
- **内置自检功能** — `--mode self-test` 会创建一个临时示例项目,以验证整个生命周期(44 项检查)。
## 快速开始
```
node run-jquery35-v5.js --mode self-test
node run-jquery35-v5.js --source "C:\work\legacy-app" --target "C:\work\legacy-app_jquery35_tobe" --report "C:\work\jquery35_report_v5" --mode plan
```
随后打开 `report\index.html` 仪表板查看概况,并按照 `README_FIRST.txt` 中的 6 个步骤(分析 → 自动修改 → 替换 jQuery → Probe → Lab → verify-clean)进行操作即可。
Windows 用户只需修改附带的 `실행1_분석만.bat` 到 `실행6_운영반영전검증.bat` 顶部的路径即可运行。
## 文档
- [README_KO.md](README_KO.md) — 完整手册(判定标准、模式说明、Bitbucket/Bamboo 流程、FAQ)
- [VENDOR_COMPAT_KO.md](VENDOR_COMPAT_KO.md) — 供应商兼容性简报:jqGrid/jQuery UI/select2/autoNumeric 的 jQuery 3.x 兼容版本、jQuery UI 自身的 CVE、Migrate 无法恢复的行为变更(自闭合标签等)
- [RUN_EXAMPLES_KO.txt](RUN_EXAMPLES_KO.txt) — 命令示例集
- [README_FIRST.txt](README_FIRST.txt) — 快速入门
文档中的所有路径(如 `C:\work\legacy-app` 等)均为示例。请替换为您实际的项目路径进行使用。
## 环境要求
Node.js(任意 LTS 版本)。仅此而已。
## 许可证
MIT
标签:GNU通用公共许可证, jQuery, MITM代理, Node.js, 代码重构, 安全专业人员, 漏洞修复, 网络安全培训, 遗留系统, 错误基检测, 静态代码分析