
Технический фреймворк для симуляции теоретических учений
Фреймворк для симуляции технических настольных учений
T3SF — это фреймворк, предлагающий модульную структуру для оркестрации событий на основе списка событий основного сценария (MSEL) вместе с набором правил, определённых для каждого упражнения (опционально), и конфигурации, позволяющей задать параметры соответствующей платформы. Основной модуль выполняет связь со специфическим модулем (Discord, Slack, Telegram и т.д.), который позволяет представлять события во входных каналах в виде инжектов для каждой платформы. Кроме того, фреймворк поддерживает различные сценарии использования: «одна организация, несколько областей», «несколько организаций, одна область» и «несколько организаций, несколько областей».
Чтобы использовать фреймворк с желаемой платформой (Slack или Discord), вам потребуется установить необходимые модули для этой платформы. Но не волнуйтесь, установка этих модулей проста и понятна.
Для этого вы можете следовать этой простой пошаговой инструкции, или, если вы уже умеете устанавливать пакеты с помощью pip, можете перейти к последнему шагу!
# 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
После создания и активации виртуального окружения Python установите фреймворк T3SF для нужной платформы, выполнив следующую команду:
pip install "T3SF[Discord]" # Install the framework to work with Discord
или
pip install "T3SF[Slack]" # Install the framework to work with Slack
Это установит фреймворк T3SF вместе с необходимыми зависимостями для выбранной платформы. После завершения установки вы можете начать использовать фреймворк с вашей платформой.
Мы настоятельно рекомендуем следовать руководству для конкретной платформы на нашем Read The Docs! Вот ссылки:
Мы создали этот фреймворк, чтобы упростить всю вашу работу!
$ docker run --rm -t --env-file .env -v $(pwd)/MSEL.json:/app/MSEL.json base4sec/t3sf:slack
В файле .env необходимо указать токены SLACK_BOT_TOKEN и SLACK_APP_TOKEN. Подробнее читайте здесь.
Также существует переменная окружения MSEL_PATH. Она сообщает фреймворку путь, по которому находится MSEL. По умолчанию путь в контейнере — /app/MSEL.json. Если вы измените точку монтирования тома, измените и переменную.
$ docker run --rm -t --env-file .env -v $(pwd)/MSEL.json:/app/MSEL.json base4sec/t3sf:discord
Когда всё готово, используйте наш шаблон для main.py или измените следующий код:
Вот пример, если вы хотите запустить фреймворк с ботом Discord и 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())
Или, если вы предпочитаете запустить фреймворк без GUI и с Slack, просто измените аргументы, и всё!
Да, это так просто!
await T3SF.start(MSEL="MSEL_TTX.json", platform="Slack", gui=False)
Если вам нужна дополнительная помощь, вы всегда можете обратиться к нашей документации здесь!
В файле .env необходимо указать токен DISCORD_TOKEN. Подробнее читайте здесь.
Также существует переменная окружения MSEL_PATH. Она сообщает фреймворку путь, по которому находится MSEL. По умолчанию путь в контейнере — /app/MSEL.json. Если вы измените точку монтирования тома, измените и переменную.