diff --git a/STATUS.md b/STATUS.md index 331bfecd..469c0b7d 100644 --- a/STATUS.md +++ b/STATUS.md @@ -6,10 +6,36 @@ - 特になし +## 全アプリ セキュリティ監査(2026-04-25 完了) + +### このセッションで修正・デプロイ済み + +| 修正 | 場所 | 内容 | +|------|------|------| +| XSS修正 | posimai-digest/index.html | escHtml()追加・AIレスポンスとユーザー入力のinnerHTML挿入前エスケープ | +| エラー情報露出 | server.js:2067 | chronicle/activityのe.message→汎用メッセージ | +| エラー情報露出 | server.js:3290 | atlas-scanのcode:e.code除去 | + +### 監査で判明した残課題(未対応) + +**即時対応必要(maiさん手動)** +- `ponshu_room_lite/.env` と `.env.local` に Gemini APIキー(×2)・Giteaトークンが平文。GCPコンソールとGiteaで今すぐローテーション + +**コード修正が必要(次チャットで対応)** +1. journal/togetherの innerHTML XSS(escHtmlで解決・Eijiへの影響なし) +2. Guard APIルートの認証(scan-claude/enrich/fix-issueがOriginチェックのみ) +3. Ponshuライセンス認証のIDOR(routes/ponshu.js:16-90) +4. CSP整備(unsafe-inline削除・未設定アプリへの追加) + +**設計上の妥協点(意図的・変更不要)** +- JWTをURL経由で渡す: クロスドメインSSO設計のため必要。historyReplaceStateは全アプリ実装済み +- Together認証なし: EijiがJWT非保有のため意図的設計。レートリミット・invite_code強度で対策済み + +詳細は memory/project_security_audit.md を参照 + ## mai のPC から実行待ち - **posimai-boki** は独立リポジトリで Gitea/GitHub へ push 済み。追加分を出したときは `cd posimai-boki && npm run deploy` -- **article-keeper フォルダ削除**(エクスプローラーから手動削除): Firebase プロジェクトは削除済み。キーは git 未追跡なので履歴汚染なし。フォルダを消すだけで OK。 - **contact.html**: Resend API 経由に切り替え済み・送受信テスト完了(2026-04-21)✓ - **Stripe 本番化時**: index.html・index-b.html・index-c.html・index-d.html の 4ファイルにある `test_9B67sEbN3fowfMW4jwenS00` を本番 Payment Link URL に一括差し替え(Cursor 指摘 2026-04-22) @@ -88,7 +114,6 @@ node_modules/.bin/tauri build | タスク | 内容 | 優先度 | |--------|------|--------| -| **article-keeper フォルダ削除** | Firebase プロジェクト削除済み(mai 完了)。キーは git 未追跡のため履歴汚染なし。エクスプローラーでフォルダ削除するだけ | 低(プロジェクト削除済みでキー無効) | | Stripe sandbox テスト | Eiji に購入フロー確認依頼 | 中 | | 特商法ページ記入 | tokushoho.html 作成済み。事業者名・住所・電話番号の**内容記入**が残っているか確認が必要 | 中 | | Store デザイン確定 | Eiji と A/B/C/D から選定 | 中 |