chore: セキュリティ監査フォローアップをSTATUS.mdに記録(2026-04-27)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
6ac564005c
commit
c5de9c8937
19
STATUS.md
19
STATUS.md
|
|
@ -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 に置換が必要。工数大
|
||||
|
|
|
|||
Loading…
Reference in New Issue