公开预览 · 注册及正式收款尚未开放。
Anti-AIClonePILOT

日志日期 · 周日

javascript-obfuscator 5.9.0:配额查询与错误码

2026-10-04(UTC),javascript-obfuscator 5.9.0 为 Pro API 加入配额查询与错误码,构建应对失败“关门”。

当天发生了什么

2026-10-04 02:33(UTC),javascript-obfuscator 在 GitHub 发布 5.9.0。发布说明只有三条:Pro API 新增 getProQuota(),返回 API 密钥所属套餐的剩余用量;ApiError 现在带有 API 返回的机器可读 code,因配额被拒的构建其 code 为 dailyLimit 或 monthlyLimit;Node 的 dist 包不再压缩,未捕获错误会打印可读的栈帧。结合项目 README(2026-10-12 查阅):Pro 功能(如 vmObfuscation)通过 obfuscator.io 云服务完成并需要令牌,免费包则离线运行、不发网络请求;README 也写明免费版输出“仍然是 JavaScript”,并将其标为易受基于 LLM 的自动化分析影响,同时提示混淆代码可能慢 15% 到 80%。

对防护模型意味着什么

这次更新本身不改变保护强度,它是运维层面的变化,却点出两个常被忽略的风险。第一,依赖远程服务的混淆步骤可能因为配额或网络失败;如果构建脚本没有把失败当作硬错误,就可能把未混淆的代码误发到生产环境,这比“混淆强度不够”更直接。新的错误码让流水线可以准确区分配额问题并中止构建。第二,使用云端功能意味着要把需要保护的源代码交给第三方处理,团队应自行评估合同、数据保留和合规要求。至于效果,项目自己的 README 也只说让逆向“更难”而非不可能;对于价值高的核心规则,客户端混淆只能提高成本,关键逻辑仍应放在服务端。

在自己的构建上做的检查

如果你的流水线使用 Pro 功能:在构建开始前调用 getProQuota() 并记录结果;把任何 ApiError(尤其是 dailyLimit 与 monthlyLimit)当作构建失败处理,禁止回退到未混淆产物。在发布前加一道自检,例如比较输出与输入的哈希、检查输出中是否仍出现原始的敏感标识符,确认混淆确实生效。记录每次发布所用的工具版本与选项,便于回溯。评估把源码发送给云服务是否符合你的数据政策。对混淆后的包做完整功能与性能回归,因为 README 明确提到了性能开销。最后,盘点前端包里有没有密钥或核心规则,能移到服务端的尽量移走。

行动清单

  • 构建前调用 getProQuota() 并在任何 ApiError 时中止构建
  • 发布前自检输出确已混淆,且不含原始敏感标识符
  • 评估向云服务发送源码是否符合数据政策

原始资料

全部原始资料与转载状态 ↗