Repolode
cmu-sei

cmu-sei/GHOSTS

サイバー訓練、演習、研究向けに、コンピューターやネットワーク上で現実的なユーザー活動を再現するC#製NPCフレームワーク。

スター
743
フォーク
101
未解決の Issue
3
最終コミット
3 日前

これは何?

GHOSTSは、コンピューターシステム上で人間のユーザーのように振る舞うノンプレイヤーキャラクター(NPC)のオーケストレーションフレームワークです。シミュレートされたユーザーはそれぞれ、アプリケーション、ネットワーク、ワークフローを横断して活動し、現実的なネットワークトラフィックを生成するとともに、実際の利用状況を思わせる痕跡を残します。バックグラウンドでのユーザー活動が必要となるサイバー訓練、演習、研究、シミュレーション環境を対象としています。

システムは、Web管理UIを備えた中央APIサーバー、常時接続クライアント向けのSignalRハブ、複数種類のクライアントを中心に構成されています。Windowsクライアントは27種類以上のアクティビティハンドラーを通じてOffice、ブラウザー、SSH、RDPを自動操作します。UniversalクライアントはWindows、Linux、macOSで動作し、38種類以上のハンドラーを備えています。Liteクライアントは実際のアプリケーションを起動せずにネットワークトラフィックを生成します。サポートサービスには、NPCの名前、職業、ソーシャルネットワークを生成するペルソナジェネレーター、Webページやドキュメントを提供するコンテンツサーバー、ストレージ用のPostgreSQLが含まれます。

バージョン9では従来のUIをAngular 20製のフロントエンドに置き換え、n8nワークフロー連携、NPCの信念システム、Grafanaダッシュボードを追加しました。LLM連携は、別プロジェクトのRangerAIを通じてオプションで利用できます。

主な機能

  • 01デスクトップアプリケーション、ブラウザー、ネットワークサービスにまたがるNPCのユーザー活動をシミュレートします。
  • 02環境に応じて使い分けられるWindows、Universal(クロスプラットフォーム)、Liteの各クライアントを提供します。
  • 03マシン、グループ、タイムライン、シナリオを管理するAngular製のWeb管理UIを備えています。
  • 04名前、職業、ソーシャルネットワークを含むNPCのペルソナを生成します。
  • 05スケジュールされたワークフロー向けにn8nと連携し、アクティビティのダッシュボード向けにGrafanaと連携します。
  • 06PostgreSQLとREST APIを含むDocker Composeスタックとして実行できます。

ユースケース

  • サイバー訓練環境に現実的なユーザー活動を再現します。
  • レッドチーム評価中のバックグラウンドノイズを生成します。
  • ブルーチームの検知・分析演習用にネットワークトラフィックを生成します。
  • 自律型NPCを備えたコグニティブレンジ環境を構築します。

クイックスタート

  1. 1

    作業用フォルダーを作成する

    mkdir ghosts && cd ghosts
  2. 2

    Docker Compose ファイルをダウンロードする

    curl -O https://raw.githubusercontent.com/cmu-sei/GHOSTS/master/src/Ghosts.Api/docker-compose.yml
  3. 3

    .env.example を .env にコピーし、POSTGRES_PASSWORD を設定する

  4. 4

    スタックを起動する

    docker compose up -d

使う前に知っておきたいこと

  • README によると、GHOSTS 9 は現在開発中のため、10.0 まではマイナーリリースごとに変更が加わる可能性があります。
  • スタック全体を実行するには、Docker と .env に設定した PostgreSQL パスワードが必要です。
  • シミュレートする各マシンに、個別にクライアントをインストールする必要があります。

収録されている特集

トピック

#simulation#cybersecurity#cyber-training#network-simulation#user-simulation#csharp#dotnet#behavior-modeling#behavior#cyber

よくある質問

GHOSTS とは?
サイバー訓練、演習、研究向けに、コンピューターやネットワーク上で現実的なユーザー活動を再現するC#製NPCフレームワーク。 GHOSTSは、コンピューターシステム上で人間のユーザーのように振る舞うノンプレイヤーキャラクター(NPC)のオーケストレーションフレームワークです。シミュレートされたユーザーはそれぞれ、アプリケーション、ネットワーク、ワークフローを横断して活動し、現実的なネットワークトラフィックを生成するとともに、実際の利用状況を思わせる痕跡を残します。バックグラウンドでのユーザー活動が必要となるサイバー訓練、演習、研究、シミュレーション環境を対象としています。
GHOSTS は無料で使えますか?ライセンスは?
GHOSTS は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
GHOSTS は今もメンテナンスされていますか?
活発にメンテナンス中。GHOSTS の最終コミットは 2026年11月3日 です。
GHOSTS は何に使えますか?
サイバー訓練環境に現実的なユーザー活動を再現します。 レッドチーム評価中のバックグラウンドノイズを生成します。 ブルーチームの検知・分析演習用にネットワークトラフィックを生成します。 自律型NPCを備えたコグニティブレンジ環境を構築します。
GHOSTS のインストール方法は?
作業用フォルダーを作成する: mkdir ghosts && cd ghosts Docker Compose ファイルをダウンロードする: curl -O https://raw.githubusercontent.com/cmu-sei/GHOSTS/master/src/Ghosts.Api/docker-compose.yml .env.example を .env にコピーし、POSTGRES_PASSWORD を設定する スタックを起動する: docker compose up -d
GHOSTS はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/cmu-sei/GHOSTS

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

ルーティング、MAC、物理層、モビリティ、エネルギーモデルを備えた、UAVスウォーム通信ネットワーク向けのPythonシミュレーターです。

データ・分析#uav#network-simulation#ad-hoc-networks
417+3 今週67PythonMIT更新 2 か月前