
Simulationsframework für technische Tabletop-Übungen
Framework zur Simulation technischer Tabletop-Übungen
T3SF ist ein Framework, das eine modulare Struktur für die Orchestrierung von Ereignissen basierend auf einer Master-Szenario-Ereignisliste (MSEL) bietet, zusammen mit einem Satz von Regeln, die für jede Übung definiert werden (optional), und einer Konfiguration, die es ermöglicht, die Parameter der entsprechenden Plattform zu definieren. Das Hauptmodul übernimmt die Kommunikation mit dem spezifischen Modul (Discord, Slack, Telegram, etc.), das es den Ereignissen ermöglicht, diese in den Eingabekanälen als Injects für jede Plattform darzustellen. Darüber hinaus unterstützt das Framework verschiedene Anwendungsfälle: „Einzelorganisation, mehrere Bereiche“, „Mehrere Organisationen, einzelner Bereich“ und „Mehrere Organisationen, mehrere Bereiche“.
Um das Framework mit Ihrer gewünschten Plattform zu verwenden, egal ob Slack oder Discord, müssen Sie die erforderlichen Module für diese Plattform installieren. Aber keine Sorge, die Installation dieser Module ist einfach und unkompliziert.
Dazu können Sie dieser einfachen Schritt-für-Schritt-Anleitung folgen, oder falls Sie bereits mit der Installation von Paketen über pip vertraut sind, können Sie direkt zum letzten Schritt springen!
# Python 3.6+ required
python -m venv .venv # We will create a python virtual environment
source .venv/bin/activate # Let's get inside it
pip install -U pip # Upgrade pip
Sobald Sie eine virtuelle Python-Umgebung erstellt und aktiviert haben, können Sie das T3SF-Framework für Ihre gewünschte Plattform mit folgendem Befehl installieren:
pip install "T3SF[Discord]" # Install the framework to work with Discord
oder
pip install "T3SF[Slack]" # Install the framework to work with Slack
Dadurch wird das T3SF-Framework zusammen mit den erforderlichen Abhängigkeiten für Ihre gewählte Plattform installiert. Nach Abschluss der Installation können Sie das Framework mit Ihrer bevorzugten Plattform nutzen.
Wir empfehlen dringend, die plattformspezifischen Anleitungen in unserer Read The Docs-Dokumentation zu befolgen! Hier sind die Links:
Wir haben dieses Framework erstellt, um Ihnen die gesamte Arbeit zu erleichtern!
$ docker run --rm -t --env-file .env -v $(pwd)/MSEL.json:/app/MSEL.json base4sec/t3sf:slack
In Ihrer .env-Datei müssen Sie die Tokens SLACK_BOT_TOKEN und SLACK_APP_TOKEN bereitstellen. Lesen Sie mehr dazu hier.
Es gibt eine weitere Umgebungsvariable, die gesetzt werden muss: MSEL_PATH. Diese Variable teilt dem Framework mit, in welchem Pfad sich die MSEL befindet. Standardmäßig ist der Container-Pfad /app/MSEL.json. Wenn Sie den Mount-Punkt des Volumes ändern, ändern Sie auch die Variable.
$ docker run --rm -t --env-file .env -v $(pwd)/MSEL.json:/app/MSEL.json base4sec/t3sf:discord
Sobald alles bereit ist, verwenden Sie unsere Vorlage für die main.py oder passen Sie den folgenden Code an:
Hier ist ein Beispiel, wenn Sie das Framework mit dem Discord-Bot und einer GUI ausführen möchten.
from T3SF import T3SF
import asyncio
async def main():
await T3SF.start(MSEL="MSEL_TTX.json", platform="Discord", gui=True)
if __name__ == '__main__':
asyncio.run(main())
Oder wenn Sie das Framework lieber ohne GUI und stattdessen mit Slack ausführen möchten, können Sie die Argumente anpassen – und das war's!
Ja, so einfach!
await T3SF.start(MSEL="MSEL_TTX.json", platform="Slack", gui=False)
Wenn Sie weitere Hilfe benötigen, können Sie jederzeit unsere Dokumentation hier konsultieren!
In Ihrer .env-Datei müssen Sie den Token DISCORD_TOKEN bereitstellen. Lesen Sie mehr dazu hier.
Es gibt eine weitere Umgebungsvariable, die gesetzt werden muss: MSEL_PATH. Diese Variable teilt dem Framework mit, in welchem Pfad sich die MSEL befindet. Standardmäßig ist der Container-Pfad /app/MSEL.json. Wenn Sie den Mount-Punkt des Volumes ändern, ändern Sie auch die Variable.