Beelzebub概要:LLMが裏で動くAI駆動ハニーポット

Beelzebub(GitHub Stars: 1,956)は、LLM(大規模言語モデル)を使ってシステムの動作を仮想的に模倣する次世代ハニーポットフレームワークです。従来のハニーポットが固定のレスポンスパターンを返すのに対し、Beelzebubは攻撃者の入力に対してAIが動的に応答を生成するため、はるかにリアルなシステムに見せかけることができます。

GitHubのリポジトリには A secure low code honeypot framework, leveraging AI for System Virtualization とあり、「ローコード」と「AI活用」という2つのキーワードがコンセプトを表しています。YAML設定ファイルだけでSSH、HTTP、TCP、TELNET、MCPといった複数プロトコルのハニーポットを構築でき、難しいプログラミングなしにデプロイが完了します。

特筆すべきはMCPハニーポット機能です。MCPとはModel Context Protocol(AI同士が連携するためのプロトコル)で、Beelzebubはこれを模倣したデコイを設置して、AIエージェントを標的にしたプロンプトインジェクション攻撃を自動収集します。AIシステムが普及する中でAIを狙う攻撃が増加しており、その観察・研究基盤として注目を集めています。GNUGPLv3ライセンス、コミュニティには世界中のホワイトハット研究者が参加しています。

ハニーポットとは何か
ハニーポット(蜜壺)とは、攻撃者をおびき寄せることを意図した意図的な「おとりシステム」のこと。本番システムと見分けのつかないフェイクのサービスを公開し、攻撃者の手口・ツール・目的を安全に観察・記録する。防御だけでなく、攻撃パターンを把握することで組織のセキュリティ戦略に役立つ。

技術アーキテクチャ:マルチプロトコル対応のAIハニーポット基盤

Beelzebubのアーキテクチャは、プロトコルハンドラー、LLMプロバイダー統合、監視・ログ収集の3層で構成されています。

