セキュリティ
Show HN: Nightcrawler – スマートフォンで動作するローカルAIペンテストエージェント
Show HN: Nightcrawler – A local AI pentesting agent running on a smartphone (github.com)
要約
Nightcrawlerは、クラウド接続なしでスマートフォン上で完全に動作する自律的な侵入テストエージェントです。ネットワークにドロップするだけで、ホストの発見、サービスの特定、脆弱性の検出、ペンテストレポートの生成までを自動で行います。ローカルのAIモデルがGPU上で動作し、次に取るべき行動を決定します。
全文翻訳
Nightcrawler スマートフォン上で完全に動作する自律的な侵入テストエージェントです。このスマートフォンをネットワークにドロップし、離れるだけで、ホストの発見、サービスの特定、脆弱性の検出、そしてペンテストレポートの生成まで、クラウド接続なしで全て実行されます。░█▄░█ █ █▀▀ █░█ ▀█▀ █▀▀ █▀█ ▄▀█ █░█░█ █░░ █▀▀ █▀█ ░█░▀█ █ █▄█ █▀█ ░█░ █▄▄ █▀▄ █▀█ ▀▄▀▄▀ █▄▄ ██▄ █▀▄ v0.1.0 AUTONOMOUS MOBILE PENTEST AGENT OnePlus 8 · NetHunter · LFM2.5-1.2B · OpenCL GPU これは何ですか? 侵入テスト(ペンテスト)とは、ネットワーク所有者の明確な許可を得て、コンピューターネットワークのセキュリティをシミュレートされた攻撃によってテストする実践のことです。プロのペンテスターは、実際の攻撃者が脆弱性を発見する前にそれを見つけるために雇われます。Nightcrawlerは、このプロセスを電話上で自動化します。電話のGPU上でローカルに実行される小さなAIモデル(LFM2.5-1.2B-Instruct-Heretic、12億パラメータ)を使用して、次に何をすべきか――どのホストをプローブするか、どのツールを使用するか、何を探すか――を決定します。インターネット接続やクラウドAPIは不要です。 仕組み WiFi侵入(オプション) — WiFiなしでドロップされた場合、外部USB WiFiアダプターを使用してWPA2ネットワークを自律的にクラックできます。偵察 — 隠密スキャンを使用して検出されたデバイスを発見します。列挙 — 検出されたサービス(Webサーバー、ファイル共有、SSH、DNSなど)をプローブします。悪用 — 既知の脆弱性とデフォルトの認証情報をテストします。レポート — 発見事項と修復アドバイスを含む構造化されたペンテストレポートを生成します。 このエージェントは、忍耐強い人間のペンテスターのように動作します――ホスト間をローテーションし、1回のターンで1つの小さなアクションを実行し、数時間かけて徐々に知識を構築します。これにより、一度に全てのホストに攻撃を仕掛ける従来の脆弱性スキャナーよりも検出されにくくなります。 主要な概念 用語 意味 ドロップボックス テストを実行するためにターゲットネットワークに配置されるデバイス。自律的に動作します。 スコープ テストが許可されているネットワーク/ホストのセット。 エンゲージメントルール(ROE) 何を許可されているかを指定する法的文書。 ステルス ネットワーク監視(IDS/IPS)による検出を回避するための技術。 MCP モデルコンテキストプロトコル — AIツール使用のための標準インターフェース。 C2 コマンド&コントロール — エージェントの監視と操作のためのWebダッシュボード。 アーキテクチャ ┌──────────────────────────────────────────────────────────┐ │ PHONE (OnePlus 8) │ │ │ │ ┌─────────────┐ ┌──────────────────┐ │ │ │ LFM2.5 │ │ Agent Loop │ │ │ │ 1.2B model │◄───►│ (main.py) │ │ │ │ on GPU │ │ Decides what │ │ │ │ (:8080) │ │ to do next │ │ │ └─────────────┘ └──────────────────┘ │ │ │ │ │ ┌────────▼─────────┐ │ │ │ Scope Proxy │ ← Safety layer │ │ │ Validates every │ Blocks out- │ │ │ command before │ of-scope │ │ │ execution │ actions │ │ └────────┬─────────┘ │ │ │ │ │ ┌────────▼─────────┐ │ │ │ Kali MCP Server │ ← Runs the │ │ │ nmap, curl, │ actual │ │ │ smbclient, ... │ commands │ │ └──────────────────┘ │ │ │ │ ┌──────────────────┐ ┌──────────────────┐ │ │ │ Web Dashboard │ │ SQLite DB │ │ │ │ (:8888) │ │ Hosts, vulns, │ │ │ │ Monitor & steer │ │ creds, commands │ │ │ └──────────────────┘ └──────────────────┘ │ └──────────────────────────────────────────────────────────┘ システム全体の設計については、docs/ARCHITECTURE.mdを参照してください。 特徴 完全自律 — 運用中に人間が介在しない。 100%ローカル推論 — AIは電話のGPUで実行され、クラウドは不要。 スコープ強制 — 2層防御により範囲外のアクションを防ぐ。 ステルス優先 — 低速スキャンレート、ホストローテーション、トラフィックカモフラージュ、nmap -T2のみ。 27のエクスプロイトプレイブック — 自動実行されるマルチステップ攻撃チェーン。 24,956エントリのCVEデータベース — バージョン対応の脆弱性マッチング。 Webダッシュボード — リアルタイム監視、ホスト管理、C2制御。 WiFi侵入モード — USBアダプターによる自律的なWPA2クラッキング(Pwnagotchiにインスパイア)。 パッシブ検出 — mDNS/NBNS/DHCP/ARPブロードキャストのバックグラウンドキャプチャ。 マルチネットワーク — ネットワークごとにデータが分離され、MACアドレスをキーとするホストによりDHCP変更後も持続。 自己修復 — ガベージ検出、コンテキストリセット、ウォッチドッグ、スタック検出。 トレーニングキャプチャ — 将来のモデルファインチューニングのために成功したインタラクションをログに記録。 レポート生成 — 脆弱性、エクスプロイトチェーン、修復を含むダウンロード可能なペンテストレポート。 完全な機能リファレンスについては、docs/FEATURES.mdを参照してください。 ハードウェア要件 Kali NetHunter(OnePlus 8、Snapdragon 865でテスト済み)を搭載したAndroidフォン。 Magiskによるrootアクセス。 12GB以上のRAM(モデルは約1.3GB、Androidは約4GBを使用、残りはツール用)。 オフラインWiFi侵入モード用のオプションUSB WiFiアダプター(Ralink RT3572推奨)。 モニターモード用のMAC80211カスタムカーネル(ビルドガイド)。 Tailscale経由でより大きなモデルにオフロードするためのNVIDIA AGX。 GPUパフォーマンス Adreno 650 GPU上のOpenCLによる全ての推論: モデル 量子化 プロンプト速度 生成速度 LFM2.5-1.2B-Instruct-Heretic (本番) Q8_0 115 tok/s 13 tok/s Qwen3.5-0.8B Q8_0 30.5 tok/s 6.3 tok/s Qwen3.5-4B Q4_0 10.1 tok/s 2.0 tok/s 注:Androidはバッテリー駆動時にGPUをスロットルします(6倍の速度低下)。Nightcrawlerには、最大パフォーマンスを強制し、バッテリー残量15%以下で自動的にスロットルするGPUガバナデーモンが含まれています。 クイックスタート # 1. インストール(Kali NetHunter chroot内) bash INSTALL.sh # 2. llama-serverの起動を待つ(起動後約5分) curl -s http://127.0.0.1:8080/health # {