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