
Framework de Simulação de Exercícios Técnicos de Tabletop
Framework de Simulação de Exercícios Técnicos de Mesa
T3SF é um framework que oferece uma estrutura modular para a orquestração de eventos baseados em uma lista mestre de eventos de cenário (MSEL) juntamente com um conjunto de regras definidas para cada exercício (opcional) e uma configuração que permite definir os parâmetros da plataforma correspondente. O módulo principal realiza a comunicação com o módulo específico (Discord, Slack, Telegram, etc.) que permite que os eventos sejam apresentados nos canais de entrada como injeções para cada plataforma. Além disso, o framework suporta diferentes casos de uso: "organização única, múltiplas áreas", "múltiplas organizações, área única" e "múltiplas organizações, múltiplas áreas".
Para usar o framework com a plataforma desejada, seja Slack ou Discord, você precisará instalar os módulos necessários para essa plataforma. Mas não se preocupe, instalar esses módulos é fácil e direto.
Para isso, você pode seguir este guia passo a passo simples, ou se você já se sente confortável instalando pacotes com pip, pode pular para a última etapa!
# 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
Depois de criar um ambiente virtual Python e ativá-lo, você pode instalar o framework T3SF para a plataforma desejada executando o seguinte comando:
pip install "T3SF[Discord]" # Install the framework to work with Discord
ou
pip install "T3SF[Slack]" # Install the framework to work with Slack
Isso instalará o framework T3SF juntamente com as dependências necessárias para a plataforma escolhida. Após a conclusão da instalação, você pode começar a usar o framework com a plataforma de sua preferência.
Recomendamos fortemente seguir as orientações específicas de cada plataforma em nosso Read The Docs! Aqui estão os links:
Criamos este framework para simplificar todo o seu trabalho!
$ docker run --rm -t --env-file .env -v $(pwd)/MSEL.json:/app/MSEL.json base4sec/t3sf:slack
Dentro do seu arquivo .env você precisa fornecer os tokens SLACK_BOT_TOKEN e SLACK_APP_TOKEN. Leia mais sobre isso aqui.
Há outra variável de ambiente a ser definida, MSEL_PATH. Essa variável informa ao framework em qual caminho o MSEL está localizado. Por padrão, o caminho do contêiner é /app/MSEL.json. Se você alterar o local de montagem do volume, altere também a variável.
$ docker run --rm -t --env-file .env -v $(pwd)/MSEL.json:/app/MSEL.json base4sec/t3sf:discord
Dentro do seu arquivo .env você precisa fornecer o token DISCORD_TOKEN. Leia mais sobre isso aqui.
Há outra variável de ambiente a ser definida, MSEL_PATH. Essa variável informa ao framework em qual caminho o MSEL está localizado. Por padrão, o caminho do contêiner é /app/MSEL.json. Se você alterar o local de montagem do volume, altere também a variável.
Depois de ter tudo pronto, use nosso modelo para o main.py, ou modifique o seguinte código:
Aqui está um exemplo se você quiser executar o framework com o bot do Discord e uma 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 se preferir executar o framework sem GUI e com o Slack em vez disso, você pode modificar os argumentos, e pronto! Sim, é simples assim!
await T3SF.start(MSEL="MSEL_TTX.json", platform="Slack", gui=False)
Se precisar de mais ajuda, você sempre pode consultar nossa documentação aqui!