Knowledge Base Regulation Tracker Standards & Frameworks OSS Directory AI Incident Database Research Paper Library Case Studies Society Articles News Jobs About Charter Sign inBecome a Member
Home/OSS Directory/OWASP Threat Dragon

OWASP Threat Dragon

Threat modelling

Open-source threat modelling tool from OWASP for drawing system diagrams and recording threats and mitigations (STRIDE, LINDDUN, CIA), as a desktop or web application. Named in the taxonomy.

threat modellingstrideowasp

OWASP Threat Dragon: Overview and Purpose

OWASP Threat Dragon is an open-source threat modeling tool designed to facilitate the creation of system diagrams and the documentation of threats and mitigations. Developed under the OWASP Foundation, it aligns with the principles of the threat modeling manifesto, emphasizing accessibility, flexibility, and simplicity. The tool supports multiple threat modeling frameworks, including STRIDE, LINDDUN, CIA, DIE, and PLOT4ai, making it versatile for different security assessment needs. Threat Dragon is intended for integration into secure development lifecycles, enabling teams to visualize threat models, identify potential threats, and define appropriate mitigations.

The tool operates as either a standalone desktop application or a fully featured, self-hosted web application. Its cross-platform compatibility ensures broad accessibility, catering to users across different technical backgrounds and expertise levels.

Threat Dragon’s design prioritizes ease of use, offering sample threat models to assist newcomers in understanding its functionality. The tool also includes a rule engine capable of auto-generating threats and their corresponding mitigations, streamlining the threat modeling process for both experienced practitioners and those new to the field.

How It Works

Threat Dragon functions as a visual and analytical tool for threat modeling, combining diagram creation with threat documentation. Users can draw system diagrams representing components, data flows, and trust boundaries, which serve as the foundation for identifying threats. The tool supports multiple frameworks, allowing users to select the most appropriate methodology for their specific context—whether it be STRIDE for traditional IT systems, LINDDUN for privacy-focused assessments, or PLOT4ai for AI-specific risks.

The core workflow involves creating a diagram to represent the system architecture, identifying elements such as data stores, external entities, and processes. Once the diagram is complete, users can associate threats with specific elements, categorizing them according to the chosen framework. For example, under STRIDE, threats might be classified as Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, or Elevation of Privilege.

A notable feature of Threat Dragon is its rule engine, which can automatically generate threats and mitigations based on predefined rules or user-defined logic.

Use Cases

Threat Dragon is primarily used in governance and compliance workflows, where organizations seek to systematically identify and address security risks in their systems.

  • Secure Development Lifecycle (SDL) Integration: Threat Dragon can be embedded into SDL processes to ensure security considerations are addressed early in the development cycle.
  • The tool’s support for frameworks like LINDDUN, which focuses on privacy threats, makes it particularly useful for data protection assessments.
  • This makes it a valuable tool for organizations developing or deploying AI-driven solutions, where traditional threat modeling frameworks may fall short.
  • Collaborative Security Assessments: Teams distributed across geographies or departments can collaborate on threat modeling using Threat Dragon’s web application.

Key Features and Capabilities

Threat Dragon’s functionality is built around several key features that enhance its utility in threat modeling:

  • Multi-Framework Support: The tool supports STRIDE, LINDDUN, CIA, DIE, and PLOT4ai, allowing users to select the framework that best fits their assessment needs.
  • Diagram Creation and Visualization: Users can create detailed system diagrams using a drag-and-drop interface, representing components, data flows, and trust boundaries. These visual representations serve as the foundation for identifying and documenting threats, making complex systems more understandable and manageable.
  • Automated Threat and Mitigation Generation: The built-in rule engine can automatically generate threats and mitigations based on predefined rules or user inputs.
  • Integration with Version Control: The web application version of Threat Dragon can integrate with Bitbucket repositories, enabling users to store and version-control their threat models. This integration ensures that threat models remain traceable and auditable over time, aligning with best practices for governance and compliance.
  • Self-Hosting and Customization: Organizations can deploy Threat Dragon as a self-hosted web application, providing full control over data storage, access controls, and customization options. This is particularly advantageous for enterprises with specific security or compliance requirements that preclude the use of cloud-based solutions.
  • Sample Models and Documentation: Threat Dragon includes pre-built sample models to help users familiarize themselves with the tool’s capabilities. Comprehensive documentation and community resources further support users in configuring, deploying, and maintaining the application, whether for development, testing, or production environments.

Configuration and Deployment

Deploying Threat Dragon as a web application involves several configuration steps, particularly when integrating with external services such as Bitbucket. The following details outline the process for setting up Bitbucket access, which is essential for storing and managing threat models in a version-controlled repository:

  • For development purposes, the environment variable NODE_ENV is typically set to development, which disables secure cookie enforcement and simplifies OAuth redirect configurations. In production, NODE_ENV should be set to production to enforce HTTPS and other security measures.
  • Bitbucket OAuth Consumer Configuration: To enable Bitbucket integration, an OAuth consumer must be created within the Bitbucket workspace. This involves defining a callback URL (e.g., http://localhost:8080/api/oauth/return), setting appropriate permissions (such as Read/Write for repositories), and generating client ID and secret keys. These keys must be securely stored and treated as sensitive credentials, akin to passwords.
  • Encryption Keys: Threat Dragon requires three distinct encryption keys for JWT signing and encryption: ENCRYPTION_JWT_REFRESH_SIGNING_KEY, ENCRYPTION_JWT_SIGNING_KEY, and ENCRYPTION_KEYS. Example keys are provided for illustrative purposes, but real deployments must generate unique keys using tools like OpenSSL.
  • For development, the container can be run interactively with logs printed to the console, while production deployments should run in detached mode for stability.
  • Environment Variables Management: For production environments, sensitive configuration details such as encryption keys and OAuth credentials should be stored in environment files (e.g., .env) rather than in command-line arguments.
  • Production Considerations: In production environments, additional security controls must be implemented to protect against unauthorized access. The documentation emphasizes the importance of adhering to security best practices when deploying Threat Dragon in production settings.

Sources

Contribute

Spot an error, or know a record we should add? Members can propose additions and submit corrections.