Hermes 提供了多种安全特性,帮助保护 React Native 应用免受常见安全威胁。
字节码保护
将 JavaScript 源码编译为字节码后,源码不会直接暴露在应用中:
- 源码被转换为二进制格式
- 增加逆向工程难度
- 减少代码泄露风险
严格模式
Hermes 默认启用严格模式,提供额外的安全检查:
- 禁止使用未声明的变量
- 禁止删除不可删除的属性
- 禁止重复的参数名
- 禁止八进制字面量
内存安全
- 边界检查:防止缓冲区溢出
- 类型安全:减少类型混淆攻击
- 垃圾回收:防止悬空指针
最佳实践
- 启用代码混淆:进一步增加逆向难度
- 使用 HTTPS:保护网络通信
- 验证输入:防止注入攻击
- 定期更新:获取最新的安全修复
安全审计
Meta 的安全团队定期对 Hermes 进行安全审计,确保引擎的安全性。发现的安全问题会及时修复并发布更新。