chore: セキュリティ監査フォローアップをSTATUS.mdに記録(2026-04-27)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
posimai 2026-04-25 22:21:20 +09:00
parent 6ac564005c
commit c5de9c8937
1 changed files with 12 additions and 7 deletions

View File

@ -6,7 +6,7 @@
- 特になし
## 全アプリ セキュリティ監査2026-04-25 実施 / 2026-04-26 追加修正)
## 全アプリ セキュリティ監査2026-04-25 実施 / 2026-04-26 追加修正 / 2026-04-27 第2回
### デプロイ済みの修正一覧
@ -16,21 +16,26 @@
| エラー情報露出 | server.js:2067 | chronicle/activityのe.message→汎用メッセージ | 2026-04-25 |
| エラー情報露出 | server.js:3290 | atlas-scanのcode:e.code除去 | 2026-04-25 |
| Guard CSRF トークン | posimai-guard | HMAC-SHA256(GEMINI_API_KEY, UTC日) を meta タグで注入、enrich/fix-issue に x-guard-token 必須化 | 2026-04-26 |
| redirect_uri 正規表現 | posimai-dashboard/auth/verify | `isAllowedRedirectHost()` で Vercel サブドメイン乗っ取りを防止posimai-evil.vercel.app の子ドメインが通っていた) | 2026-04-26 |
| Analytics 認証ゲート | posimai-analytics | JWT 未保有ユーザーをログインページへリダイレクトする AuthGate を root layout に追加 | 2026-04-26 |
| magic byte 検証 | server.js | /journal/upload で JPEG/PNG/GIF/WebP の先頭バイトをチェックし偽装アップロードを拒否 | 2026-04-26 |
| redirect_uri 正規表現 | posimai-dashboard/auth/verify | `isAllowedRedirectHost()` で Vercel サブドメイン乗っ取りを防止 | 2026-04-26 |
| Analytics 認証ゲート | posimai-analytics | JWT 未保有ユーザーをログインページへリダイレクト | 2026-04-26 |
| magic byte 検証 | server.js | /journal/upload で JPEG/PNG/GIF/WebP 先頭バイト検証 | 2026-04-26 |
| HTMLメールインジェクション | server.js:store/contact | name/email/subject/messageをescapeHtml()でエスケープ | 2026-04-27 |
| Think charname XSS | posimai-think/index.html | getCharName()をescHtml()でエスケープ自己XSS修正 | 2026-04-27 |
| Guard CSRF secret分離 | posimai-guard | GUARD_TOKEN_SECRET優先、未設定時はGEMINI_API_KEYフォールバック | 2026-04-27 |
### 批判的コードレビューで「既修正」と判明した項目
### 批判的コードレビューで「既修正」と判明した項目(誤検知)
- journal/together innerHTML XSS: 全箇所に escHtml/escapeHTML 適用済み。前回監査の誤検知
- Ponshu IDOR/TOCTOU: `UPDATE ... WHERE device_id IS NULL` 原子的実装で解消済み。前回監査の誤検知
- journal/together innerHTML XSS: escHtml/escapeHTML が全箇所に適用済み
- Ponshu IDOR/TOCTOU: `UPDATE ... WHERE device_id IS NULL` 原子的実装で解消済み
- H-8 CSP未設定: 全31アプリに CSP + HSTS 設定済み2026-04-20
- Magic Link オープンリダイレクト: フロントエンドの isAllowedRedirectHost() が検証。実害なし
- Together URL `javascript:` 注入: `isSsrfSafe()` が protocol チェックで遮断済み
### 残課題(未対応)
**即時対応必要maiさん手動**
- `ponshu_room_lite/.env``.env.local` に Gemini APIキー(×2)・Giteaトークンが平文。GCPコンソールとGiteaで今すぐローテーション
- Guard `GUARD_TOKEN_SECRET` を Vercel 環境変数に追加(`openssl rand -hex 32` で生成)
**コード修正が必要(優先度 High**
1. H-7: CSP の `unsafe-inline` 除去 → インラインイベントハンドラを addEventListener に置換が必要。工数大