Nightcrawler v0.1.0 – スマートフォン用ローカルAIペネトレーションテスト・エージェント

Overview

Nightcrawler v0.1.0は、クラウドAPIやインターネット接続を必要とせず、ローカルで実行されるAIモデルを使用して、スマートフォン上で完全なペネトレーションテスト・ワークフローを自律的に実行できることを実証しています。

How Nightcrawler Works

このエージェントはループ内で動作します。ターゲットとなるホストを選択し、過去の観測結果からコンテキストを構築し、1.2BパラメータのLLMに次のアクションを問い合わせ、スコープ・エンフォースメント・プロキシを通じて提案されたコマンドを検証し、Kali MCPサーバー経由でコマンドを実行し、出力を解析してホストのメモリを更新し、そして繰り返します。

Architecture

Nightcrawlerは、Kali NetHunterを搭載したOnePlus 8で動作します。LFM2.5-1.2B-Instruct-Hereticモデルは、Adreno 650 GPU上のOpenCLを介してllama.cppによってport 8080で提供されます。エージェント・ループ(main.py)は、コマンドがKali MCPサーバー(nmap, curl, smbclientなどの実際のツールを実行する)に到達する前に、すべてのコマンドを検証するスコープ・プロキシと通信します。port 8888上のウェブ・ダッシュボードはリアルタイムの監視と制御を提供し、SQLiteデータベースはホスト、脆弱性、認証情報、および実行されたコマンドを保存します。

Key Features

  • テスト中に人間が介在しない、完全な自律的動作。
  • 100%ローカル推論;AIモデルは電話のGPUで動作します。
  • 2層のスコープ・エンフォースメント(スコープ・プロキシとコマンド・フィルター)により、スコープ外または破壊的なアクションを防止します。
  • ステルス重視の走査:低速レート、ホスト・ローテーション、カバートラフィック、およびnmap -T2のみ。
  • 直接実行可能な27個のマルチステップ・エクスプロイト・プレイブックが含まれています。
  • バージョンを意識した脆弱性マッチングのために、24,956件のエントリを持つローカルCVEデータベースが含まれています。
  • ライブ・フィード、ホスト・カード、ネットワーク・マップ、脆弱性詳細、およびC2コントロールのためのウェブ・ダッシュボードを提供します。
  • 外部USBアダプターを使用したWiFiブリーチ・モードにより、自律的なWPA2クラッキングをサポートします。
  • mDNS/NBNS/DHCP/ARPブロードキャストのパッシブ・ディスカバリーを行います。
  • ネットワークごとにデータを隔離し、MACキー付きホスト・レコードによりDHCP変更を乗り越えます。
  • 自己修復メカニズムを実装しています:ガベージ・ディテクション、重複検知、時間ベースのスタック・ディテクション、およびウォッチドッグ。
  • 成功したインタラクションをモデルのファインチューニング用にログに記録します。
  • 脆弱性、エクスプロイト・チェーン、および修正アドバイスを含む、ダウンロード可能なペネトレーションテスト・レポートを生成します。

Hardware Requirements

  • Required: Android phone with Kali NetHunter (continues)
  • 成功したインタラクションからトレーニング・データを取得し、将来的なモデルのファインチューニング用に利用可能です。
  • 脆弱性、エクスプロイト・チェーン、および修正ステップを要約約する構造化レポートを生成します。

Performance Metrics

OnePlus 8のAdreno 650 GPUを使用し、OpenCLを利用した場合:

  • LFM2.5-1.2B-Instruct-Heretic (Q8_0) は、約115 prompt tokens/second と約13 generated tokens/second を達成します。
  • バッテリー駆動時、GPUガバナー・デーモンが起動し、最大パフォーマンスを強制し、バッテリーが15%を下回ると約6倍の速度低下を避けるためにスロットリングを行います。 自律的テスト中、エージェントは以下を実証証しています:
  • ネットワークごとに30以上のホストのディスカバリー。
  • 2,000以上のコマンドの実行。
  • サービスを横断して10以上の脆弱性を特定。

Usage and Deployment

  1. サポートされているAndroidデバイス(OnePlus 8でテスト済み)にKali NetHunterをインストールし、Magisk経由でrootアクセス権を取得します。
  2. 少なくとも12 GBのRAMが利用可能であることを確認してください。
  3. NetHunter chroot内で bash INSTALL.sh を実行します。
  4. llama-serverのヘルス・エンドポイント (curl -s http://127.0.0.1:8080/health) が `{

Sources