关于 security-reactnative
面向 React Native 0.87 New Architecture 的安全实践技能,涵盖敏感数据存储、网络配置和原生模块校验,并指出常见安全反模式。
主要功能
- 01使用 Keychain、Keystore 和 SecureStore 保存敏感信息
- 02配置 iOS 与 Android 的严格 HTTPS 策略
- 03在原生侧校验 TurboModules 输入
- 04识别深度链接与 WebView 的安全风险
适用场景
- 01为 React Native 应用制定敏感信息存储方案
- 02检查生产环境的网络安全设置
- 03审查原生模块调用与导航输入
- 04评估 WebView 的来源校验方式
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ thebeardedbearsas/ claude-craft --skill security-reactnative安装后在 Claude Code 中输入/security-reactnative确认已加载。
详细介绍
安全 - React Native 0.87 最佳实践
此技能介绍了搭配 New Architecture 使用 React Native 0.87 时的安全最佳实践。
核心原则
- 原生安全:使用 Keychain(iOS)/ Keystore(Android)存储敏感密钥(不要使用 AsyncStorage)
- 仅使用 HTTPS:严格配置 ATS(iOS)和 Network Security Config(Android)
- 同步 JSI:在原生端验证 TurboModules 调用
- Expo SecureStore:用于令牌的跨平台安全抽象
React Native 0.85+ 的特性
- 安全的 TurboModules:在 JSI 处理前于原生端验证输入
- 移除旧版 Bridge:没有易受攻击的 JSON 序列化风险
- Fabric:将原生渲染与 JS 线程隔离(减少 UI 注入)
- 强制使用 Hermes:原生字节码(防止 JS 包被逆向工程)
严重反模式
- ❌ 将令牌存储在 AsyncStorage 中(明文)
- ❌ 在生产环境中使用不安全的 HTTP
- ❌ 使用 PIN 码/生物识别但未配合 SecureStore
- ❌ 未验证 Deep links(可能导致导航注入)
- ❌ 未验证来源的 WebView
评论
支持 Markdown