mcpField
S
security-reactnative

security-reactnative

github.com/thebeardedbearsasセキュリティ107240 回インストール今日更新
リポジトリ

security-reactnative について

New Architecture を採用した React Native 0.87 向けのセキュリティ実践スキルです。機密データの保存、ネットワーク設定、ネイティブモジュールの検証、よくあるリスクを扱います。

主な機能

  1. 01Keychain、Keystore、SecureStoreで秘密情報を保存
  2. 02iOSとAndroidでHTTPSポリシーを徹底
  3. 03TurboModulesの入力をネイティブ側で検証
  4. 04ディープリンクとWebViewのリスクを把握

活用シーン

  1. 01React Nativeアプリの機密データ保存を計画
  2. 02本番環境のネットワーク設定を確認
  3. 03ネイティブモジュール呼び出しとナビゲーション入力を監査
  4. 04WebViewのオリジン検証を評価

インストール

コマンドをコピーしてターミナルで実行します。

$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 で処理する前に、ネイティブ側で入力を検証します
  • レガシーブリッジの削除:脆弱な JSON シリアライズのリスクがありません
  • Fabric:ネイティブレンダリングを JS スレッドから分離します(UI インジェクションを抑制します)
  • Hermes が必須:ネイティブバイトコードを使用します(JS バンドルのリバースエンジニアリングを防止します)

重大なアンチパターン

  • ❌ トークンを AsyncStorage に保存する(平文)
  • ❌ 本番環境で安全でない HTTP を使用する
  • ❌ SecureStore を使用せずに PIN/生体認証を実装する
  • ❌ 検証されていないディープリンクを使用する(ナビゲーションインジェクション)
  • ❌ オリジンを検証せずに WebView を使用する

出典: OWASP Mobile Top 10、RN Security Best Practices

コメント