セキュリティチェックリスト
M0
- MIT Licenseを追加した。
- UI文字列を日本語で実装した。
- Tauri CSPに
unsafe-evalを含めない。 - Tauri capabilityは
core:defaultのみに限定した。 - ファイルシステム、カメラ、マイク、外部通信の権限をM0では付与しない。
- ONNX Runtime Web、MediaPipe、モデルファイルをM0では採用しない。
- 依存関係レビューを
docs/dependency_review.mdに記録した。 -
npm audit --audit-level=moderateを通す。 -
npm run license:checkを通す。 - 本番ビルドを通す。
- Tauri releaseビルドを通す。
M1以降で追加確認
- PNG/WebPの拡張子、MIME、シグネチャを検証する。
- 最大50 MB、最大8192 x 8192 px、最大67,108,864 pxを強制する。
- EXIF/ICCなど不要メタデータをプロジェクトへ保存しない。
-
.motion2dproj読み込み時に75 MB上限、スキーマ、パーツ、メッシュ、リグ、設定値を検証する。 -
.motion2dprojにカメラ映像、音声、外部モデル、絶対パス、個人情報ログを示す禁止データを含めない。 - 内部保存名はUUIDにし、表示名と分離する。
v0.1完了時点の補足
.motion2dprojのimage.assetIdとimage.internalNameはUUIDベースにし、UI表示用のimage.displayNameと分離した。- 新規作成するパーツID、メッシュID、メッシュ頂点ID、リグキーIDもUUIDベースにし、既存プロジェクトの旧ID形式は読み込み互換として許可する。
- 既存
.motion2dprojにassetId/internalNameがない場合は、読み込み時に新しいUUIDを補い、保存時に新形式へ正規化する。 internalNameは<UUID>.pngのみ許可し、絶対パス、OSユーザー名、任意ファイル名を保存名として使わない。