Skip to content
SPECIFICTION
Get listed

ADTool vs pytm

ADTool

satoss.uni.lu

pytm

github.com

Side by side

FigureADToolpytm
Price from—Free
Free plan—Yes
Free trial——
Open source——
Windows—Yes
macOS—Yes
Linux—Yes
Plans published01
Spec score · Threat Modeling Software7.3 (#19)7.6 (#10)
PurposeADTool models and analyzes attack-defense scenarios represented as attack-defense trees and attack-defense terms.pytm is a Pythonic framework for threat modeling intended to make threat modeling more automated and developer-centric.

Plans

ADTool

No plans published.

ADTool pricing →

pytm

  • Open-source pytmFree

pytm pricing →

In their own words

ADTool

ADTool is free software for modeling and analyzing attack-defense scenarios. It uses attack-defense trees, attack-defense terms, and sequential attack trees, following a methodology developed through the ATREES, TREsPASS, and ADT2P projects. Users can create and edit trees, then perform quantitative bottom-up analysis. A modular display is intended for large real-life scenarios. The tool can rank possible attacks for selected attribute domains, supporting attack-path analysis and risk prioritization. Models can be saved, printed, exported to several formats, and given customized layouts. The maker lists a new beta release and an earlier stable release. The new version requires JDK 7 or later. The stable package is offered as a dependency-included jar of about 6.6 MB or a light package of about 1100 kB. A previous-version manual and source code for both versions are available. The project is associated with the University of Luxembourg’s Security and Trust of Software Systems group.

Visit satoss.uni.lu

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.

Visit github.com