AI侵入テストエージェントNightcrawler、スマホで完結

サイバーセキュリティのイメージ AI

スマートフォン1台に差し込んで放置するだけで、ネットワーク内のホストを見つけ出し、稼働サービスを洗い出し、脆弱性を検出してレポートまで自動生成する——そんなオープンソースの侵入テスト(ペネトレーションテスト)エージェント「Nightcrawler」がGitHubで公開され、Hacker Newsで注目を集めています。クラウド接続なしで動く点が特徴で、開発者のCyril Engmann氏が個人プロジェクトとして公開しました。

背景と文脈

侵入テストとは、企業や組織が自社のシステムに実際に攻撃を試みることで、悪用可能な弱点を事前に洗い出す正規のセキュリティ診断手法です。従来は専門のセキュリティエンジニアがノートPCやツール一式を持ち込み、対象ネットワークの許可された範囲内で手作業に近い形で作業を進めてきました。

近年はAIエージェントを使って診断作業の一部を自動化する試みが広がっていますが、多くはクラウド上の大規模モデルに接続する前提で設計されています。Nightcrawlerが注目されているのは、スマートフォンのGPU上でAIモデルをすべてローカル実行し、外部通信なしで診断作業を完結させる設計を選んだ点です。README上でも「書面による許可(Rules of Engagement)を対象ネットワークの所有者から得た上でのみ使用すること」という利用条件が明記されています。

診断対象を勝手に広げないための制約や、許可されたネットワークの外に手を出させない仕組みをどう組み込むかは、AIエージェントに現実世界での行動を任せる際に共通する設計課題です。Nightcrawlerはこの課題に、後述する「スコーププロキシ」という形で応えています。

技術/ビジネス面

スマートフォンを手に持つ様子
Photo by Vojtech Bruzek on Unsplash

Nightcrawlerは、root化したAndroid端末(Kali NetHunter環境)上で、12億パラメータの軽量言語モデル「LFM2.5-1.2B-Instruct-Heretic」をOpenCL経由でGPU実行します。この小型モデルが状況を判断しながら次の行動を決める「エージェントループ」を回し、実際のネットワーク操作はnmapやcurlといった既存のツール群に委ねる構成です。診断対象の範囲外にコマンドが及ばないよう二重にチェックする「スコーププロキシ」を挟んでいる点も特徴です。

動作テストでは、72時間以上の連続稼働で1ネットワークあたり30台以上のホストを発見し、2000件超のコマンドを実行、10件以上の脆弱性を検出した実績が報告されています。1.2Bという小規模モデルでのコマンド成功率は約5割にとどまるものの、重複検出やゴミ状態からの自己復帰といった仕組みで補っている設計です。ソースコードはMITライセンスで公開されています。

付属のデータベースには24,956件のCVE(既知の脆弱性を識別する共通番号)が登録されており、発見したサービスのバージョン情報と照合して該当する脆弱性を洗い出します。複数手順を要する攻撃の型をまとめた「playbook」も27種類用意され、ブラウザからリアルタイムに進捗を確認できるダッシュボードも備えています。スキャン間隔を意図的に遅らせる、探索対象のホストを分散させるといった、検知されにくくするための工夫も盛り込まれています。

これからどうなるか

大規模クラウドモデルに頼らず、手のひらサイズのデバイスで自律的な診断エージェントが動く事例は、AIエージェントの実行環境が「巨大なデータセンター」から「手元のエッジデバイス」へも広がりつつあることを示しています。同時に、こうしたツールが不正利用された場合の脅威も現実味を帯びており、対象範囲を厳格にチェックする仕組みや利用許諾の明記は、この種のツールを公開する上での最低条件になりつつあります。

開発者にとっては、軽量モデル+既存CLIツールの呼び出しという構成そのものが参考になります。自分のプロダクトに自律的な診断・監視エージェントを組み込みたい場合、必ずしも大型モデルへの常時接続を前提にしなくても、限られたタスクなら小型モデルのローカル実行と外部ツール連携の組み合わせで十分実用に足りる場合があるという実例です。通信費やAPIコストを抑えたい組み込み用途のエージェント設計を考える際、参考になる構成といえるでしょう。

まとめ

Nightcrawlerは、スマートフォン単体でAIによる侵入テストを完結させるオープンソースツールとして公開されました。72時間の連続稼働実績や厳格な利用条件の明記は、AIエージェントをセキュリティ診断の現場に持ち込む上での実践例として参考になります。

参考リンク

アイキャッチ画像: Photo by Shubham Dhage on Unsplash

タイトルとURLをコピーしました