デジタルペンテスト部の紺野と吉原です。
普段はプラットフォーム診断を担当し、診断作業や新規診断スクリプトを開発したりしています。
~ MP サービス提供の“舞台裏”~
私は2025 年 10 月 8 日~10 日に開催された「Hardening 2025 Invisible Divide」に参加し、参加レポート「競技者を実戦的な視点で支援せよ!」でその模様をご紹介しました。
本記事ではその裏側、つまり、MP サービスの提供にあたって、エンジニアたちの汗と涙と技術的なこだわり(と、いくつかのドタバタ)について、参加レポートでは触れきれなかった技術的な詳細や、開発中の苦労話などの「裏話」を大公開します!
Hardening は攻撃からの防御や障害対応、ビジネス運用などを同時に求められる実践型のイベントで、参加者はチームで EC サイトを運用しつつ、攻撃を防御しながら、売上の最大化に挑みます。MP (マーケットプレイス)はスポンサー企業が IPS や WAF、監視や構築支援などの現実に近いサービスを各参加者チームに提供する仕組みです。詳しくは(「競技者を実戦的な視点で支援せよ!」)をご覧ください。
1. ラックが提供したMPサービス
DMZ監視サービス with AI
DMZにあるサーバのログ監視、挙動監視、死活監視などを提供しました。監視に必要となるLog Forwarderの設定や環境構築は、すべてMPサービスチームが担当し、競技者が本来取り組むべき対処判断に集中できるよう支援、さらに新しい取り組みとして、with AIの要素を導入しました。
堅牢化チェックシート
CIS ControlsやNIST SP800系文書、MITRE ATT&CKなどのガイドラインやフレームワークに加え、ラック独自の経験や知見を基にした、サーバ・ネットワークの堅牢化に必要な観点、アプローチをまとめたチェックシートを、MPサービスを購入いただいたチームに提供しました。
サイトバックアップ保管サービス
Webサイト上の静的ファイル(HTMLやCSS、JavaScriptやサーバの設定ファイルなど)を、ラックのMPサーバで安全に保管するサービスを提供しました。
2. 突貫開発の救世主「AI エージェントツール」
今回提供した「DMZ 監視サービス with AI」では、 SIEM のアラート内容を AI が分析して Discord に通知する……という今風のカッコいいシステムですが、実は開発期間はかなりギリギリでした。
普段の業務の合間を縫っての開発だったため、ゼロからコードを書いている時間はありません。 そこで活躍したのが AI エージェントツール です。
「SIEM から Discord Webhook 経由で飛んでくるアラートを受け取って、ローカル LLM に投げて、結果をフォーマットして通知する Python スクリプト書いて!」 とお願いすることで、プログラムの大枠を一瞬で生成。人間が行ったのはデバッグと細かな調整だけでした。
「AI を活用するためのシステムを、AI に作ってもらう」というエコサイクル。まさに、AI 様様です。
# 実際にAIエージェントで作成したコードの一部 def analyze_log_with_llm(log_message: str) -> str: """LLM APIにログメッセージを送信して分析を依頼する""" system_prompt = "あなたは経験豊富なセキュリティアナリストです。" # ... (プロンプト生成処理) return llm_response
3. ローカル環境で如何にして LLM を動かすか
今回の最大の技術的チャレンジは、「会場のローカル環境で LLM を動かす」 ことでした。 会場に持ち込めるのはノート PC のみ。クラウドの API を使うと遅延や通信制限が怖い。でも、高性能な外部 GPU なんて積んでいない……。
一般的な CPU 推論では遅すぎるし、どうすれば……と頭を抱えていた時、開発担当の吉原に天啓が降ります。
「GPU はあるじゃないか、そう (i)GPU(内蔵グラフィックス)が!!」
LLM の実行環境
目をつけたのは、Intel Core Ultra プロセッサに搭載されている内蔵 GPU(Intel Arc Graphics)でした。吉原自身、ガジェットオタクであるため、最近の内蔵グラフィックスは性能が良い、という評判を知っており、これを活用したロマン?を求めたシステムを構築してみました。
- ハードウェア: Intel Core Ultra 7 255H / RAM 64GB
- 推論ライブラリ: intel ipex-llm (Intel 製 GPU 向けに最適化された LLM ライブラリ)
- モデル: Gemma3n E4B (Google 発、エッジデバイス向けの高効率モデル)
結果として、SIEM のアラート検知から30 ~ 50 秒程度で AI による分析レポートが Discord に投稿されるシステムが完成。 「内蔵 GPU でここまでやれるのか!」という驚きと共に、実戦投入に成功しました。
4. Forwarder 配布の“見えない”苦労
AI の話ばかりしてしまいましたが、地味ながら一番大変だったのがログ収集エージェント(Forwarder)の配布と設定です。
競技開始直後、MP サービスを購入してくれたチームのサーバに一斉にエージェントを入れなければなりません。 AWX や Ansible Playbook を駆使して自動化を試みましたが、イベント当日は MP 購入チームのサーバー設定が既に堅牢化されているために、自動化がうまくいかず、各サーバーに SSH 接続を行い、地道に手動で配布するしかありませんでした。 最新技術の裏側で、泥臭い Ansible との格闘があったことも忘れてはいけません。
5. 実際の AI レポート画面
こうして苦労して稼働したシステム。実際には以下のようなレポートを競技チームに届けていました。


単にログを表示するだけでなく、「WebShell 設置の疑いがあります」「直ちに通信を遮断してください」といった具体的なアクションまで提案できており、想像以上に良いレポートが素早く提供できたと思います。
まとめ:技術の無駄遣い?いいえ、ロマンです
ハードニング競技会は、参加者(競技チーム)だけでなく、MP を提供するスポンサー側にとっても「新しい技術を試す実験場」でもある、と私は考えています。 内蔵 GPU でのローカル LLM 運用や、生成 AI によるコード開発など、普段の業務ではなかなか踏み切れないチャレンジができたことは、エンジニアとして非常に楽しい経験でした。
次回のハードニングでも、また懲りずに新しい技術ネタを仕込んで参加してみたいと思います!