From f0c1ee452f5c7cf43a4e2337c0aa07322e428790 Mon Sep 17 00:00:00 2001 From: posimai Date: Fri, 24 Apr 2026 21:02:12 +0900 Subject: [PATCH] =?UTF-8?q?docs(status):=20=E3=82=BB=E3=82=AD=E3=83=A5?= =?UTF-8?q?=E3=83=AA=E3=83=86=E3=82=A3=E4=BF=9D=E7=95=99=E6=A1=88=E4=BB=B6?= =?UTF-8?q?=E3=82=92=E4=BB=96AI=E8=A6=8B=E8=A7=A3=E5=BE=85=E3=81=A1?= =?UTF-8?q?=E3=81=A8=E3=81=97=E3=81=A6=E8=A8=98=E9=8C=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit JWT localStorage設計とexpress.static公開範囲について Claude Codeが判断を留保した理由と問いを STATUS.md に追記。 他AIからの見解を求めるため。 --- STATUS.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) 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` 等の静的ファイルはどこから読み込まれているか) + +--- + ## 保留中(着手条件あり) | タスク | 条件 | 理由 |