image
Define your system in Python using the elements and properties described in the pytm framework. Based on your definition, pytm can generate, a Data Flow Diagram (DFD), a Sequence Diagram and most important of all, threats to your system. Requirements Linux/MacOS Python 3.x Graphviz package Java (OpenJDK 10 or 11) plantuml.jar Usage tm.py [-h] [–debug] [–dfd] [–report REPORT] [–exclude EXCLUDE] [–seq] [–list] [–describe DESCRIBE] optional arguments: -h, –help show this help message and exit –debug print debug messages –dfd output DFD (default) –report REPORT output report using the named template file (sample template file is under docs/template.md) –exclude EXCLUDE specify threat IDs to be ignored –seq output sequential diagram –list list all available threats –describe DESCRIBE describe the properties available for a given element Currently available elements are: TM, Element, Server, ExternalEntity, Datastore, Actor, Process, SetOfProcesses, Dataflow, Boundary and Lambda. The available properties of an element can be listed by using –describe followed by the name of an element: (pytm) ➜ pytm git:(master) ✗ ./tm.py –describe Element Element OS check definesConnectionTimeout description dfd handlesResources implementsAuthenticationScheme implementsNonce inBoundary inScope isAdmin isHardened name …

Source