flutter-security について
ユーザーデータや特権操作を扱う Flutter アプリのレビューと強化を支援するセキュリティスキルです。脅威モデルを軸にクライアントやプラットフォーム境界を確認し、根拠に基づく指摘を重視します。
主な機能
- 01脅威モデルに基づく範囲設定
- 02ストレージ、ログ、ネットワーク設定の確認
- 03入力検証と認証情報の扱いに関する指針
- 04許可された範囲でのレビューとテスト
- 05根拠を添えた指摘と修正の記録
活用シーン
- 01Flutter アプリの機密データフローのレビュー
- 02ディープリンク、WebView、ネイティブ境界の確認
- 03依存関係とリリース設定の検証
- 04セキュリティ指摘への修正方針の作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ thienqo/ flutter-skills --skill flutter-securityインストール後、Claude Code で/flutter-securityを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/application-security.mdplatform-attack-surfaces.mdsecurity-verification.md詳細
Flutter セキュリティ
実際の脅威モデルに合った制御で、ユーザーデータと特権操作を保護します。ユーザーが管理するデバイスに配布されるコード、設定、ストレージ、ログ、バイナリは、検査可能なものとして扱います。
対象範囲を定める
- 保護対象の資産、アクター、信頼境界、サポート対象プラットフォーム、機密性の高いフロー、現実的な悪用ケースを特定します。
- 対象の資産に関連する
pubspec.yaml、pubspec.lock、プラットフォームのマニフェストとエンタイトルメント、環境変数の取り扱い、ネットワーク設定、ストレージ、ログ、WebView、リンク、リリース設定を調査します。 - 公開識別子と認証情報、サーバー側で強制される信頼を区別します。プロバイダーの契約と許可される制限を確認せずに、クライアントから見えるすべてのキーを秘密情報とみなさないでください。
- 作業が静的レビュー、セキュリティ強化の変更、承認済みの実行時評価のいずれに該当するかを定めます。明示的な承認なしに、外部システムの調査、認証情報のローテーション、セッションの失効、本番環境のポリシー変更を行わないでください。
基本ルール
- 難読化、環境ファイル、クライアント側のチェックを、認証情報の秘匿や認可の強制に頼らないでください。
- 機密データの収集、保持、露出、ログ記録を最小限に抑えます。ユーザーに紐づくキャッシュと認証情報は、ライフサイクルの終了時に消去します。
- 脅威モデルで必要とされる場合は、プラットフォームが提供するキーおよび認証情報のストレージを使用します。通常のプリファレンスやデータベースは、秘密情報を保管するための保管庫ではありません。
- 認証状態はクライアントで保持しつつ、認可と機密性の高いビジネスルールは信頼できるバックエンドで強制します。
- セキュアなトランスポートの既定値を維持します。例外や証明書ピンニングを追加するのは、要件が文書化され、運用上実行可能なローテーションおよび復旧計画がある場合に限ります。
- 保守され、レビュー済みの暗号プリミティブとプロトコルを使用します。アルゴリズム、モード、鍵導出、トークン形式を独自に考案しないでください。
- ディープリンク、WebView、プラットフォームチャネル、ファイル、インテント、クリップボードとの境界、リモート応答で、信頼できない入力を検証します。
- 依存関係スキャナーの出力は、適用可能性の分析が必要な手がかりとして扱い、Flutter の悪用可能な問題が自動的に証明されたものとみなさないでください。
必要に応じて参照資料を読む
- シークレット、認証、ストレージ、ネットワークトランスポート、暗号化、プライバシー、ログについては、アプリケーションセキュリティを読みます。
- WebView、ディープリンク、インテント、権限、バックアップ、スクリーンショット、クリップボード、ネイティブとの境界については、プラットフォームの攻撃対象領域を読みます。
- 監査、依存関係やリリース設定の検証、または検出事項の報告を行う場合は、セキュリティ検証を読みます。
サインインとセッションの実装は flutter-authentication、通常のキャッシュとデータベースの設計は flutter-persistence、トランスポートの動作は flutter-networking、ネイティブ実装の詳細は flutter-platform-integration、リリース成果物の取り扱いは flutter-build-release に振り分けます。セキュリティは、これらの境界全体にわたる脅威と制御の要件を担います。
根拠を示して報告する
検出事項ごとに、資産、攻撃の前提条件、到達可能な経路、影響、具体的な根拠、必要最小限で相応な修正策を特定します。確認済みの脆弱性と、多層防御の改善点、未解決の疑問を区別します。パッケージ、スキャナー、暗号化フラグ、静的レビューで問題が見つからなかったことを、アプリケーションが安全である証明として主張しないでください。
参考資料
コメント
Markdown 対応