AI Security Playbook

手順 / 約8分

Node.jsを安全に調べる確認コマンド

変更や停止をせず、Nodeの版・プロセス・設定を読み取る。

実践 · 実行環境の基本を知り、自分のPCのターミナルを開ける方へ。

読む前の補足
この記事の目次

まずは、一つの環境から調べよう。

手元のNode、起動中の処理、リポジトリの指定、本番。それぞれ確認する場所が違います。まずは自分が管理する対象を一つ選んで読み進めましょう。

実行する前に

以下は確認のためのコマンドです。更新、削除、プロセス停止は行いません。自分が管理する環境で実行してください。結果にユーザー名や内部パスが含まれる場合は、共有前に伏せます。

プロセスの全引数や環境変数は表示しません。引数にはパスワード、トークン、直接渡したコードが含まれることがあります。ps の command / args 列や環境変数の一括出力を、そのまま通知やチャットへ貼らないでください。

同じNodeでも、見ている対象が違う

  1. 新しく起動するNode

    このコマンドで呼んだ版と場所。

    node --version / process.execPath

  2. すでに起動中の処理

    起動元や実行ファイルを別に調べる。

    ほかの処理の版を証明しない

確認結果は、調べた対象の範囲で読みます。表示する結果に秘密や内部情報がないかも見直します。

手元のNodeを確認する

macOS / Linux:

command -v node
node --version
node -p 'JSON.stringify({version:process.version,execPath:process.execPath})'

Windows PowerShell:

Get-Command node -All | Select-Object Source
node --version
node -p 'JSON.stringify({version:process.version,execPath:process.execPath})'

例:v24.22.1 は今回の24系の修正版です。コマンドが見つからない場合は、PATH上にない可能性があります。アプリ同梱版やDocker、本番にNodeがないことの証明にはなりません。

ここで分かるのは、新しく起動したNode。

process.execPath は、このコマンドで新しく起動したNodeの場所です。ほかの起動中プロセスの版を証明するものではありません。

起動中のプロセスを確認する

macOS:

ps -axo pid=,ppid=,lstart=,comm=

Linux:

ps -eo pid=,ppid=,lstart=,comm=

全プロセスの一覧から、node、next-server、利用中のAIツール名などを手元で確認します。comm は引数を含まない実行名です。表示名が変わる場合があるため、この一覧だけでは全対象を検出できません。

Windows PowerShell:

Get-Process node -ErrorAction SilentlyContinue |
  Select-Object Id, StartTime, Path

権限の違いなどでPathが読めないことがあります。空欄は「問題なし」ではありません。

起動時刻が更新より前なら、旧版が動いている可能性を調べます。時刻だけで脆弱性の有無は確定できません。対応するアプリの作業を保存し、再起動後に版と動作を確認します。一括停止は避けます。

リポジトリの指定を確認する

macOS / Linuxで、調べたいリポジトリのルートに移動して実行します。rg(ripgrep)が必要です。

rg -n --hidden -g '!node_modules/**' -g '!.git/**' -g '!dist/**' \
  -g 'Dockerfile*' -g '*.yml' -g '*.yaml' -g 'package.json' \
  'FROM[[:space:]]+node:|node-version:|"node"[[:space:]]*:' .
rg --files --hidden -g '!.git/**' -g '!node_modules/**' \
  -g '.nvmrc' -g '.node-version'

2行目の検索で出たファイルは、エディタで版指定を読みます。rg は見つからないと終了コード1になります。出力なしは、検索対象内で見つからなかったことだけを意味します。別名の設定やマルチステージビルド、外部CI設定も確認が必要です。

本番を確認する

設定と、本番の実体を照合する

  1. リポジトリの指定

    DockerfileやCIの設定を確認。

  2. 配信したもの

    ビルド・デプロイした対象を確認。

  3. 本番で動くもの

    提供元の画面や運用ログと照合。

設定ファイルだけで本番の実行版は確定しません。一般公開の診断用画面は安易に追加しません。

本番の版は、そのサービスの管理画面、既存の監視、起動時に記録するランタイム情報で確認します。版確認のために公開診断エンドポイントを新設したり、秘密を含む設定をログへ出したりしないでください。

DockerfileのFROM node:24や、CIの指定だけでは、現在動いているイメージの版は分かりません。イメージの識別子と稼働リビジョンを記録し、対応付けます。

参考資料

書いた人

マーケティングの現場から、AIをつくり、仕事で使う側へ。実際に試したことや、つまずいたことを、図解と具体例で伝えています。

この記事のURL:https://nekoai-lab.github.io/ai-security-playbook/learn/commands/

続けて読む

シリーズ · 全5記事のうち3記事目

次に読むPC・MCP・CI・本番を確認し、対応済みと未確認を分けて残す。
読む順番・ルートを見るNode.jsの更新を確かめる
  1. AIツールと実行環境の基本
  2. Node.js 2026年10月のセキュリティ更新
  3. Node.jsを安全に調べる確認コマンド
  4. Node.jsの更新を完了させるチェックリスト
  5. 更新とAIレビューを運用につなげる

更新・公開後の運用の教材へ戻る →