The ThreatModel SDK: A Simplified Java Library for Threat Modeling
The ThreatModel SDK is a straightforward Java library that offers a basic, vendor-neutral object model. It also includes the capability to parse reports generated from widely used threat modeling tools.
The Purpose of the ThreatModel SDK
The purpose of the ThreatModel SDK is to represent threat model data in a standardized format, regardless of the approach, tool, or vendor used.
The main function of the SDK
The main function of the SDK is to automate the management of threat model data. It does this by extracting threat intelligence from the model, allowing identified threats to be automatically incorporated into a team's backlog or defect tracking system.
The Objective of This Project
The objective of this project is NOT to visually represent threat model data through user interfaces.
Supported Threat Modeling Tools: Microsoft Threat Modeling Tool 2016.
Usage Example:
// Threat model file to open
File file = new File("/path/to/threatmodel.tm7");
// Creates a normalized, vendor-neutral ThreatModel object
ThreatModel threatModel = ThreatModelFactory.parse(file, ThreatModelingTool.MICROSOFT_THREAT_MODELING_TOOL_2016);
// Java Bean conventions
Threat threat = new Threat();
threat.setName("XSS");
threat.setRisk(risk);
// Fluent interface
Threat threat = new Threat();