平台更新公告

半个月前在开发者收到苹果警告后,我们提出了解决方案,包括三点:

  1. 强制脚本下发必须使用自定义 RSA 私钥加密。
  2. 禁止 SDK 接入
  3. 检查每个下发的脚本,禁止调用私有 API,禁止下发大量代码。

今天平台已经升级完成,SDK 已更新到 1.7 版本,已实现上述三点安全防护:

  1. 所有接入 SDK1.7 以上版本的 APP 必须使用自定义 RSA 密钥。
  2. 平台不支持 SDK 接入,只允许普通 App 接入。
  3. 平台已经实现补丁内容里的私有 API 调用审查,下发脚本时后台会进行扫描,若有调用私有 API,会出现提示并禁止下发。

平台升级后,所有接入 JSPatch 平台的 App 不会有任何安全风险,即使平台被攻破拖库,也无法向任何一个 App 下发恶意脚本,因为私钥只掌握在每一个开发者手上,平台本身无权下发脚本。同时私有 API 审查功能以及补丁大小限制可以确保补丁不会被滥用。

接入 SDK1.7 版本不会被 AppStore 机器扫描拒绝,欢迎大家接入使用,接入指引见文档

FAQ

为什么 SDK1.7 版本不会被扫描拒绝?

我们对SDK做了混淆,避免被苹果扫描到直接拒绝。

我们并非有意对苹果审核进行欺骗,苹果拒绝此类热修复我们在文章解决方案里分析过,从审核条款来说 JSPatch 和 React Native 是一样的,但苹果允许 React Native 而拒绝 JSPatch,主要是安全问题和滥用问题,所以一刀切全部通过机器扫描禁止接入。

目前 JSPatch 平台已经解决了安全和滥用的问题,接入 JSPatch 平台不会有任何安全隐患,同时也会负责审核避免滥用,让热修复完全只用于临时修复 bug,提高 App 质量同时没有不良隐患,解决了苹果的顾虑,符合 iOS 平台的利益。但因为目前还未能与苹果正式沟通,所以若不修改名字,仍然会命中机器扫描的关键字导致被拒绝,于是我们暂时简单地修改了类名以避免机器审查,后续若能与苹果沟通,希望能以更正规的方式接入。

建议大家不要自行混淆代码接入 JSPatch,而是接入平台,让热修复在一个安全和可控的环境下使用。

发补丁时提交的私钥有被截获的风险?

平台目前使用 https,可以避免传输过程中被截获,同时后续我们会提供本地使用私钥签名的功能,让私钥无需在网络间传输。

旧版本如何下发补丁?

对于线上接入了旧版本 SDK 的用户,若要针对旧版本下发补丁,请通过发布补丁界面的右上角 旧版本补丁下发 进行下发。

误判私有 API 调用导致无法下发脚本怎么办?

私有 API 审查目前可能会出现漏判或误判,我们还在不断完善中,这过程若出现问题请 联系我们 进行人工处理。

更多问题欢迎联系我们咨询。

JSPatch 平台公告
JSPatch.com © 2017 Github开源 | 联系我们 | 合作伙伴