ThreatModel SDK

A Java library for parsing and programmatically using threat models

License

License

GroupId

GroupId

us.springett
ArtifactId

ArtifactId

threatmodel-sdk
Last Version

Last Version

1.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

ThreatModel SDK
A Java library for parsing and programmatically using threat models
Project URL

Project URL

https://github.com/stevespringett/threatmodel-sdk
Source Code Management

Source Code Management

https://github.com/stevespringett/threatmodel-sdk.git

Download threatmodel-sdk

How to add to project

<!-- https://jarcasting.com/artifacts/us.springett/threatmodel-sdk/ -->
<dependency>
    <groupId>us.springett</groupId>
    <artifactId>threatmodel-sdk</artifactId>
    <version>1.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/us.springett/threatmodel-sdk/
implementation 'us.springett:threatmodel-sdk:1.0.0'
// https://jarcasting.com/artifacts/us.springett/threatmodel-sdk/
implementation ("us.springett:threatmodel-sdk:1.0.0")
'us.springett:threatmodel-sdk:jar:1.0.0'
<dependency org="us.springett" name="threatmodel-sdk" rev="1.0.0">
  <artifact name="threatmodel-sdk" type="jar" />
</dependency>
@Grapes(
@Grab(group='us.springett', module='threatmodel-sdk', version='1.0.0')
)
libraryDependencies += "us.springett" % "threatmodel-sdk" % "1.0.0"
[us.springett/threatmodel-sdk "1.0.0"]

Dependencies

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

Build Status Codacy Badge License

ThreatModel SDK

The ThreatModel SDK is a minimalistic Java library that provides a basic vendor-neutral object model along with the ability to parse reports generated from common threat modeling tools.

Intent and Purpose

The intent of the ThreatModel SDK is to represent threat model data in a normalized way, regardless of approach, tool, or vendor. The primary purpose of the SDK is to facilitate the automation of threat model data by exfiltrating threat intelligence from the model so that identified threats can be automatically added to a teams backlog or defect tracking system.

The goal of this project is NOT to graphically represent threat model data through user interfaces.

Supported Threat Modeling Tools

  • Microsoft Threat Modeling Tool 2016

Compiling

$ mvn clean package

Usage Example

// Threat model file to open
File file = new File("/path/to/threatmodel.tm7");

// Creates a normalized, vender-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()
  .name("XSS")
  .risk(risk);

Maven Usage

The Threatmodel SDK is available on the Maven Central Repository.

<dependency>
    <groupId>us.springett</groupId>
    <artifactId>threatmodel-sdk</artifactId>
    <version>1.0.0</version>
</dependency>

Copyright & License

ThreatModel SDK is Copyright (c) Steve Springett. All Rights Reserved.

All other trademarks are property of their respective owners.

Permission to modify and redistribute is granted under the terms of the Apache 2.0 license.

Versions

Version
1.0.0