OWASP Top 10 セキュリティ対策レポート

対象: C:\Users\kawag\work 配下の全Webアプリケーション(9プロジェクト) | 実施日: 2026-02-13

21
修正完了
5
CRITICAL 修正済
10
HIGH 修正済
6
MEDIUM 修正済

対応完了一覧

CRITICAL(5件)

#プロジェクト脆弱性修正内容状態
1 drawing-cognitive-test SQLインジェクション パラメータバインド化 (src/worker/index.ts) 完了
2 visitcare DEV_BYPASS_AUTH 本番漏洩リスク NODE_ENV === 'development' 条件追加 完了
3 visitcare Server Action 権限昇格 getServerSession() で認証チェック追加 完了
4 visitcare Firestore ルール不完全 7コレクション (visits, visit_records, care_plans, claims, medications, vital_records, family_contacts) のルール追加 完了
5 hirakata-pt-hp SHA-256 + ハードコードソルト PBKDF2 (100,000回) + ランダムソルトに移行。旧形式との後方互換性維持 完了

HIGH(10件)

#プロジェクト修正内容状態
6endai-systemセキュリティヘッダー追加 (CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy)完了
7endai-systemauth/callback オープンリダイレクト防止 (protocol-relative URL 拒否)完了
8endai-systemCron API 認証の !cronSecret チェック追加完了
9endai-systemIP ベースレート制限追加 (PDF: 1分5回, API: 1分60回)完了
10visitcareセキュリティヘッダー追加 + /preview 認証保護追加完了
11visitcare12ファイルから患者データの console.log 削除完了
12hirakata-pt-hpXSS エスケープ追加 (escapeHtml, sanitizeUrl) + 管理API CORS制限完了
13bento_order_webWorker API 認証追加 (API_SECRET_KEY) + エラー情報隠蔽 + .gitignore修正完了
14updrs-trackerAPI 認証追加 + 入力バリデーション + CORS制限 + エラー隠蔽完了
15dementia-cf-suiteAPI 認証追加 + CORS制限 + セキュリティヘッダー + エラー隠蔽完了

MEDIUM(6件)

#プロジェクト修正内容状態
16endai-systemメールテンプレート全6種のHTMLエスケープ追加完了
17endai-systemsales-inquiry.ts HTMLエスケープ + SALES_EMAIL 環境変数化完了
18endai-systemappUrl ハードコードを環境変数化完了
19endai-systemPDF API エラーメッセージから内部情報を除去完了
20endai-systemauth 登録エラーメッセージから内部情報を除去完了
21endai-systemilike 検索の LIKE ワイルドカードエスケープ完了

要注意事項(手動確認が必要)

1. endai-system: RLS ポリシー確認

HIGH

対応方法: Supabase ダッシュボード > Authentication > Policies で registrations テーブルの RLS ポリシーを確認し、UPDATE ポリシーにはサービスロールのみ許可する条件を追加してください。INSERT は CAPTCHA やレート制限との組み合わせを検討してください。

2. rokomo-check-app: RLS 有効化確認

HIGH

対応方法: Supabase ダッシュボードで全テーブルの RLS 有効状態を確認してください。テスト用の無効化が残っていれば、適切なポリシーを設定して有効化してください。

3. productivity-health-survey: Firestore ルール確認

HIGH

対応方法: Firebase Console > Firestore > ルール で現在のセキュリティルールを確認してください。「テストモード」(全許可)のままであれば、認証ベースのルールに変更してください。

4. visitcare: セッション有効期限の短縮

MEDIUM

推奨: 8〜24時間に短縮してください。
src/app/api/auth/session/route.tsexpiresIn を変更。

5. ALLOWED_ORIGINS の本番ドメイン設定

MEDIUM

