masvs-checklist について
モバイルアプリのセキュリティ・コンプライアンス担当者向けに、MASVS v2 のチェックリストを生成するスキルです。コードベースの状況に合わせて制御項目を選び、MASTG テスト、証拠、ギャップ、修正の優先度を整理します。
主な機能
- 01プラットフォーム、アプリ分類、データ感度を分析
- 02該当する MASVS v2 チェックリストを生成
- 03制御項目を MASTG テストに対応付け
- 04コード上の証拠から状態を仮入力
- 05ギャップと修正優先度を整理
活用シーン
- 01モバイルアプリのセキュリティ評価チェックリストを作成
- 02コードから制御項目の不足を初期確認
- 03MASTG テストと修正の計画を立てる
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ dweinstein/ mobile-security-skills --skill masvs-checklistインストール後、Claude Code で/masvs-checklistを入力して読み込まれたか確認します。
詳細
MASVS コンプライアンスチェックリストジェネレーター
モバイルアプリケーションセキュリティのコンプライアンスに関する専門家として、対象アプリケーションに合わせた包括的な MASVS v2 コンプライアンスチェックリストを、MASTG テストとの対応付けおよび NowSecure のベストプラクティス注釈とともに生成してください。
対象
コードベースを分析します:$ARGUMENTS
パスが指定されていない場合は、現在の作業ディレクトリを分析します。
手順
ステップ 1:アプリケーションのコンテキストを特定する
コードベースを分析し、以下を特定します。
- プラットフォーム:Android/iOS/クロスプラットフォーム
- アプリのカテゴリ:金融、ヘルスケア、エンタープライズ、コンシューマー、政府、ゲームなど
- データの機密性:アプリが扱う機密データの種類
- コンプライアンス要件:HIPAA、PCI-DSS、SOC 2、GDPR、CCPA への対応
- リスクプロファイル:Tier 1(機密データなし)/Tier 2(PII)/Tier 3(高価値)
ステップ 2:アプリに合わせたチェックリストを生成する
該当する各コントロールについて、以下のテンプレートを使用してチェックリストを生成します。 アプリのリスクプロファイルに基づいて、コントロールに「必須」「推奨」「任意」の優先度を付けます。 以下の優先度はデフォルトとして扱い、アプリの脅威モデル、規制上の義務、デプロイモデル、プラットフォームの制約に応じて調整してください。
チェックリストのテンプレート
MASVS-STORAGE:データストレージ
| # | コントロール | 優先度 | ステータス | MASTG テスト | 備考 |
|---|---|---|---|---|---|
| MASVS-STORAGE-1 | アプリが機密データを安全に保存する | 必須 | 保留中 | MASTG-TEST-0001 (Android), MASTG-TEST-0052 (iOS), MASTG-TEST-0200 | |
| MASVS-STORAGE-2 | アプリが機密データの漏えいを防止する | 必須 | 保留中 | MASTG-TEST-0003, MASTG-TEST-0053, MASTG-TEST-0011, MASTG-TEST-0201, MASTG-TEST-0202 |
MASVS-CRYPTO:暗号化
| # | コントロール | 優先度 | ステータス | MASTG テスト | 備考 |
|---|---|---|---|---|---|
| MASVS-CRYPTO-1 | アプリが現行の強力な暗号化を使用する | 必須 | 保留中 | MASTG-TEST-0013, MASTG-TEST-0061, MASTG-TEST-0208 | |
| MASVS-CRYPTO-2 | アプリがベストプラクティスに従って鍵を管理する | 必須 | 保留中 | MASTG-TEST-0015, MASTG-TEST-0063, MASTG-TEST-0212 |
MASVS-AUTH:認証と認可
| # | コントロール | 優先度 | ステータス | MASTG テスト | 備考 |
|---|---|---|---|---|---|
| MASVS-AUTH-1 | 認証/認可プロトコルを安全に使用する | 必須 | 保留中 | MASTG-TEST-0017, MASTG-TEST-0064 | |
| MASVS-AUTH-2 | ローカル認証を安全に行う | 必須 | 保留中 | MASTG-TEST-0018, MASTG-TEST-0326, MASTG-TEST-0266 | |
| MASVS-AUTH-3 | 機密性の高い操作に追加認証を適用する | Tier 3 | 保留中 | MASTG-TEST-0327 |
MASVS-NETWORK:ネットワーク通信
| # | コントロール | 優先度 | ステータス | MASTG テスト | 備考 |
|---|---|---|---|---|---|
| MASVS-NETWORK-1 | アプリがすべてのネットワークトラフィックを保護する | 必須 | 保留中 | MASTG-TEST-0019, MASTG-TEST-0065, MASTG-TEST-0217, MASTG-TEST-0233 | |
| MASVS-NETWORK-2 | アプリがサーバーの識別情報をピンニングする | Tier 3 | 保留中 | MASTG-TEST-0020, MASTG-TEST-0021, MASTG-TEST-0066 |
MASVS-PLATFORM:プラットフォームとの連携
| # | コントロール | 優先度 | ステータス | MASTG テスト | 備考 |
|---|---|---|---|---|---|
| MASVS-PLATFORM-1 | アプリが IPC メカニズムを安全に使用する | 必須 | 保留中 | MASTG-TEST-0007, MASTG-TEST-0008, MASTG-TEST-0250, MASTG-TEST-0251 | |
| MASVS-PLATFORM-2 | アプリが WebView を安全に使用する | 必須 | 保留中 | MASTG-TEST-0028, MASTG-TEST-0029, MASTG-TEST-0075, MASTG-TEST-0077 | |
| MASVS-PLATFORM-3 | アプリがユーザーインターフェースを安全に使用する | Tier 3 | 保留中 | MASTG-TEST-0035, MASTG-TEST-0289 |
MASVS-CODE:コード品質
| # | 管理策 | 優先度 | ステータス | MASTG テスト | 備考 |
|---|---|---|---|---|---|
| MASVS-CODE-1 | アプリが最新のプラットフォームバージョンを必要とする | Tier 3 | Pending | MASTG-TEST-0272 | |
| MASVS-CODE-2 | アプリに更新を強制する仕組みがある | Tier 3 | Pending | MASTG-TEST-0274 | |
| MASVS-CODE-3 | 既知の脆弱性を持つコンポーネントがない | Required | Pending | MASTG-TEST-0222 | |
| MASVS-CODE-4 | アプリがすべての入力を検証し、サニタイズする | Required | Pending | MASTG-TEST-0025, MASTG-TEST-0245 |
MASVS-RESILIENCE:リバースエンジニアリング耐性
| # | 管理策 | 優先度 | ステータス | MASTG テスト | 備考 |
|---|---|---|---|---|---|
| MASVS-RESILIENCE-1 | プラットフォームの完全性検証 | Tier 3 | Pending | MASTG-TEST-0038 | |
| MASVS-RESILIENCE-2 | 改ざん防止メカニズム | Tier 3 | Pending | MASTG-TEST-0040, MASTG-TEST-0224 | |
| MASVS-RESILIENCE-3 | 静的解析防止メカニズム | Tier 3 | Pending | MASTG-TEST-0045, MASTG-TEST-0247 | |
| MASVS-RESILIENCE-4 | 動的解析防止技術 | Tier 3 | Pending | MASTG-TEST-0039, MASTG-TEST-0263 |
MASVS-PRIVACY:プライバシー
| # | 管理策 | 優先度 | ステータス | MASTG テスト | 備考 |
|---|---|---|---|---|---|
| MASVS-PRIVACY-1 | アプリが機密データへのアクセスを最小限に抑える | Required | Pending | MASTG-TEST-0254, MASTG-TEST-0255 | |
| MASVS-PRIVACY-2 | アプリがユーザーの特定を防ぐ | Tier 3 | Pending | MASTG-TEST-0318 | |
| MASVS-PRIVACY-3 | データの収集/使用が透明である | Required | Pending | MASTG-TEST-0256 | |
| MASVS-PRIVACY-4 | ユーザーが自身のデータを管理できる | Tier 3 | Pending | MASTG-TEST-0319 |
ステップ 3:コード分析に基づくステータスの事前入力
各チェックリスト項目について、コードベースを調査し、実装の予備的な証拠を確認します。
- ソースまたは設定に明確な証拠がある場合は「実装されている可能性が高い」とします
- 一部の管理策は存在するものの、未対応の箇所が残っている場合は「部分的」とします
- コードベースに管理策の証拠が見当たらない場合は「証拠なし」とします
- その管理策がこのアプリに該当しない場合は「該当なし」とします
- 確認できる証拠について、具体的なファイル名と行番号を記載します
- 動的テスト、バックエンドの動作、本番環境の設定、またはストアのメタデータによる検証が必要な場合、完全に準拠していると断定しないでください
ステップ 4:ギャップ分析
以下をまとめます。
- 合格した管理策:件数と一覧
- 不合格の管理策:件数と、修正の優先度を付した一覧
- 部分的に満たしている管理策:件数と具体的な不足箇所
- 全体の準拠率:カテゴリ別および合計
出力
プロジェクトのルートにある MASVS_CHECKLIST.md に、以下の内容を記載したチェックリストを作成します。
- アプリケーションのコンテキスト — プラットフォーム、カテゴリ、リスクプロファイル
- 準拠チェックリスト — コード分析に基づくステータスを含む完全なチェックリスト
- ギャップ分析 — 優先度を付した未対応または部分対応の管理策
- 修正ロードマップ — 優先度順に並べた修正項目
- テスト計画 — リスク順に並べた、実行するMASTGテスト
コメント
Markdown 対応