こんにちは。NewITソリューション部の齋藤です。
前回の記事でn8nの概要や魅力について解説しました。今回は実際にn8nを利用してワークフローを構築した記事となります。
サイバー攻撃が日々巧妙化する現代において、いち早く脆弱性情報をキャッチアップして対策を講じることが企業にとって重要な課題の一つです。
しかし、常に脆弱性情報を目に入れることは業務で負担になるのではないでしょうか?
そんなあなたのために、自動で脆弱性情報を取得するワークフローの構築方法を解説します。
準備するもの
-
n8n環境: 私はセルフホスト版を利用しましたが、すぐに試せるn8n Cloud(無料トライアルあり)がおすすめです。
-
APIキー: ChatGPTやGeminiなどのAPIキーを事前にご用意ください。今回の例では、Geiminiを利用します。
-
メールアカウント: メールを送信/受信ためのGmailやOutlookなどのアカウント。
全体像
MyJVN API で脆弱性情報を決められた時間に取得し、AIが説明した内容をメールで送ります。

Step 1: トリガーを設定する
はじめに、トリガーとしてSchdule Triggerを追加し、毎日20:35にフローが起動するように設定します。
- Trigger Interval: Days
- Days Between Triggers: 1
- Trigger at Hour: 8pm
- Trigger at Minute: 35
※画面右側にある「+」をクリックして、各ノードを追加できます!
例:Step1では、「Trigger」と検索してノードを追加します。(以降、ノードの追加方法は割愛します)

Step 2: MyJVN APIを実行して脆弱性情報を取得する
MyJVN APIを呼び出して脆弱性データを取得します。
HTTP Requestノードを追加して以下を設定します。
- Method: GET
- URL: https://jvndb.jvn.jp/myjvn
- Send Query Parameters: 有効化する
- Query Parameters:
- パラメータ1
- Name: feed
- Value: hnd
- パラメータ2
- Name: method
- Value: getVulnOverviewList
- パラメータ3
- Name: maxCountItem
- Value: 1
- パラメータ1

Step 3: 取得したXMLデータをJSONに変換する
MyJVNで取得したデータ構造はXMLのため、このままではAIに構造化されたデータとして連携できませんでしたので、一度JSONに変換します。

Step 4: AIが説明する
AIエージェントノードを追加して、取得した脆弱性情報をAIに説明してもらいます。
-
Credential: 「Create New」をクリックし、事前に取得したAPIキーを登録します。
-
Resource: Language Model を選択します。
-
Model: gemini-2.5-flash や gemini-pro など、利用したいモデルを選択します。
-
Prompt: AIへの指示(プロンプト)を入力します。
「{{ $json['rdf:RDF'].item.title }} 」の概要と説明をしてください。
※{{ $json[‘rdf:RDF’].item.title }} の部分は、左側のINPUTからドラッグ&ドロップで挿入します。


Step 5: メール送信
最後に、AIが作成した内容をメールで送信します。
今回はGmailにてメール通知します。
-
Credential: 「Create New」をクリックし、画面の指示に従ってGmailアカウントを連携(OAuth2認証)します。
-
To: 通知を受け取りたいあなたのメールアドレスを入力します。
-
Subject: 件名を設定します。
-
Text: 本文の入力欄に、前のAIノードから生成された結果を示す変数をドラッグ&ドロップで挿入します。
-
{{ $json.output }}
-
-
「Test step」でテストメールを送信し、自分の受信ボックスにAIが生成したレポートが届けば、すべての設定は完了です!

ワークフローを有効化する
すべての設定とテストが完了したら、画面右上にある「Inactive」のトグルスイッチをクリックして「Active」に切り替えましょう。
実際に動かしてみた結果、フォーマットは整っていないものの、設定した時間通りに脆弱性情報についてメールを通知してくれました!

まとめ
いかがでしたでしょうか?
今回は、n8nとAIを組み合わせて、日々の脆弱性情報収集を自動化するワークフローをご紹介しました。
実務で導入する際は、システムで利用しているミドルウェアなどをプロンプトに埋め込めば、システムに影響があるかどうかまで判別できると思います。
また、メール以外にもTeamsやSlackといったチャットツールとのサービス連携ができるので、情報をいち早く検知できると思います。
ご興味が沸いたら、是非ご利用なさってみてください。
我々NewITソリューション部ではAIを活用した業務システムの開発をお受けしておりますので、ご興味があればお気軽にお問合せください。

(←参考になった場合はハートマークを押して評価お願いします)