Threagile
敏捷威胁建模工具包
Threagile(更多详情请访问 https://threagile.io)是一个开源的敏捷威胁建模工具包:
它允许在 IDE 中直接将资产的架构以 YAML 文件的形式进行敏捷建模。执行 Threagile 工具包时,会根据架构模型检查所有标准风险规则(以及如果存在的定制风险规则)。
通过 Docker 容器执行
在命令行中执行 Threagile 的最简单方法是通过其 Docker 容器:
docker run --rm -it threagile/threagile --help
_____ _ _ _
|_ _| |__ _ __ ___ __ _ __ _(_) | ___
| | | '_ \| '__/ _ \/ _` |/ _` | | |/ _ \
| | | | | | | | __/ (_| | (_| | | | __/
|_| |_| |_|_| \___|\__,_|\__, |_|_|\___|
|___/
Threagile - Agile Threat Modeling
文档: https://threagile.io
Docker 镜像: https://hub.docker.com/r/threagile/threagile
源代码: https://github.com/threagile
许可: 开源 (MIT 许可证)
版本: 1.0.0 (20231104141112)
用法: threagile [选项]
选项:
-background string
背景 PDF 文件(默认 "background.pdf")
-create-editing-support
仅在输出目录中创建一些编辑支持内容
-create-example-model
仅在输出目录中创建一个名为 threagile-example-model.yaml 的示例模型
-create-stub-model
仅在输出目录中创建一个名为 threagile-stub-model.yaml 的最小存根模型
-custom-risk-rules-plugins string
加载带有自定义风险规则的插件 (.so 共享对象) 文件名的逗号分隔列表
-diagram-dpi int
渲染的 DPI:最大值为 240(默认 120)
-execute-model-macro string
执行模型宏(通过 ID)
-generate-data-asset-diagram
生成数据资产图(默认启用)
-generate-data-flow-diagram
生成数据流图(默认启用)
-generate-report-pdf
生成包含图表的报告 PDF(默认启用)
-generate-risks-excel
生成风险 Excel(默认启用)
-generate-risks-json
生成风险 JSON(默认启用)
-generate-stats-json
生成统计数据 JSON(默认启用)
-generate-tags-excel
生成标签 Excel(默认启用)
-generate-technical-assets-json
生成技术资产 JSON(默认启用)
-ignore-orphaned-risk-tracking
忽略孤立的风险跟踪(仅记录不匹配具体风险的情况)
-list-model-macros
打印模型宏
-list-risk-rules
打印风险规则
-list-types
打印类型信息(模型中使用的枚举值)
-model string
输入模型 YAML 文件(默认 "threagile.yaml")
-output string
输出目录(默认 ".")
-print-3rd-party-licenses
打印第三方许可证信息
-print-license
打印许可证信息
-server int
在给定的端口上启动服务器(而不是命令行执行)
-skip-risk-rules string
逗号分隔的风险规则列表(通过其 ID)跳过
-verbose
详细输出
-version
打印版本信息
示例:
如果您想创建一个示例模型(通过 docker)作为学习 Threagile 的起点,只需运行:
docker run --rm -it -v "$(pwd)":/app/work threagile/threagile --create-example-model --output /app/work
如果您想创建一个最小的存根模型(通过 docker)作为您的模型起点,只需运行:
docker run --rm -it -v "$(pwd)":/app/work threagile/threagile --create-stub-model --output /app/work
如果您想在模型 YAML 文件上执行 Threagile(通过 docker):
docker run --rm -it -v "$(pwd)":/app/work threagile/threagile --verbose --model /app/work/threagile.yaml --output /app/work
如果您想在某个端口(这里是 8080)上以服务器(REST API)模式运行 Threagile:
docker run --rm -it --shm-size=256m -p 8080:8080 --name threagile-server --mount 'type=volume,src=threagile-storage,dst=/data,readonly=false' threagile/threagile -server 8080
如果您想了解模型 YAML 文件中可用的不同枚举值:
docker run --rm -it threagile/threagile -list-types
如果您想在您最喜欢的 IDE 中使用一些很好的编辑帮助(语法验证、自动完成和即时模板):
docker run --rm -it -v "$(pwd)":/app/work threagile/threagile --create-editing-support --output /app/work
如果您想列出所有可用的模型宏(这些宏能够读取模型 YAML 文件,以向导风格向您提问,然后相应地更新模型 YAML 文件):
docker run --rm -it threagile/threagile -list-model-macros
如果您想在模型 YAML 文件上执行某个特定的模型宏(这里是宏 add-build-pipeline):
docker run --rm -it -v "$(pwd)":/app/work threagile/threagile --model /app/work/threagile.yaml --output /app/work --execute-model-macro add-build-pipeline