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, 目录枚举, 移动安全, 自动化攻击, 逆向分析