rajssinde/rs-native-kit-security

GitHub: rajssinde/rs-native-kit-security

面向 iOS 与 Android 的企业级 React Native 安全 SDK,提供运行时环境检测、应用完整性校验、SSL pinning 辅助及可配置的设备风险评分引擎。

Stars: 0 | Forks: 0

# @rs-native-kit/security 面向 Android 和 iOS 的企业级 React Native 安全 SDK — 提供 root/越狱/模拟器/hook 检测、篡改与签名完整性、VPN/代理/屏幕监控、SSL pinning 辅助工具,以及可配置的设备风险引擎。基于 [Nitro Modules](https://nitro.margelo.com/) 为新架构构建:JSI 直接调用,无 bridge 序列化,设计上保证线程安全。 ## 功能 - **Root 检测 (Android):** su 二进制文件扫描、BusyBox、Magisk、RW `/system`、危险的 build props、SELinux 状态、可疑挂载点、已知的 root 管理应用。 - **越狱检测 (iOS):** 可疑文件扫描、Cydia URL scheme、沙盒逃逸写入测试、已加载 dylib 检查、进程生成探针、可疑环境变量。 - 双平台均支持 **模拟器 / Simulator 检测**。 - **Hook 检测:** Frida (双平台)、Xposed/LSPosed/EdXposed/Substrate/Riru (Android)。 - **开发者/调试状态:** 开发者模式、USB 调试、附加调试器、模拟位置。 - **网络监控:** VPN 和代理检测。 - **屏幕监控:** 屏幕录制/镜像、截屏检测。 - **悬浮窗暴露** (Android)。 - **完整性:** 应用签名哈希 + 校验、APK 完整性 (Android)、篡改启发式分析。 - **SSL pinning 辅助工具:** 类型化的 certificate-pin 构建器/验证器实用工具。 - **设备风险引擎:** 可配置的加权评分 → `LOW` / `MEDIUM` / `HIGH` / `CRITICAL`。 - **实时事件系统:** 实时订阅 root/越狱/VPN/代理/截屏/hook/调试器/篡改事件。 ## 安装说明 ``` npm install @rs-native-kit/security react-native-nitro-modules ``` `react-native-nitro-modules` 是必需的 peer dependency — 请参阅 [安装指南](docs/INSTALLATION.md) 了解平台设置(Podfile、权限、ProGuard/R8)。 ## 快速开始 ``` import Security from '@rs-native-kit/security'; const rooted = await Security.isRooted(); const jailbroken = await Security.isJailbroken(); const report = await Security.scan(); console.log(report.riskLevel, report.score, report.secure); ``` ``` const unsubscribe = Security.addListener((event) => { console.log(event.type, event.message); }); ``` 请查阅 [API 参考](docs/API.md) 获取完整接口说明,并查看 [示例](docs/EXAMPLES.md) 了解常见的集成模式(登录拦截、基于风险的升级认证、仪表板)。 ## 文档 - [安装指南](docs/INSTALLATION.md) - [API 参考](docs/API.md) - [示例](docs/EXAMPLES.md) - [迁移指南](docs/MIGRATION.md) - [安全说明](docs/SECURITY_NOTES.md) - [常见问题](docs/FAQ.md) - [故障排除](docs/TROUBLESHOOTING.md) - [最佳实践](docs/BEST_PRACTICES.md) ## 架构 - **基于 Nitro Modules,而非手写的 TurboModules。** Nitro 是一个基于 JSI、仅支持新架构的模块系统:具备同步能力、强类型、无 bridge 序列化。对于没有原生 UI 组件的模块,它能比手动的 TurboModule codegen 更好地实现“TurboModules/Fabric 支持”的初衷(Fabric 在此不适用 —— 没有需要渲染的内容)。 - **单一原生 `Security` HybridObject**,内部由专注于特定功能的检测器类(`RootDetector`、`EmulatorDetector`、`HookDetector`、…… —— 参见 `android/src/main/java/.../detectors` 和 `ios/Detectors`)组合而成,因此原生代码能保持模块化,且不会增加 JS↔原生 bridge 对象的数量。 - **风险引擎位于 TypeScript 中**(`src/risk/`),而不是原生层 —— 原生的 `scan()` 返回原始的 `checks`/`reasons`,而 JS 端的 `RiskEngine` 根据可配置的权重/阈值计算 `score`/`riskLevel`/`secure`。这让你无需重新构建原生代码即可调整评分。 - **每个类别均可独立导入**:`import { isRooted } from '@rs-native-kit/security/root'` 风格的目录位于 `src/{root,jailbreak,emulator,...}` 下,这使得打包工具能够 tree-shake 掉未使用的检查逻辑。 ## 示例应用 `example/` 是一个可运行的仪表板(安全评分、单项检查网格、实时事件日志、刷新按钮)—— 请参阅 [示例](docs/EXAMPLES.md#running-the-example-app) 来运行它。 ## 许可证 MIT 由 [create-react-native-library](https://github.com/callstack/react-native-builder-bob) 构建
标签:Android, DSL, iOS, RASP, React Native, 目录枚举, 移动安全, 自动化攻击, 逆向分析