pytm vs Threagile
pytm
github.comThreagile
threagile.ioSide by side
| Figure | pytm | Threagile |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Threat Modeling Software | 7.6 (#10) | 7.6 (#11) |
| Intended users | The project describes its goal as shifting threat modeling earlier and making it more automated and developer-centric. | The maker describes Threagile as developer-friendly threat modeling for agile projects and DevSecOps workflows. |
| Purpose | pytm is a Pythonic framework for threat modeling intended to make threat modeling more automated and developer-centric. | Threagile is an open-source toolkit for agile threat modeling that models architecture and assets in YAML and checks models against risk rules. |
Plans
In their own words
pytm
pytm is a free, open-source Python framework for creating threat models from architectural descriptions. A model is defined in Python with elements such as servers, data stores, actors, processes, data flows, and trust boundaries. From it, pytm can generate data flow diagrams, sequence diagrams, and relevant threats. Templates can produce reports with diagrams and findings, and a RevealMD template can create slides for browser presentation. Data flow diagrams use Graphviz DOT, while sequence diagrams use PlantUML. Models can be imported from JSON with pytm's Python load function. Users can supply a custom threats file and change finding attributes such as CVSS score, response text, and severity. Requirements include Python 3.11 or later, Graphviz, Java OpenJDK 10 or 11, and plantuml.jar; Linux and macOS are listed, while Windows use is documented through Devbox in WSL. The project also documents container and Devbox dependency workflows. The README warns that strings in threats.json are evaluated with eval(), so the file's permissions need protection against unauthorized changes.
Threagile
Threagile is an open-source toolkit for agile threat modeling. It represents architecture and assets in YAML and checks those models against risk rules, then produces reports of potential risks and recommended mitigations. Mitigation status can be recorded in the YAML model so reports reflect current progress. The toolkit also generates data-flow diagrams and supports Excel and JSON output. Teams can run it from the command line, in Docker, or as a REST server. Models can be edited in developer IDEs and tracked in Git, while custom risk rules can be written as YAML scripts without compiling Go code. A web playground analyzes YAML models and links to schema and API resources; a GitHub Action can run the tool against a repository model file. Threagile is free under the MIT License and supports API, Linux, self-hosted, and web use. The project describes itself as developer-friendly for agile projects and DevSecOps workflows. Its repository says current UI attempts are not ready, and support requests can be raised as GitHub discussions or issues.