対応方法: 本番デプロイ先のドメイン(例: https://your-app.pages.dev)を ALLOWED_ORIGINS 配列に追加してください。

6. API_SECRET_KEY 環境変数の設定

MEDIUM

対応方法: 各デプロイ環境のダッシュボードで、十分な長さのランダム文字列を API_SECRET_KEY として設定してください。フロントエンド側のAPIリクエストにも Authorization: Bearer <key> ヘッダーを追加してください。
生成例: openssl rand -base64 32

7. hirakata-pt-hp: 管理者パスワードの再設定

MEDIUM

対応方法: 管理者にパスワード変更を依頼してください。変更後は新しいPBKDF2形式でハッシュが保存されます。旧形式でのログイン成功時に自動的にPBKDF2形式に更新するマイグレーション処理の追加も検討してください。

8. endai-system: badges API への認証チェック追加

MEDIUM

対応方法: src/app/api/badges/route.ts に管理者認証チェックを追加してください。

9. visitcare: サーバーサイド認証の強化

MEDIUM

対応方法: ダッシュボードの layout.tsx を Server Component 化し、getServerSession() でサーバーサイド認証を行うか、API Route 経由でトークン検証を行ってください。

10. endai-system: レート制限の本番環境対応

MEDIUM

推奨: 本格運用には Upstash Redis Rate LimitingVercel WAF の導入を検討してください。

修正ファイル一覧(34ファイル)

プロジェクトファイル主な変更
endai-systemnext.config.tsセキュリティヘッダー追加
src/middleware.tsレート制限追加
src/app/auth/callback/route.tsオープンリダイレクト防止
src/app/api/cron/review-reminders/route.tsCron認証強化
src/lib/email.tsメールテンプレートHTMLエスケープ
src/lib/actions/sales-inquiry.tsHTMLエスケープ + 環境変数化
src/lib/actions/registration.tsappUrl 環境変数化
src/lib/actions/auth.tsエラーメッセージ安全化
src/lib/actions/checkin.tsilike ワイルドカードエスケープ
visitcarenext.config.tsセキュリティヘッダー追加
src/lib/firebase/middleware.tsDEV_BYPASS_AUTH修正 + /preview保護
src/app/actions/auth.tsServer Action認証追加
firestore.rules7コレクションのルール追加
+ (dashboard)配下12ファイルから console.log 削除
hirakata-pt-hpfunctions/api/admin/login.jsPBKDF2移行 + CORS制限
functions/api/admin/init.jsPBKDF2移行
public/js/main.jsXSSエスケープ追加
drawing-cognitive-testsrc/worker/index.tsSQLインジェクション修正 + CORS制限 + エラー隠蔽
bento_order_webworkers/src/index.tsAPI認証追加 + エラー隠蔽
.gitignore.env 除外追加
updrs-trackerapi/sheets.tsAPI認証 + バリデーション + CORS制限
api/reminder.ts認証強化 + エラー隠蔽
dementia-cf-suitesrc/worker/index.tsAPI認証 + CORS制限 + エラー隠蔽

OWASP Top 10 対応マトリックス

OWASP Top 10 endai-system visitcare hirakata-pt-hp drawing-cognitive-test bento_order_web updrs-tracker dementia-cf-suite
A01 アクセス制御 対策済 対策済 対策済 対策済 対策済 対策済 対策済
A02 暗号化 対策済 対策済 対策済 - - - -
A03 インジェクション 対策済 対策済 対策済 対策済 対策済 対策済 対策済
A04 安全でない設計 対策済 対策済 対策済 対策済 対策済 対策済 対策済
A05 セキュリティ設定ミス 対策済 対策済 対策済 対策済 対策済 対策済 対策済
A06 脆弱コンポーネント 対策済 対策済 対策済 対策済 対策済 対策済 対策済
A07 認証の失敗 対策済 要確認 対策済 - 対策済 - -
A08 データ整合性 対策済 対策済 対策済 対策済 対策済 対策済 対策済
A09 ログ・モニタリング 対策済 対策済 対策済 要確認 対策済 要確認 要確認
A10 SSRF 対策済 対策済 対策済 対策済 対策済 対策済 対策済