Skip to main content

threat_model View

The threat_model view visualizes security architectures through the lens of STRIDE threat modeling, trust boundaries, adversary attack vectors, and mitigating controls.


Visual Projection

threat_model view visual diagramthreat_model view visual diagram

STRIDE Threat Model View showing untrusted zones, DMZ boundaries, threats, and mitigating controls


Purpose & Target Audience

  • Target Audience: Security Architects, AppSec Engineers, DevSecOps Leads, Penetration Testers.
  • Primary Use Cases:
    • Threat modeling enterprise architectures during design phases (STRIDE analysis).
    • Verifying that sensitive data stores reside behind appropriate trust_boundary perimeters.
    • Ensuring every identified threat or vulnerability has a corresponding mitigating control.
    • Auditing zero-trust architecture enclaves and mutual TLS enforcement.

Supported Entity Types

Entity TypeSecurity RoleDescription
trust_boundaryPerimeter FrameNetwork zones, DMZs, sandboxes, and enclaves.
threatAdversary VectorSTRIDE threat models (Spoofing, Tampering, etc.).
controlSafeguardTechnical, cryptographic, or IAM preventive/detective controls.
vulnerabilityFlaw / WeaknessKnown CVE bulletins and architectural weaknesses.
system, appAsset TargetSoftware workloads and API entry points subjected to attack.
data_objectTarget AssetHigh-value customer PII, keys, or cardholder data.

Supported Relationships & Verbs

Relationship VerbSource EntityTarget EntitySecurity Meaning
enclosestrust_boundarysystem, app, infra, data_objectPerimeter containment
targetsthreat, vulnerabilitysystem, app, component, data_objectAttack vector projection
mitigatescontrolthreat, risk_scenarioSafeguard mitigation
protectscontrol, trust_boundary, systemsystem, app, component, data_object, infra, actorAsset protection (including Encryption and Authentication mechanisms)

Filtering & Layout Recommendations

  • Recommended Layout: auto_layout TopToBottom or LeftToRight (untrusted zone to trusted enclave).
  • Common Predicates:
    • include threat where likelihood == "High" || likelihood == "Critical": High-priority threat vectors.
    • include control where implementation_status == "Implemented": Current defensive posture.

Complete DSL Example

views {
threat_model v_payment_stride "PCI Cardholder Threat Model" {
# Select boundaries, assets, threats, and safeguards
include trust_boundary
include sys_payment_gateway
include threat
include control
include vulnerability

# Explicitly include security verbs
include_verb targets both
include_verb mitigates both
include_verb encloses both
include_verb protects both

# Layout from untrusted ingress to core enclave
auto_layout TopToBottom

# Visual highlights for critical threats
style threat where likelihood == "Critical" {
css_class "threat-critical-glow"
icon "alert-triangle"
}
}
}