flowchart TD A["攻撃者
(Attacker)"] --> B["Beelzebub
フロントエンド"] B --> C["SSHハニーポット
ポート22"] B --> D["HTTPハニーポット
ポート80/443"] B --> E["MCPハニーポット
AIエージェント向け"] B --> F["TCP/TELNETハニーポット"] C --> G["LLMエンジン
(OpenAI/Ollama)"] D --> G E --> G F --> G G --> H["動的レスポンス生成
(システム仮想化)"] H --> I["Prometheus
メトリクス収集"] H --> J["ELKスタック
ログ集約・分析"] I --> K["Grafana
ダッシュボード"] J --> K style A fill:#E74C3C,color:#fff style B fill:#3498DB,color:#fff style G fill:#2ECC71,color:#fff style K fill:#F39C12,color:#fff

主要コンポーネント詳細

コンポーネント 説明
SSHハニーポット 静的レスポンスとLLM動的レスポンスの両対応。OpenAIまたはOllamaでLinux端末を仮想化
HTTPハニーポット パターンマッチで様々なWebアプリを模倣(WordPress、Apache等)
MCPハニーポット AIエージェントを騙すデコイツール。プロンプトインジェクション攻撃を収集
TELNET/TCPハニーポット レガシープロトコルを模倣して古典的攻撃も観察可能
Prometheusメトリクス 攻撃イベントをリアルタイムで数値化・可視化
ELKスタック連携 ログを集約しElasticsearch/Kibanaで分析・検索

Go言語で実装されており、軽量かつクロスプラットフォームで動作します。DockerおよびKubernetes(Helmチャート提供)に対応しており、クラウドネイティブな環境へのデプロイが容易です。

インストール・セットアップ:YAMLだけで構成するハニーポット

Dockerによるクイックスタート(推奨)

# リポジトリをクローン
git clone https://github.com/beelzebub-labs/beelzebub.git
cd beelzebub

# Docker Composeで起動(全プロトコルを同時起動)
docker compose up -d

# ログ確認
docker compose logs -f

起動後、設定されたポートで各プロトコルのハニーポットが待ち受け状態になります。

YAMLベースのサービス設定

Beelzebubのハニーポット定義はYAMLファイルで記述します。以下はSSHハニーポットの設定例です:

# configurations/services/ssh-honeypot.yaml
apiVersion: "v1"
kind: "beelzebub"
metadata:
  name: "ssh-honeypot"
  namespace: "production"
spec:
  protocol: SSH
  address: ":2222"
  description: "SSH Honeypot with LLM backend"
  commands:
    - regex: "^ls"
      handler: ""
      plugin: OpenAIGPTLinuxTerminal
    - regex: ".*"
      handler: ""
      plugin: OpenAIGPTLinuxTerminal
  serverVersion: "OpenSSH_8.9p1"
  serverName: "ubuntu-server-01"
  passwordRegex: ".*"
  deadlineTimeoutSeconds: 60

HTTPハニーポットの設定例(WordPress模倣)

# configurations/services/http-wordpress.yaml
apiVersion: "v1"
kind: "beelzebub"
metadata:
  name: "wordpress-honeypot"
spec:
  protocol: HTTP
  address: ":8080"
  description: "Fake WordPress site"
  commands:
    - regex: "^GET /wp-login.php"
      handler: |
        HTTP/1.1 200 OK
        Content-Type: text/html
        <html><body>WordPress Login Page (Honeypot)</body></html>
    - regex: "^POST /wp-login.php"
      handler: "Wrong password. Please try again."
  deadlineTimeoutSeconds: 30

OpenAI/Ollama連携の設定

# configurations/core.yaml
llmProviders:
  openai:
    apiKey: "${OPENAI_API_KEY}"
    model: "gpt-4o"
  ollama:
    host: "http://localhost:11434"
    model: "llama3.2"
    # ローカルLLMでコスト0のプライバシー保護モード
ローカルLLM(Ollama)の活用
OpenAI APIを使うと攻撃ログの内容がクラウドに送信される懸念がある。Ollamaを使ったローカルLLMモードなら攻撃データが外部に出ず、コストもゼロ。機密性の高い環境では必ずローカルLLMを選択すること。

実践的ユースケース:セキュリティ研究からAI防衛まで

ユースケース1:攻撃者の手口・ツール収集

インターネットに公開したSSHハニーポットは数分〜数時間で本物の攻撃者からアクセスを受けます。LLMバックエンドが本物のLinux端末を模倣して応答するため、攻撃者は長時間にわたって各種コマンドを試行します。その過程でどのツール(Metasploit、Nmap等)を使うか、どのユーザー名・パスワードを試すか、どのバックドア設置方法を使うかが収集できます。

ユースケース2:MCPエージェント攻撃の観察

2025年以降、AIエージェントがWeb・API・ツールを自律的に操作するシステムが増えています。攻撃者もAIエージェントを標的にしたプロンプトインジェクション攻撃(悪意ある指示を埋め込んでAIに不正操作させる手法)を開発しています。Beelzebubのメーカプロトコル(MCP)ハニーポットは実在するAIツールを模倣した偽サービスを提供し、実際の攻撃プロンプトを自動収集します。

ユースケース3:分散ハニーポットネットワーク構築

Kubernetes + Helmチャートを使うことで、複数のクラウドリージョンにBeelzebubをデプロイし、地域別・時間帯別の攻撃パターンを比較できます。Prometheusでメトリクスを集約しGrafanaでダッシュボードを構築すれば、グローバルな攻撃トレンドのリアルタイムモニタリングが実現します。

ユースケース4:インシデントレスポンス訓練

社内のセキュリティチームの訓練環境として、Beelzebubを使って「本物そっくりな」攻撃シナリオを再現できます。ELKスタックに蓄積した実際の攻撃ログを使ったインシデントレスポンス演習は、実戦的なトレーニングになります。

ユースケース5:Early Warning System(早期警戒システム)

本番環境の隣に囮サービスとしてBeelzebubをデプロイし、ハニーポットへのアクセスをアラートのトリガーにする方法があります。正当なユーザーが誤って囮サービスにアクセスすることはほぼないため、アクセスが発生した時点で高精度に攻撃を検知できます。

競合ツールとの比較

BeelzebubはAIによる動的応答生成がほかのハニーポットと最も差別化された点です。

比較項目 Beelzebub Cowrie Dionaea Honeyd
LLM統合 OpenAI/Ollama完全対応 なし なし なし
設定方式 YAML(ローコード) 設定ファイル+Python 設定ファイル 設定ファイル
MCP対応 あり(AI攻撃収集) なし なし なし
対応プロトコル SSH/HTTP/TCP/TELNET/MCP SSH/TELNET FTP/HTTP/SMB/SIP 多プロトコル
動的応答 LLMによる動的生成 固定スクリプト 固定スクリプト 固定スクリプト
Kubernetes対応 Helmチャートあり 手動 手動 手動
監視統合 Prometheus+ELK syslog/JSON JSON/Hpfeeds syslog
言語 Go Python C/Python C
ライセンス GPLv3 MIT GPLv2 BSD

Cowrieは長年使われてきた実績ある定番SSHハニーポットですが、固定スクリプトのため高度な攻撃者には見破られやすい。Beelzebubの強みはLLMが実際のLinux端末の振る舞いを学習してリアルに応答するため、判別が非常に困難な点です。

法的・倫理的注意事項
ハニーポットを公開サービスとして運用する場合、攻撃者が実際のサイバー犯罪を試みることになる。管轄地域によっては攻撃者の行動データを収集することに関する法的グレーゾーンが存在する。セキュリティ研究目的での利用は事前に法務確認を行い、意図しない「踏み台」にならないよう隔離ネットワークで運用すること。

よくある質問

Q: BeelzebubはどのLLMプロバイダーに対応していますか?

公式にOpenAI(GPT-4o等)とOllama(ローカルLLM)に対応しています。OllamaはLlama、Gemma、Qwenなど多様なモデルに対応しており、インターネット接続なしでプライベートな環境でも動作します。コストゼロでローカル完結させたい場合はOllamaが推奨です。

Q: 実際の攻撃者がBeelzebubをハニーポットと見破ることはありますか?

LLMが動的に応答するため、固定スクリプトのハニーポットより見破られにくいです。ただし高度な攻撃者は応答の遅延時間やOSの細部の挙動から判断することもあります。serverVersionやサーバー名などの設定を本物らしく設定することが重要です。

Q: どのくらいのリソースが必要ですか?

Go製の本体は非常に軽量で、ラズベリーパイ(512MB RAM)でも動作します。LLMをローカルで動かす場合(Ollama)は別途GPUまたは十分なCPUリソースが必要です。OpenAI APIを使う場合はAPIキーのコストが発生します。

Q: 収集した攻撃データはどこに保存されますか?

Prometheusメトリクスはローカルの時系列DBに保存され、ELK連携を設定した場合はElasticsearchに集約されます。すべてのデータは設定したインフラ内に留まります。クラウドへの自動送信はありません(ただしOpenAI APIを使うと攻撃者の入力内容がOpenAIのAPIに送信される点に注意)。

Q: セキュリティ研究者以外が使う用途はありますか?

企業のSOC(Security Operations Center)チームが社内ネットワーク内に展開し、内部からの不審なスキャン・侵入を早期検知するEarly Warning Systemとして使われています。また脆弱性研究機関が攻撃トレンドを把握するための研究インフラとしても活用されています。

Q: AIエージェントを対象にしたMCPハニーポットとはどういうものですか?

MCPサーバーの作り方2026完全ガイドで解説しているMCP(Model Context Protocol)は、AIエージェントがツールを呼び出す標準プロトコルです。BeelzebubのMCPハニーポットは実在するAIツール(ファイル操作、Web検索等)を偽装したデコイサービスを提供し、AIエージェントを操作しようとする攻撃プロンプトを収集します。プロンプトインジェクション攻撃の実態解明に使われています。

まとめ

Beelzebubが特に向いているユーザー像

以下のいずれかに該当するなら、Beelzebubは強力な武器になる:

  • セキュリティ研究者として実際の攻撃手口をリアルタイムで観察したい
  • 組織のセキュリティチームとして本番環境に隣接した早期警戒システムを構築したい
  • AIエージェントへのプロンプトインジェクション攻撃の実態を研究したい
  • SOCチームのインシデントレスポンス訓練用に現実的な攻撃シナリオを再現したい</div>

BeelzebubはLLMという現代の技術をハニーポットに組み込むことで、従来の固定スクリプト型ハニーポットを大きく超えた「インテリジェントな囮システム」を実現しています。特にAI時代の新しい脅威であるプロンプトインジェクション攻撃に対応できるMCPハニーポットは、他のツールにはない独自性です。

セキュリティエンジニアや研究者にとって、攻撃側の実際の手口を観察・収集できる環境を低コストで構築できる点が最大の価値です。YAML設定で簡単にデプロイでき、DockerとKubernetesに完全対応しているため、既存のインフラに組み込む敷居も低いです。

運用前のセキュリティ確認
Beelzebub自体がインターネットに公開されるサービスである以上、フレームワーク自体の脆弱性が攻撃に使われるリスクもゼロではない。本番環境と完全に分離したネットワークセグメントで運用し、定期的にバージョンアップデートを適用すること。

参照ソース