技术桌面演练模拟框架
T3SF 是一个框架,提供基于主场景事件列表(MSEL)的事件编排模块化结构,以及为每次演练定义的规则集(可选)和允许定义相应平台参数的配置。主模块负责与特定模块(Discord、Slack、Telegram 等)通信,使事件能够以注入的形式呈现在各平台的输入频道中。此外,该框架支持不同的用例:“单一组织、多个领域”、“多个组织、单一领域”以及“多个组织、多个领域”。
要使用该框架与您选择的平台(无论是 Slack 还是 Discord),您需要安装该平台所需的模块。但不用担心,安装这些模块非常简单直接。
为此,您可以按照以下简单的分步指南进行操作,或者如果您已经熟悉使用 pip 安装软件包,可以直接跳到最后一步!
# 需要 Python 3.6+
python -m venv .venv # 我们将创建一个 Python 虚拟环境
source .venv/bin/activate # 进入该环境
pip install -U pip # 升级 pip
创建并激活 Python 虚拟环境后,您可以通过运行以下命令为您选择的平台安装 T3SF 框架:
pip install "T3SF[Discord]" # 安装框架以与 Discord 配合使用
或
pip install "T3SF[Slack]" # 安装框架以与 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
在您的 .env 文件中,您需要提供 令牌。更多信息请阅读。
一切准备就绪后,请使用我们的 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)
如果您需要更多帮助,随时可以查阅我们的文档此处!
DISCORD_TOKEN还有另一个环境变量需要设置,即 MSEL_PATH。该变量告诉框架 MSEL 文件的路径。默认情况下,容器路径为 /app/MSEL.json。如果您更改了卷的挂载位置,请同时更改该变量。