Node.js本体の脆弱性監視

株式会社テイク-ワンのR.Mです。

Node.jsライブラリをGithubで脆弱性監視している方は多いかと思います。
Github Dependabot alertsを利用すればパッケージ管理しているライブラリは簡単に監視することができますが、もう一歩便利にする方法を紹介します。

改善したいこと

Github Dependabot alertsでは、Node.js本体を脆弱性監視することができない。
(Node.js公式サイトへ定期的に直接確認などが必要)

できるようになること

Node.js本体に脆弱性が発見された際にGithub actions経由でメール通知を受け取る。
※通知レベルはGithubの通知設定に依存します。

設定方法

前提条件

Githubを利用している(対象プロジェクトがコード登録されていなくてもOK)

設定方法

Github actionsを登録します。
Githubで管理しているコードの `.github/workflows` に以下の内容でyamlファイルを登録してください。
ファイル名は任意でOKです。

GitHub Actionsについては公式サイトを参照してください。
https://docs.github.com/ja/actions

name: "Node.js Vulnerabilities"
on:
  schedule:
    - cron: "0 23 * * 1"
  workflow_dispatch:

jobs:
  is-my-node-vulnerable:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@main
      - name: Check Node.js
        uses: nodejs/is-my-node-vulnerable@main
        with:
          node-version: "24.15.0"

設定項目の補足

[nodejs/is-my-node-vulnerable]
本記事のメインとなるライブラリです。
node.js公式から提供されています。
https://github.com/nodejs/is-my-node-vulnerable

[schedule]
cronフォーマットで指定(上記例であれば、毎週月曜日9:00に実行)
※デフォルトブランチのみスケジュール実行されますので、マージ前に動作確認したい場合はGithubサイト上で手動実行してください。

[actions/checkout & nodejs/is-my-node-vulnerable]
mainブランチを指定して基本的には問題ありませんが、動作が不安定になった場合にはactions/checkout@v6など固定タグを指定してください。

[node-version]
監視したいNode.jsバージョンを記載してください。
プロジェクトのNode.jsバージョンをアップグレードした際にはバージョンを更新する必要があります。

おわりに

後は、メールが通知されてくれば、プロジェクトのNode.jsアップグレードを検討という流れになります。
通知されたメールのリンク、またはGithubサイトのActionsタブから Node.js Vulnerabilities のリストを選択で詳細が確認できます。


画面下側にこのようなメッセージが表示されているのが確認できます。

前へ

OpenLDAPしか触ってなかった人が 389 Directory Serverでレプリケーション設定を行ってみる