Skip to main content

python tool for Microsoft Threat modeling tool

Project description

TMT

Microsoft Threat Modeling Tool python scripts to increase TMT’s utility for both template developers and model makers. For template design, this project hopes to address some of the complexities that come with managing a “database” of threats and stencils. For modeling, this project experiments with extracting information from our model and improving on the overall process of Threat Modeling.

Installation

Since this repo is currently a set of scripts, install with the pip target flag

$ pip install TMTool -t /path/to/directory

Scripts

.tb7 template files:

  • template2xlsx.py - enumerate a template's stencils, threat categories, and threats, and threat logic. Save elements/stencils and threats as a .xlsx file.

  • xlsx2template.py - script to convert template.xlsx file back into a .tb7 file. For merging new threats or editing templates, you would modify and convert back to .tb7 format

  • template2sql.py - enumerate a template's threats and stencils/elements. Save as SQLite .db file.

.tm7 model files:

  • model2csv.py - enumerate a model's flows, notes, stencils, stencil properties, and any other information from a model which we cannot get from TMT's built-in csv file generation but which will later be used in conjunction with the generated csv file.

  • set_metadata_tags.py (work in progress) - set a model's metadata such as risk level and compliance standards

  • cvss.py (work in progress) - experimental script for scoring threat IDs with CVSS

MS Threat Model generated .csv threat list files:

  • jira_issues.py - experimental script to add generated threat list to Jira Project as a set of issues. Also sets issue priority level and issue description from the threat. See empty_creds.py accessing your JIRA. This script can set the issue status to the threat's status if the JIRA transitions are available.

HTML report files:

  • fix_report_hyperlinks.py - This script will fix report hyperlinks that are broken since MS TMT encodes HTML entities within their generated report

  • confluence.py - Script will publish a HTML and .docx report to confluence as an attachment

View threat_modeling_notes.txt for more

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

TMTool-0.0.11.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

TMTool-0.0.11-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file TMTool-0.0.11.tar.gz.

File metadata

  • Download URL: TMTool-0.0.11.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.7.9

File hashes

Hashes for TMTool-0.0.11.tar.gz
Algorithm Hash digest
SHA256 fec31c361116441217398419e75406874df4d89f23281f2c117edd7924649b3d
MD5 5d8c69333c33675a7e86e32f2f4353bd
BLAKE2b-256 ef1d61dd12ff45634cf5fbc1c65f58ae52561d216c3af7c9c0b2c6c1fbb756d9

See more details on using hashes here.

Provenance

File details

Details for the file TMTool-0.0.11-py3-none-any.whl.

File metadata

  • Download URL: TMTool-0.0.11-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.7.9

File hashes

Hashes for TMTool-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 08527980d68a461afb5e1693560c49dd05b9b7bb557b294dd4dfe482851495d0
MD5 0985982ce0dfd7f564b6c63e5198687d
BLAKE2b-256 bae73c07af51a8057e3a9e61d010131bf8543a9d1f2413604b920da341f59d2b

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page