
Framework di simulazione per esercizi da tavolo tecnici
Framework di simulazione di esercizi tecnici tabletop
T3SF è un framework che offre una struttura modulare per l'orchestrazione di eventi basati su una lista principale di scenari (MSEL) insieme a un insieme di regole definite per ciascun esercizio (opzionale) e una configurazione che consente di definire i parametri della piattaforma corrispondente. Il modulo principale gestisce la comunicazione con il modulo specifico (Discord, Slack, Telegram, ecc.) che permette di presentare gli eventi nei canali di input come inject per ciascuna piattaforma. Inoltre, il framework supporta diversi casi d'uso: "singola organizzazione, più aree", "più organizzazioni, area singola" e "più organizzazioni, più aree".
Per utilizzare il framework con la piattaforma desiderata, che sia Slack o Discord, dovrai installare i moduli richiesti per quella piattaforma. Ma non preoccuparti, installare questi moduli è facile e diretto.
Per farlo, puoi seguire questa semplice guida passo-passo, oppure, se hai già familiarità con l'installazione di pacchetti tramite pip, puoi saltare direttamente all'ultimo passaggio!
# 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
Una volta creato e attivato un ambiente virtuale Python, puoi installare il framework T3SF per la tua piattaforma desiderata eseguendo il seguente comando:
pip install "T3SF[Discord]" # Install the framework to work with Discord
oppure
pip install "T3SF[Slack]" # Install the framework to work with Slack
Questo installerà il framework T3SF insieme alle dipendenze necessarie per la piattaforma scelta. Una volta completata l'installazione, puoi iniziare a usare il framework con la piattaforma prescelta.
Raccomandiamo vivamente di seguire le guide specifiche per piattaforma disponibili nella nostra documentazione su Read The Docs! Ecco i link:
Abbiamo creato questo framework per semplificare tutto il tuo lavoro!
$ docker run --rm -t --env-file .env -v $(pwd)/MSEL.json:/app/MSEL.json base4sec/t3sf:slack
All'interno del tuo file .env devi fornire i token SLACK_BOT_TOKEN e SLACK_APP_TOKEN. Leggi di più a riguardo qui.
C'è un'altra variabile d'ambiente da impostare, MSEL_PATH. Questa variabile indica al framework il percorso in cui si trova il MSEL. Per impostazione predefinita, il percorso del contenitore è /app/MSEL.json. Se modifichi il punto di montaggio del volume, modifica di conseguenza anche la variabile.
$ docker run --rm -t --env-file .env -v $(pwd)/MSEL.json:/app/MSEL.json base4sec/t3sf:discord
Una volta che tutto è pronto, usa il nostro template per il main.py, oppure modifica il codice seguente:
Ecco un esempio se vuoi eseguire il framework con il bot Discord e una 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())
Oppure, se preferisci eseguire il framework senza GUI e con Slack invece, puoi modificare gli argomenti, e il gioco è fatto!
Sì, è così semplice!
await T3SF.start(MSEL="MSEL_TTX.json", platform="Slack", gui=False)
Se hai bisogno di ulteriore aiuto, puoi sempre consultare la nostra documentazione qui!
All'interno del tuo file .env devi fornire il token DISCORD_TOKEN. Leggi di più a riguardo qui.
C'è un'altra variabile d'ambiente da impostare, MSEL_PATH. Questa variabile indica al framework il percorso in cui si trova il MSEL. Per impostazione predefinita, il percorso del contenitore è /app/MSEL.json. Se modifichi il punto di montaggio del volume, modifica di conseguenza anche la variabile.