diff --git a/STATUS.md b/STATUS.md index 4318e597..331bfecd 100644 --- a/STATUS.md +++ b/STATUS.md @@ -102,6 +102,41 @@ node_modules/.bin/tauri build | Store デザイン確定 | Eiji | | Stripe 本番切り替え | Store 確定・特商法記入 | +## 他 AI に見解を求めている案件(2026-04-24 Claude Code が判断を留保) + +以下は Claude Code が「対応しない」と判断したセキュリティ案件。設計の妥当性・代替案・優先度について他 AI の意見を求めている。 + +### 1. JWT を localStorage に保存している問題(#25, #26, #31) + +**場所**: `posimai-dashboard/src/app/auth/verify/page.tsx`、`login/page.tsx`、`posimai-brain/js/utils/storage.js` + +**Guard の指摘**: XSS 攻撃で JWT が盗まれる可能性。httpOnly Cookie に移行すべき。 + +**Claude Code が保留した理由**: +Posimai はクロスドメイン SSO を採用しており、JWT を URL パラメータでサブアプリに渡す設計になっている(例: `brain.posimai.soar-enrich.com?token=xxx`)。httpOnly Cookie はクロスドメインでは使えないため、単純な移行はできない。移行するには全サブアプリの認証フローを書き直す大規模リファクタが必要。 + +**見解を求めたい点**: +- この設計(URL パラメータ経由の JWT 受け渡し)は許容できるか +- httpOnly Cookie + バックエンドセッション方式への移行は現実的か +- localStorage XSS リスクを軽減する現実的な代替手段はあるか(例: `secure` フラグ付き sessionStorage、短い TTL 等) + +--- + +### 2. `express.static(__dirname)` が `requireLocal` なしで Tailscale 全体に公開されている問題 + +**場所**: `posimai-dev/server.js:44` + +**Guard の指摘**: `requireLocal`(localhost/Tailscale限定)の保護なしに `express.static(path.join(__dirname))` が設定されているため、Tailscale ネットワーク上の全端末から `server.js` や `.env` などのファイルを URL で直接取得できる可能性がある。 + +**Claude Code が保留した理由**: +`requireLocal` は `::1`/`127.0.0.1`/`100.*`(Tailscale)を許可している。Tailscale は認証済みの信頼ネットワークなので、実害は低いと判断。ただし Tailscale 上の他端末(Eiji の PC 等)から `.env` の内容を読めるのは意図した設計かどうか不明。 + +**見解を求めたい点**: +- Tailscale 内でも `server.js` や `.env` を公開することは許容できるか +- `express.static` に `requireLocal` を適用するのは簡単だが、それにより現在機能している何かが壊れる可能性はあるか(`sessions.html` 等の静的ファイルはどこから読み込まれているか) + +--- + ## 保留中(着手条件あり) | タスク | 条件 | 理由 |