Skip to content

fix: update Nuxt DevTools to 3.4.3 - #3

Merged
hane-jp merged 1 commit into
mainfrom
fix/devtools-security-3.4.3
Oct 15, 2026
Merged

hane-jp merged 1 commit into
mainfrom
fix/devtools-security-3.4.3

Conversation

@hane-jp

@hane-jp hane-jp commented Oct 15, 2026 •

Copy link
Copy Markdown
Owner

変更内容

開発サーバーの設定・storage 情報取得に DevTools の認証 token を要求する公式修正を取り込みます。Nuxt の既存依存範囲 @nuxt/devtools: ^3.4.1 内で、nuxt/package-lock.json だけを更新しました。

  • @nuxt/devtools / @nuxt/devtools-kit / @nuxt/devtools-wizard: 3.4.2 → 3.4.3
  • simple-git、@simple-git/argv-parser、@simple-git/args-pathspec、@kwsites/file-exists、@kwsites/promise-deferred を削除。package-manager-detector@1.9.0 を追加し、既存 tinyexec@1.3.0 を利用。
  • Nuxt 4.5.2、package.json、アプリコード、既存の直接依存バージョンは変更していません。nypm は Nuxt 自身が使用するため残ります。
  • npm update @nuxt/devtools @nuxt/devtools-kit @nuxt/devtools-wizard --package-lock-only --ignore-scripts --no-audit --no-fund を使用。npm が同時に再計算した無関係な Sass optional package 20 件の dev フラグ変更は除外しています。最終 lock で npm ci を確認済みです。

基準: main / 2ecd6f12a855d6ae4d9d1ade24eb7a6f6200c749。リモートに PRODUCTION / DEVELOP はありません。元チェックアウトの未コミット作業は取り込まず、独立チェックアウトを使用しました。

公式根拠と確認範囲

  • Nuxt DevTools v3.4.3(2026-10-14)
  • 公式修正 #1124: server config / storage の取得に dev auth token を必須化し、認証 prompt の token 入力待ちも修正。
  • インストールされた公開 3.4.3 artifact の getServerConfig、getStorageMounts、getStorageKeys が ensureDevAuthToken(token) を先に呼び出すことと、getServerConfig の重複がないことを静的確認しました。
  • 通常のブラウザ操作で初回の Permissions required ダイアログ、キャンセル後の Project data requires authorization 表示を確認しました。能動スキャン、RPC 攻撃再現、token の実入力は行っていません。

検証

Node.js 24.21.0 / npm 11.19.0。tracked source のみを新しい HOME に取り出し、環境変数は env -i で明示しました。実 env / token / SSH / DB / WordPress / 管理画面 / Sheets / Bot は使用していません。アプリとテストは macOS sandbox で外向き通信を loopback とローカル socket のみに制限し、合成 WordPress fixture を使用しました。

検証 結果
npm --prefix nuxt ci --no-audit --no-fund 成功、postinstall の nuxt prepare も成功
npm test 2 files / 4 tests 成功
既存 lint / typecheck スクリプト・設定なし(追加の依存インストールなし)
npm run build 成功
npm run generate 成功、合成日英記事を含む 14 routes を prerender
production SSR ブラウザ トップ → 一覧 → 日英記事、戻る、日英ガイド切替が正常。通常経路で console error / warn なし
API 状態 合成 0 件・障害表示・再読み込みでの復旧を確認
静的成果物 トップ・一覧・英語記事への遷移と日本語記事の直接表示が正常。下記の既存制約あり
開発サーバー / DevTools 3.4.3 の起動、合成投稿表示、上記認証 UI を確認
git diff --check 成功

既存の静的サイト制約

Python の静的ファイルサーバーで generate 成果物を配信すると、一覧から日本語スラッグの記事へクライアント遷移した際、payload が使われず /api/posts/<encoded-slug> を要求して 404 となり、画面が空になります。直接表示・リロードでは記事を表示できます。

未変更 main(上記 SHA、DevTools 3.4.2)の別インストール・generate・ブラウザでも同じ失敗を再現しました。 今回の DevTools 更新による回帰ではありません。SSR は同じ日本語遷移が正常です。この既存制約を解消したとは主張せず、本 PR は lock のセキュリティ修正に限定しています。

同時点の監査比較と残存

2026-10-15 03:40:18–03:40:21 UTC に旧・新 lock を同じ npm で連続 npm audit --package-lock-only --json。両方 exit 1(残存 advisory あり)です。

指標 更新前 更新後
npm 指摘パッケージ集計 20 17
critical / high / moderate 3 / 16 / 1 1 / 15 / 1
固有 advisory(via 内 object の advisory URL で重複除去) 29 25
新規の固有 advisory — 0

削除した依存から消えた固有 advisory は 4 件です。

simple-git とその argv parser は lock と実インストールの両方からなくなり、監査の @nuxt/devtools への伝播指摘も消えました。この監査差分と、#1124 の token 必須化の確認は別の根拠です。

残存の直接 advisory は brace-expansion、braces、devalue、node-forge、postcss-selector-parser、shell-quote(critical 1)、source-map-js、undici です。依存元への伝播分を含む集計が上記 17 パッケージです。一括 audit fix、Nuxt 親更新、無関係な依存更新は含めていません。

配備・復旧

push 前に Actions workflow 0、登録 webhook 0、既存 deployment 0 を読み取り確認しました。保守ブランチから main 宛ての draft PR とし、環境ブランチへの直接 push、merge / auto-merge、release push、dispatch、deploy は実行しません。

復旧が必要なら、本 PR の lock 変更を revert(または基準 SHA の nuxt/package-lock.json を戻す)して npm ci で再構築します。旧 lock は DevTools 3.4.2 に戻り既知修正を失うため、レビューされた復旧として扱い、その間は DevTools を停止するか信頼したローカル環境だけで使ってください。

PR 作成後、head d745db9a629fe73768c5e761380db240ecae2e02 に対する check runs 0、commit status 0、Actions runs 0、deployment 0 を確認しました。CI が未設定のため待機対象の実行はありません(CI 成功という意味ではありません)。auto-merge は無効です。人間レビュー待ちで停止しています。

@hane-jp
hane-jp marked this pull request as ready for review October 15, 2026 05:32
@hane-jp
hane-jp merged commit 697cf59 into main Oct 15, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-15T05:33:50.343005Z d745db9 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant