| リスク | プロジェクト | 技術構成 | データ保管 | 特記事項 |
|---|---|---|---|---|
| 最高 | endai-system (学会管理SaaS) |
Next.js / Vercel Supabase (PostgreSQL) Stripe決済 Resend / web-push |
Supabase (クラウド) |
唯一の決済統合システム。 ユーザー情報・参加費・領収書をサーバー保存。 マルチテナント(複数学会)。 RBAC(admin/reviewer/speaker等)。 |
| 最高 | visitcare (訪問看護・介護管理) |
Next.js Firebase Auth Firestore |
Firestore (クラウド) |
医療データ永続化。 利用者の氏名・要介護度・バイタル・訪問記録。 個人情報保護法+医療ガイダンス対象。 |
| 高 | conference-app (学会Web受付) |
Next.js / Vercel Supabase (PostgreSQL) Redis |
Supabase (クラウド) |
参加者情報・QRコード管理。 JWTベース認証。 |
| 高 | rehab_monitoring (リハビリ歩数管理) |
Flutter Firebase Auth Firestore HealthKit / Health Connect |
Firestore (クラウド) |
患者の歩数データ・目標値をサーバー保存。 セラピスト-患者の紐付け管理。 |
| 高 | bento_order_web (弁当注文) |
Firebase Auth Firestore CF Workers GAS |
Firestore (クラウド) |
注文者情報・注文履歴。 LINE連携。 |
| 高 | hirakata-pt-hp (PT事業所HP + 管理画面) |
CF Workers / Pages D1 (SQLite) |
D1 (エッジDB) |
管理画面あり(独自認証PBKDF2済)。 お問い合わせフォーム。 |
| 中 | productivity-health-survey drawing-cognitive-test dementia-cf-suite rokomo-check-app updrs-tracker |
各種 (CF Workers, Vercel等) |
Supabase / Firestore / D1 |
健康チェック系アプリ群。 一部はサーバーにデータ保存。 匿名化・結果表示のみのものも含む。 |
| 低 | dementia-risk-check dementia-risk-suite dysphagia-risk-check suita-stroke-risk rehab-fee-calculator kawaguchi-ns-hp full-lafu-corporate |
静的HTML / CF Pages | なし (クライアント完結) |
サーバー保存なし。 計算・表示のみ。 |
| カテゴリ | 対策内容 | 対象 | 状態 |
|---|---|---|---|
| 入力バリデーション | SQLインジェクション対策(パラメータバインド化) XSS対策(innerHTML排除、DOMPurify導入) iLIKEワイルドカードエスケープ |
全プロジェクト | 済 |
| 認証・認可 | requireRole()認可ヘルパー作成(35関数に適用) Server Actions全関数に認証チェック追加 DEV_BYPASS_AUTH本番防止 RBAC実装 |
endai-system visitcare conference-app |
済 |
| 暗号化 | SHA-256+固定ソルト → PBKDF2(100,000回)+ランダムソルト レガシーハッシュ自動移行機構 |
hirakata-pt-hp | 済 |
| シークレット管理 | Firebase秘密鍵・OAuthシークレットの環境変数化 ハードコード排除 .env.exampleからの実キー除去 |
全プロジェクト | 済 |
| セキュリティヘッダー | CSP精緻化(unsafe-eval除去、base-uri/form-action追加) X-Frame-Options / X-Content-Type-Options等 |
全プロジェクト | 済 |
| API保護 | 認証なしエンドポイントへの認証追加 IDOR修正(QRコードAPI等) CORS設定の厳格化 |
endai-system conference-app |
済 |
| Firestoreルール | デフォルトdeny化 7コレクションへのルール追加 ユーザー本人のみアクセス可に制限 |
visitcare rehab_monitoring |
済 |
| 決済セキュリティ | Stripe Webhook冪等性チェック Webhook署名検証 |
endai-system | 済 |
| ログ・監査 | 構造化セキュリティログ基盤導入 PIIのconsole.log出力排除 |
endai-system | 済 |
| CI/CD | npm audit GitHub Actions統合 Dependabot設定 |
endai-system | 済 |
| 重大度 | 件数 | 残存 |
|---|---|---|
| CRITICAL | 8件修正 | 0件 |
| HIGH | 36件修正 | 約5件 |
| MEDIUM | 38件修正 | 約7件 |
| LOW | 25件修正 | 約8件 |
| # | 領域 | AIでできないこと | 優先度 | 対象 |
|---|---|---|---|---|
| 1 | ペネトレーションテスト | 実環境への攻撃シミュレーション。 AIはコードの静的解析はできるが、デプロイ済みシステムに対する動的テスト(認証バイパス、セッション管理、レースコンディション等)は実行不能。 |
必須 | endai-system visitcare |
| 2 | Git履歴のシークレット除去 + ローテーション |
過去のコミット履歴に残るFirebase秘密鍵・OAuthシークレットの完全削除(git filter-branch / BFG)。 削除後の各サービスでのキー再発行・再設定。 AIは「何をすべきか」は分かるが、本番環境のサービスコンソールでの操作は不能。 |
必須 | 全プロジェクト |
| 3 | 医療データの法的コンプライアンス | 個人情報保護法・医療介護ガイダンスへの適合性判断。 監査ログの法的要件充足確認。 これは法務・コンプライアンスの専門知識が必要。 |
必須 | visitcare rehab_monitoring |
| 4 | Supabase RLSポリシー設計レビュー | RLS(Row Level Security)が正しく全テーブルに適用されているか、ポリシーの論理的な抜け穴がないかの第三者レビュー。 AIはポリシーを書けるが、マルチテナント環境での網羅的検証は人間の目が必要。 |
必須 | endai-system conference-app |
| 5 | Stripe決済フローの脆弱性評価 | 決済フロー全体(価格改ざん、二重請求、返金悪用等)の実環境テスト。 PCI DSS準拠の確認。 Stripe Webhookの本番環境での挙動検証。 |
強く推奨 | endai-system |
| 6 | インシデント対応計画の策定 | 情報漏洩時の対応フロー、連絡体制、個人情報保護委員会への報告手順。 医療法人としての組織的対応が必要。 |
強く推奨 | 組織全体 |
| 7 | WAF / DDoS対策 / レート制限の本格設計 | 現在のレート制限はin-memory(サーバーレスでは無効)。 Cloudflare WAF / Redis / KVベースのレート制限への移行設計。 DDoS対策の構成。 |
推奨 | 全デプロイ済み プロジェクト |
| システム | URL | 技術構成 | テスト観点 |
|---|---|---|---|
| endai-system | https://endai-system.vercel.app/ | Next.js + Supabase + Stripe | 認証バイパス、RBAC穴、IDOR、決済改ざん、 Server Actions権限、RLSバイパス |
| visitcare | (デプロイ先確認中) | Next.js + Firebase | 医療データ漏洩、Firestoreルールバイパス、 認証フロー、セッション管理 |
| conference-app | (Vercel) | Next.js + Supabase + Redis | JWT偽造、QRコード不正利用、 参加者データ漏洩 |
開発初期に以下のシークレットがコードにハードコードされていた時期がある。現在はすべて環境変数化済みだが、Git履歴には残っている。
| 種類 | プロジェクト | 対応 |
|---|---|---|
| Firebase サービスアカウント秘密鍵 | bento_order_web | 要ローテーション |
| Google OAuth クライアントシークレット | bento_order_web | 要ローテーション |
| Supabase サービスロールキー | endai-system, conference-app | 要確認 |
| Stripe シークレットキー | endai-system | 要確認 |
| 管理者パスワード(平文) | hirakata-pt-hp | PBKDF2移行済(旧パスワード要変更) |
| E2Eテスト用パスワード | 複数 | テストコードから除去済 |
| システム | 保存データ | 保存先 |
|---|---|---|
| visitcare | 利用者氏名、要介護度、バイタルサイン、 訪問記録、サービス実施内容 |
Google Firestore (リージョン: 確認必要) |
| rehab_monitoring | 患者氏名、歩数データ、リハビリ目標値、 セラピスト-患者紐付け |
Google Firestore |
| システム | テーブル数(推定) | マルチテナント | 認証方式 |
|---|---|---|---|
| endai-system | 15-20 | はい(学会単位) | Supabase Auth |
| conference-app | 5-10 | いいえ | JWT |
セキュリティインシデント発生時の対応計画が未策定。医療法人として、個人情報漏洩時の法的義務(個人情報保護委員会への報告等)への対応フローが必要。
| 項目 | 想定予算 | 想定期間 | 優先度 | 備考 |
|---|---|---|---|---|
| ペネトレーションテスト (endai-system) |
30〜80万円 | 2〜4週間 | 必須 | 決済機能あり。最優先。 |
| ペネトレーションテスト (visitcare + conference-app) |
30〜60万円 | 2〜3週間 | 必須 | 医療データ取り扱い。 |
| Git履歴シークレット除去 + ローテーション |
10〜30万円 | 1〜2週間 | 必須 | リポジトリ約15個。 ローテーションは各サービスで実施。 |
| 医療データ コンプライアンス監査 | 20〜50万円 | 2〜4週間 | 必須 | 法務連携が必要な可能性。 |
| Supabase RLSレビュー | 10〜20万円 | 1週間 | 必須 | ペネトレーションテストと 一括実施可能かもしれない。 |
| Stripe決済フロー評価 | 10〜30万円 | 1〜2週間 | 強く推奨 | ペネトレーションテストと 一括実施を希望。 |
| インシデント対応計画策定 | 15〜30万円 | 2〜3週間 | 強く推奨 | テンプレートベースなら安価。 |
| WAF/レート制限 設計支援 | 10〜20万円 | 1〜2週間 | 推奨 | 設計のみ。実装はAIで対応可。 |
| 合計(概算) | 135〜320万円 / 段階的に3〜6ヶ月 | |||
| フェーズ | 内容 | 時期 |
|---|---|---|
| Phase 1 | Git履歴シークレット除去 + ローテーション (最もリスクが顕在化しているため最優先) |
即時〜2週間 |
| Phase 2 | endai-system ペネトレーションテスト (RLSレビュー + Stripe評価を含む) |
1〜2ヶ月目 |
| Phase 3 | visitcare 医療データコンプライアンス監査 + ペネトレーションテスト |
2〜3ヶ月目 |
| Phase 4 | インシデント対応計画策定 + WAF/レート制限設計 |
3〜4ヶ月目 |
| # | 資料名 | 内容 |
|---|---|---|
| 1 | owasp-security-report.html | OWASP Top 10対策レポート(2026-02-13) |
| 2 | owasp-threat-analysis-report.html | 脅威分析 + Vibe Coding修正レポート(2026-02-14) |
| 3 | security-scan-report-20260214.html | 3フェーズセキュリティスキャン結果 |
| 4 | security-hardening-checklist-20260214.html | SEC要件チェックリスト(充足率94%) |
| 5 | security-action-plan.html | セキュリティ強化アクションプラン |
| 6 | project-dashboard.html | 全プロジェクト一覧ダッシュボード |
※ 上記資料はすべて C:\Users\kawag\work\ に保存されており、必要に応じて共有可能です。
※ ソースコードはGitHubプライベートリポジトリで管理しています。