StanleyNull/AutoHunter

自动化 SRC 漏洞挖掘系统:FOFA 资产测绘 + LLM 多 worker 自主挖掘/审核/情报沉淀。Powered By StanleyNull

AutoHunter – AI駆動の24/7自動脆弱性スキャン

概要 – AutoHunterは、AI駆動のエージェント群を実行してWeb資産のセキュリティ欠陥を発見する自己完結型プラットフォームです。1台のサーバーで継続的に稼働し、ターゲットの収集、実用ツール(nmap, nuclei, sqlmap, httpxなど)によるプローブ、そして大規模言語モデル(LLM)を用いた発見結果の評価を行います。人間は最終確認段階で結果の承認、拒否、編集を行うだけで済みます。

主要コンポーネント

コンポーネント 役割
Collector FOFA(または他の検索エンジン)やリストからターゲットを取得し、生存確認、スコアリングを行いキューに追加します。
Worker ターゲットごとに1つのWorkerが割り当てられます。LLMが偵察を主導し、バンドルされたツールを起動して脆弱性をテストします。
Reviewer 人間に結果が届く前に、明らかな誤検知をフィルタリングする「AIファースト」のレビュアーです。
Console 各Workerのライブステータス、ターゲットの優先度、迅速なトリアージのための結果パネルを表示するVueベースのダッシュボードです。

重要性 – 反復的なスキャンと初期分析をLLMガイド付きエージェントに委任することで、セキュリティチームは夜間もマシンを稼働させ、毎日数分間の最終判断を行うだけで済みます。また、検証済みの認証情報、フィンガープリント、PoCを記録し、後の実行で再利用します。


主な機能

  • マルチエージェントワークフロー – Collector → Worker → Reviewer → 人間 → オプションの「大量エクスプロイト」分析。
  • 24/7 無人運用 – Docker-composeによるデプロイ。コンテナは自動的に再起動します。
  • 実用ツールの実行 – nmap, nuclei, sqlmap, httpx, whatweb, curlなどがWorkerコンテナ内で直接実行されます。
  • LLM駆動の意思決定 – OpenAI互換のAPI(DeepSeek, Claude, OpenAIなど)をサポートし、ツール呼び出しを行います。ネイティブ関数呼び出し非対応モデルの場合はプロンプトベースのシミュレーションにフォールバックします。
  • ターゲット属性 – IP/ASN情報(ip138)の自動検索とEduSRCレポート用のJSONエクスポート。
  • バッチ「キルチェーン」分析 – 脆弱性が確認された後、同様のホストをスキャンして大規模に悪用可能かを確認します。
  • 組み込みWAFとロールベーストークン – Web UIのアクセス制御。HTTPS用のリバースプロキシも利用可能です。
  • SQLite永続化 + バックアップ – 一貫性のあるスナップショットのワンクリックエクスポート/インポート。Dockerボリュームによりアップグレード後もデータが保持されます。

クイックスタート (Docker-Compose)

# Dockerのインストール (必要な場合)
curl -fsSL https://get.docker.com | sh && sudo systemctl enable --now docker
# クローンしてインストーラーを実行
git clone https://github.com/StanleyNull/AutoHunter.git autohunter && cd autohunter
bash scripts/install.sh   # 対話形式:LLM APIキー、オプションでFOFAキーを入力

スクリプトがバックエンド、Vueフロントエンド、脆弱性ツールイメージをビルドし、18800ポートでスタックを起動します。http://<host>:18800/ にアクセスし、インストーラーが表示したトークンでログインしてください。

Windows (Docker Desktop + WSL2) および macOSの手順もREADMEに記載されています。


基本設定 (環境変数)

変数 必須? 用途
LLM_API_KEY ✅ 選択したLLMプロバイダーのAPIキー (DeepSeek, OpenAI, Claudeなど)。
LLM_BASE_URL オプション カスタムエンドポイント (デフォルトはDeepSeek)。
LLM_MODEL オプション ツール呼び出しをサポートするモデル名。
FOFA_KEY 推奨 自動ターゲット収集のためのFOFAアクセス権。
AUTOHUNTER_API_TOKEN 強く推奨 Web UIを保護するBearerトークン。これがないとコンソールが誰でもアクセス可能になります。
AUTOHUNTER_HOST_PORT オプション 外部公開ポート (デフォルトは18800)。
AUTOHUNTER_TOOL_COMPAT オプション ツール呼び出しの処理方法 (auto, prompt, native)。

その他の設定(Workerの同時実行数、予算上限、WAF切り替えなど)は適切なデフォルト値が設定されており、.env またはUIの設定ページから上書き可能です。


技術スタック

  • バックエンド – Python 3.12, FastAPI, SQLAlchemy (SQLite with WAL), asyncio.
  • フロントエンド – Vue 3 + Vite (同一のDocker composeで提供).
  • LLM統合 – OpenAI互換のチャット補完またはAnthropicメッセージ。関数呼び出しまたはプロンプトベースのシミュレーションをサポート。
  • 組み込みツール – nmap, nuclei, sqlmap, httpx, whatweb, curl, wget, jq (すべてWorkerイメージにプリインストール).
  • オーケストレーション – Docker Compose v2。コンテナは unless-stopped で再起動し、必要に応じてsystemdで管理可能。

想定ユーザー

  • レッドチーム / ペネトレーションテストチーム – 特定の資産プール(大学ネットワーク、企業イントラネットなど)に対して継続的なスキャナーが必要な場合。
  • バグバウンティプラットフォーム – 大量のレポートの一次トリアージを自動化したい場合。
  • セキュリティ研究者 – LLMガイド付きツールオーケストレーションの実験に興味がある場合。

ライセンスと安全上の注意

AutoHunterは Apache 2.0 ライセンスの下でリリースされています。明示的な書面による許可を得た資産に対してのみ使用してください。このツールはターゲット上のデータを削除または変更する可能性があるため、悪用はユーザーの責任となります。


結論 – AutoHunterは、最新のLLMインターフェースと実績のあるネットワークスキャンツールを組み合わせ、マルチエージェントパイプラインにラップし、Docker-composeスタックとして提供します。1台のサーバーを「24時間稼働のハンティングマシン」に変え、人間の作業を毎日の迅速な確認作業だけに抑えることができます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト