
Cadre de simulation d'exercices techniques sur table
Cadre de simulation d'exercices techniques de type tabletop
T3SF est un framework qui offre une structure modulaire pour l'orchestration d'événements basés sur une liste maîtresse de scénarios (MSEL) ainsi qu'un ensemble de règles définies pour chaque exercice (optionnel) et une configuration qui permet de définir les paramètres de la plateforme correspondante. Le module principal effectue la communication avec le module spécifique (Discord, Slack, Telegram, etc.) qui permet aux événements de se présenter dans les canaux d'entrée sous forme d'injects pour chaque plateforme. De plus, le framework prend en charge différents cas d'utilisation : « organisation unique, zones multiples », « organisations multiples, zone unique » et « organisations multiples, zones multiples ».
Pour utiliser le framework avec la plateforme de votre choix, que ce soit Slack ou Discord, vous devrez installer les modules requis pour cette plateforme. Mais ne vous inquiétez pas, l'installation de ces modules est simple et directe.
Pour ce faire, vous pouvez suivre ce guide simple étape par étape, ou si vous êtes déjà à l'aise avec l'installation de paquets avec pip, vous pouvez passer directement à la dernière étape !
# 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
Une fois que vous avez créé un environnement virtuel Python et l'avez activé, vous pouvez installer le framework T3SF pour la plateforme de votre choix en exécutant la commande suivante :
pip install "T3SF[Discord]" # Install the framework to work with Discord
ou
pip install "T3SF[Slack]" # Install the framework to work with Slack
Cela installera le framework T3SF ainsi que les dépendances requises pour la plateforme choisie. Une fois l'installation terminée, vous pouvez commencer à utiliser le framework avec la plateforme de votre choix.
Nous recommandons fortement de suivre les conseils spécifiques à chaque plateforme dans notre Read The Docs ! Voici les liens :
Nous avons créé ce framework pour simplifier tout votre travail !
$ docker run --rm -t --env-file .env -v $(pwd)/MSEL.json:/app/MSEL.json base4sec/t3sf:slack
Dans votre fichier .env, vous devez fournir les jetons SLACK_BOT_TOKEN et SLACK_APP_TOKEN. En savoir plus ici.
Il existe une autre variable d'environnement à définir, MSEL_PATH. Cette variable indique au framework le chemin où se trouve le MSEL. Par défaut, le chemin du conteneur est /app/MSEL.json. Si vous modifiez l'emplacement de montage du volume, modifiez également la variable.
$ docker run --rm -t --env-file .env -v $(pwd)/MSEL.json:/app/MSEL.json base4sec/t3sf:discord
Une fois que tout est prêt, utilisez notre modèle pour le main.py, ou modifiez le code suivant :
Voici un exemple si vous souhaitez exécuter le framework avec le bot Discord et une GUI.
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())
Ou si vous préférez exécuter le framework sans GUI et avec Slack à la place, vous pouvez modifier les arguments, et voilà !
Oui, si simple !
await T3SF.start(MSEL="MSEL_TTX.json", platform="Slack", gui=False)
Si vous avez besoin de plus d'aide, vous pouvez toujours consulter notre documentation ici !
Dans votre fichier .env, vous devez fournir le jeton DISCORD_TOKEN. En savoir plus ici.
Il existe une autre variable d'environnement à définir, MSEL_PATH. Cette variable indique au framework le chemin où se trouve le MSEL. Par défaut, le chemin du conteneur est /app/MSEL.json. Si vous modifiez l'emplacement de montage du volume, modifiez également la variable.