Skip to content

Attributes

Attributes describe the functional behavior and data characteristics of elements in a threat model. They are the primary way Devici understands how a system works and which threats apply.

By applying attributes to elements, Devici can automatically identify relevant threats and suggest mitigations based on established threat intelligence and security frameworks.

Use this guide when you want to generate accurate threats, refine model behavior, or understand why certain threats appear.


How attributes work in Devici

Attributes are part of the Devici Codex and are used to describe the security-relevant characteristics of each element.

The Codex contains both built-in attributes provided by Devici and custom attributes created by your organization.

There are two primary types of attributes:

  • Functional attributes, which describe what an element does
  • Data attributes, which describe the type of data an element processes, stores, or transmits

Each attribute is associated with multiple threats. When attributes are applied to elements, Devici evaluates them—together with data flows and trust boundaries—to determine which threats apply.

Tip

Attributes should reflect actual behavior, not intended design. Model what really happens, not what should happen.


Threat intelligence behind attributes

Devici attributes are informed by widely used security frameworks and threat intelligence sources, including:

  • STRIDE
  • LINDDUN
  • OWASP Top Ten
  • MAESTRO
  • CWE
  • Additional industry and research sources

These frameworks influence how attributes map to threats, but Devici abstracts this complexity so you can focus on accurately describing your system.


When to apply attributes

Apply attributes after your model structure is in place.

You should already have:

  • Elements defined
  • Data flows connected
  • Trust boundaries identified

Attributes refine behavior—they do not replace structure.

Warning

Applying attributes to an incomplete structure often results in misleading or missing threats.


Step 1: Decide which attributes apply

Work through your model one element at a time.

For each element, ask:

  1. Exposure – Who can reach this element?
  2. Identity – How are callers identified or authenticated?
  3. Data – What type of data does it handle?
  4. Trust – What assumptions does it make about inputs and callers?

Use the answers to guide attribute selection.

Tip

If you’re unsure whether an attribute applies, include it. It is easier to remove attributes than to discover missing threats later.


Step 2: Add attributes to an element

Once you know which attributes apply, add them to the element.

To add attributes to an element

  1. Select an element on the modeling canvas
  2. Use either the element mini toolbar to open the attribute picker, or open the Attribute Explorer from the side drawer
  3. Search for functional or data attributes using the Attribute Explorer, or use keyword search from the mini toolbar
  4. Select all attributes that reflect the element’s behavior

As attributes are added, threats begin generating automatically.

Tip

Start with a small number of high-confidence attributes. Expand iteratively as you learn more about the system.


Step 3: Review threats to validate attributes

Attributes and threats form a feedback loop.

After applying attributes:

  • Review the generated threats
  • Identify threats that feel missing or surprising
  • Adjust attributes accordingly

Common signals of attribute issues

  • Too few threats → attributes are missing
  • Irrelevant threats → attributes are inaccurate
  • Excessive noise → attributes may be too broad

Warning

Do not “fix” bad threats by dismissing them first. Always review attributes before dismissing threats.


Step 4: Decide when attributes are “done enough”

Attributes do not need to be perfect to be useful.

Attribute application is usually sufficient when:

  • Each element has attributes describing exposure and data
  • Generated threats align with architectural expectations
  • No major threat categories feel obviously missing

Tip

Threat modeling is iterative. Attributes should evolve as designs change and understanding improves.


The Attribute Explorer

The Attribute Explorer provides a complete view of all attributes available in Devici.

Attributes are grouped into:

  • Functional attributes
  • Data attributes

Use the Attribute Explorer to:

  • Understand attribute intent
  • Discover attributes you may have missed
  • Validate attribute coverage across a model

The Attribute Explorer is especially useful during reviews.


Custom attributes

Some systems have unique behaviors or data types not fully captured by built-in attributes.

Devici allows you to create custom attributes to model these cases accurately.

When to use custom attributes

Use custom attributes when:

  • The behavior is truly system-specific
  • No existing attribute reasonably applies
  • The attribute improves threat accuracy

Avoid custom attributes when:

  • A built-in attribute already exists
  • The issue can be addressed through better structure

Adding a custom attribute

  1. Open the Attributes interface
  2. Select the option to add a new attribute
  3. Enter a clear, descriptive name

Custom attributes are:

  • Saved for reuse
  • Searchable
  • Available across models

Tip

If you find yourself reusing a custom attribute frequently, revisit whether the model structure or existing attributes need adjustment.


Knowledge-based vs smart attributes

This guide primarily focuses on knowledge-based attributes, which are manually selected by the modeler.

Devici also supports smart attributes, which help accelerate attribute selection using AI assistance.

With smart attributes:

  • You provide a short natural-language description of what an element does
  • Devici analyzes the description
  • The system suggests the most relevant attributes from the Devici Codex
  • Suggestions may include both built-in attributes and your organization’s custom attributes
  • You review and select which suggested attributes to apply

Smart attributes do not create new attributes automatically.
They help you discover and select the best matching existing attributes more quickly.

Read more here:

Tip

Smart attributes are most useful for first-pass modeling. Always review suggested attributes to ensure they accurately reflect behavior.


Common attribute anti-patterns

Avoid these common mistakes:

  • Modeling intent instead of behavior
  • Applying attributes before structure is complete
  • Overusing custom attributes
  • Accepting smart attribute suggestions without review
  • Ignoring threat output as validation feedback

Note

If threats don’t make sense, attributes are usually the root cause.


What’s next

After attributes are applied:

Attributes are how you teach Devici to understand your system.