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:
- Exposure – Who can reach this element?
- Identity – How are callers identified or authenticated?
- Data – What type of data does it handle?
- 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
- Select an element on the modeling canvas
- Use either the element mini toolbar to open the attribute picker, or open the Attribute Explorer from the side drawer
- Search for functional or data attributes using the Attribute Explorer, or use keyword search from the mini toolbar
- 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
- Open the Attributes interface
- Select the option to add a new attribute
- 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:
- Review risk in Threats & Mitigations
- Reduce noise with Mitigating Attributes
- Validate completeness using the Threat Model Health Score
Attributes are how you teach Devici to understand your system.