Interchouette-ITC/evaluator

GitHub: Interchouette-ITC/evaluator

Evaluator 是一个用于评估网站上 JavaScript 函数参数的工具,支持 Web API 调用和 Rust CLI 批量处理。

Stars: 2 | Forks: 2

# _Evaluator_ 本项目旨在简化对网站上 JavaScript 函数参数的评估。 通常用于辅助反混淆 ,使用 `String.fromCharCode` 或 `window.eval` 或其他类似 `JSON.stringify` 的函数。 ## 部署在 [Render](https://render.com/) 的 [evaluator.onlyeum.io](https://evaluator.onlyeum.io/)(beta) Render 将在后续步骤中从 Interchouette Docker 镜像重新部署。 ## 参考 - - ![Evaluator (18)](https://static.pigsec.cn/wp-content/uploads/repos/cas/e3/e3ffffd3661f3529aa603e4f46ffae8d416e88679741f87248702f52843a688a.png) ![Evaluator (17)](https://static.pigsec.cn/wp-content/uploads/repos/cas/58/5831613b1206c4129df8e74f84a453cd31778ada3923e51ec29bd83eb79ad44a.png) # 快速入门与文档 ## API 使用 ``` evaluate/?url=[site url]&function=[function to evaluate] ``` 示例(前端开发端口 4200) ``` http://localhost:4200/evaluate/?url=https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_eval&function=window.eval ``` 生产环境 / Docker Node gateway 监听端口 **4000**。网站的截图会包含在响应流中。 # Docker 镜像(主要): - Docker Hub: `interchouette/evaluator` - GHCR: `ghcr.io/interchouette-itc/evaluator` - 个人 GHCR(可选):`ghcr.io/groussac/evaluator` 之前的 Hub 镜像 `gregoshop/evaluator` 已**废弃**。 在仓库根目录下构建并运行: ``` make docker-build make docker-run ``` 或者: ``` docker build -f docker/Dockerfile -t interchouette/evaluator:latest . docker compose -f docker/docker-compose.yml up ``` 访问 http://localhost:4000/ 推送 `:dev`(在登录 Hub/GHCR 后): ``` make docker-build-dev make docker-push-dev ``` ### CI / CD | Workflow | 触发条件 | 执行操作 | | --- | --- | --- | | `ci.yml` | PR / push 到 `dev` | 安装依赖并运行 `npm run build` | | `docker-build-push-dev.yml` | 手动 | 构建并推送 `:dev` 镜像 | | `release.yml` | GitHub Release `vX.Y.Z` | 发布 `:X.Y.Z` 和 `:latest`(tag 必须与 `package.json` 版本一致) | 要发布 release 镜像:更新 `package.json` 版本,打上 `vX.Y.Z` tag,然后创建 GitHub Release。 # 开发 ## 前置条件 - 宿主机上的 Node.js `>=22`(你已经有当前的 Node;agents 不得安装另一个) - npm `>=11` - Docker 镜像构建使用 `node:26-bookworm-slim`(与 `engines.node` 匹配;非 root runtime,参见 `docker/Dockerfile`) ``` npm install ``` ## 开发服务器 ``` npm start ``` 开发界面 UI:http://localhost:4200/(已配置 API 代理;Nest 后端运行在 3333)。 ## 构建 ``` npm run build ``` 构建产物位于 `dist/`。运行生产环境 Node gateway + Nest: ``` npm run serve ``` 然后打开 http://localhost:4000/ ## 测试 ``` npm test ``` # Rust CLI 位于 `./evaluator` 的批量评估辅助工具: ``` cd ./evaluator cargo build cargo run -- -p All-Live-Magento-Sites.csv -f window.eval -n 5 -s checkout ``` 参数: - `-path` / `-p` CSV 文件(第一列为网站域名) - `-function` / `-f` 要评估的函数 - `-nb_threads` / `-n` 线程数 - `-timeout` / `-t` 导航超时时间 - `-search_pattern` / `-s` 要搜索的模式 # 许可证 GNU General Public License v3.0 or later(参见 `LICENSE` / GitHub)。 ### 安全性 ### 错误 如果你发现拼写错误或其他错误,请在默认工作分支上提交一个 pull request。非常感谢。
标签:CMS安全, JavaScript, MITM代理, Syscall, Web开发, 代码反混淆, 可视化界面, 安全辅助工具, 数据可视化, 自动化攻击, 请求拦截