20 September 2026

STRIDE vs. PASTA Threat Modeling: A Practical Guide for Modern Development

Reza Khosravi
Threat Modeling

Table of Contents

TL;DR

  • STRIDE categorizes threats across system components and data flows. It gives you a repeatable way to find common security failures during design reviews.
  • PASTA uses seven stages to connect business objectives, credible threats, vulnerabilities, attack paths, and impact. It produces risk-based priorities and countermeasures.
  • STRIDE can supply threat categories during PASTA’s decomposition and threat analysis stages, so you can use both methods together.
  • Model quality depends on complete, accurate, and current inputs. Model effectiveness depends on whether you apply the findings to development decisions and update the model when architecture, code, dependencies, data flows, or threats change.

What STRIDE is and how it works

Microsoft engineers Loren Kohnfelder and Praerit Garg developed STRIDE in the 1990s. Microsoft later incorporated the method into its Security Development Lifecycle. STRIDE gives you a repeatable way to identify threats by asking which security property an attacker could violate.

Each letter names a threat category and the property it threatens.

  Threat category Security property     Spoofing Authentication   Tampering Integrity   Repudiation Non-repudiation   Information disclosure Confidentiality   Denial of service Availability   Elevation of privilege Authorization  

A STRIDE analysis starts by decomposing an application into a data flow diagram. Microsoft’s DFD notation uses arrows for data in motion and paired lines for stored data. Circles represent code that transforms data, while rectangles represent users or external services. Dotted trust boundaries mark points where control, identity, or security assumptions change.

You then examine each diagram element against the applicable STRIDE categories. Data flows can face tampering, information disclosure, and denial of service. Data stores can face those categories plus repudiation in some cases. Processes require checks against all six categories, while external interactors mainly raise spoofing and repudiation concerns. Microsoft recommends tracing each data source and destination, giving each store a reader or writer, and keeping opposite sides of a trust boundary distinct.

STRIDE-per-element applies the relevant categories to every process, store, flow, and interactor. STRIDE-per-interaction instead examines the communication between elements. The interaction approach can reduce the review volume in a large model and expose threats that arise when individually secure components communicate. Both approaches produce a list of threats tied to specific parts of the design.

Microsoft’s broader method continues after enumeration. You identify mitigations, revise the design, and repeat the analysis until the remaining risk becomes acceptable. The Microsoft STRIDE guidance also warns that component analysis cannot prove a composed system secure because interactions can create emergent threats.

STRIDE does not rank findings or estimate business impact. A spoofing threat and a denial-of-service threat enter the model as categories, but STRIDE does not determine which one could cause greater loss or deserves earlier remediation. You need a separate risk assessment or scoring method for likelihood, severity, and business context. STRIDE also depends on an accurate DFD. Missing data flows, components, or trust boundaries leave corresponding threats outside the analysis.

What PASTA is and how it works

PASTA is a seven-stage, risk-centric methodology that connects technical analysis to business objectives and potential business impact. Tony UcedaVélez and Marco M. Morana developed the Process for Attack Simulation and Threat Analysis in 2015. VerSprite describes PASTA as a methodology rather than a software product, so a tool may support individual stages without implementing the full process.

  1. Define objectives. You begin with business requirements, security policies, compliance obligations, and data classifications. A business impact analysis identifies which operations and assets require protection and what harm their compromise could cause. Starting with business objectives gives later technical findings a basis for prioritization.
  2. Define the technical scope. You document the application code, infrastructure, databases, external services, network components, and other dependencies within scope. The resulting inventory establishes system boundaries and identifies the technologies that attackers could target.
  3. Decompose the application. You map data flows, trust boundaries, interfaces, assets, actors, and access controls. Data flow diagrams provide a structured view of how information moves through the application and where its trust level changes.
  4. Analyze relevant threats. You identify plausible threat actors, motives, and attack vectors using evidence such as threat intelligence, security incidents, and system logs. PASTA favors threats with demonstrated relevance to the application rather than treating every theoretical threat as equally likely.
  5. Analyze vulnerabilities and weaknesses. You connect known weaknesses to the assets and components identified earlier. Sources can include vulnerability scans, code analysis, penetration tests, CVE records, and weakness classifications such as CWE. The output shows where a relevant threat could exploit an actual weakness.
  6. Model attacks. You connect threat actors, vulnerabilities, and application paths through attack trees or similar representations. Attack modeling tests whether a scenario appears viable and supplies evidence for estimating likelihood. PASTA performs this analysis before assigning risk, which reduces reliance on unsupported severity judgments.
  7. Analyze risk and impact. You assess viable attack paths against business impact, existing controls, and remaining control gaps. The final outputs include an application risk profile, residual risk assessment, and mitigation plan. The seven-stage process therefore carries analysis through risk reduction rather than stopping after threat identification.

PASTA requires more documentation and analysis than STRIDE because each stage depends on artifacts produced earlier. Cross-functional participation may involve engineering, security, risk, compliance, and business stakeholders. Practitioners can perform PASTA without specialized software, but tools make it easier to maintain diagrams, evidence, attack paths, and risk relationships. Applications and threats change over time, so you must also revisit affected stages when architecture, vulnerabilities, or business priorities change.

STRIDE vs. PASTA: how the two actually compare

STRIDE classifies potential threats against components and data flows, while PASTA evaluates which attack scenarios create material business risk. STRIDE produces a categorized threat list. PASTA connects technical scope, threat intelligence, weaknesses, attack paths, and business consequences to produce prioritized risks and countermeasures.

Criterion STRIDE PASTA
Primary purpose Enumerate threats by category Analyze viable attacks and business risk
Typical scope Components, interactions, and data flows Applications and supporting environments
Main output Categorized threat list Prioritized attack scenarios, risks, and countermeasures
Business context Added separately Included from the first stage
Attack validation Not required by the method Included in attack modeling
Best development fit Focused design and architecture reviews Broader risk analysis around complex systems or major changes
Resource needs Easier for smaller teams to adopt Requires more time and security expertise

Team capacity provides one practical selection filter. A small engineering group conducting an architecture review can use STRIDE to examine each component and interaction for spoofing, tampering, and the other four categories. PASTA usually demands more expertise and time because analysts must assess threat actors, weaknesses, attack paths, and business impact. Those demands can make its full seven-stage process difficult for resource-constrained organizations, according to a comparison of the methodologies.

Compliance and governance needs provide another filter. STRIDE can support a requirement to identify threats systematically, but the method does not supply business-impact analysis or risk acceptance on its own. PASTA better fits reviews that require executives, risk owners, or auditors to examine credible scenarios and approve priorities based on operational consequences.

Development phase also affects the choice. STRIDE works well during early design because architects can apply its categories to proposed trust boundaries and data flows. PASTA fits decisions that require wider evidence, such as approving a major release, assessing a sensitive application, or evaluating a significant architecture change.

The methods can work together. VerSprite states that STRIDE and PASTA “do not have to be mutually exclusive”. You can use STRIDE to enumerate threats during PASTA’s decomposition and threat-analysis stages. PASTA then adds attacker context, weakness correlation, attack modeling, business impact, and risk prioritization.

Why the same methodology can produce a good or bad threat model

STRIDE and PASTA organize analysis, but neither can repair an inaccurate description of the system. A methodology can ask the right questions and still produce weak findings when the inputs omit components, actors, or security controls. DevArmor summarizes the dependency as “what you feed the model is the model”. Black Duck reaches the same conclusion, noting that an accurate system abstraction requires thorough analysis of architecture, business context, and supporting artifacts.

Threat analysis needs enough context to connect an actor, an action, and an affected asset. NIST SP 800-30 defines a threat through a threat source and a threat event. A useful system model must add the entry points, targeted components, and potential consequences that make those threats specific. For example, a diagram that shows traffic reaching an API but omits the trust boundary around that API may cause a STRIDE review to miss where spoofing or tampering applies. A PASTA analysis may misjudge business impact when the same diagram fails to identify that the API handles regulated personal data.

Useful inputs also describe behavior rather than naming components alone. A data flow should identify what moves, who can initiate it, where credentials travel, what happens after failure, and which controls protect each boundary. Asset records should state data sensitivity because a database label alone says nothing about the consequences of exposure. Human reviewers and AI systems cannot reliably infer details that the source material never provides.

Current and authoritative inputs matter as much as completeness. A Terraform plan, an OpenAPI specification, and an architecture diagram may describe different versions of the same application. You need provenance for each input, including its owner, date, and authority. Otherwise, an analyst may treat a retired component as active or overlook a newly deployed path. An AI tool may combine conflicting sources into a coherent account without identifying the conflict.

Incomplete or inaccurate inputs damage model quality during analysis. Operational neglect causes a separate failure after analysis. A threat model can accurately describe the system at review time and still have little effect if nobody connects its findings to engineering decisions or updates it when the system changes. The first problem concerns whether the model represents reality. The second concerns whether development work uses and maintains that model.

Why a good threat model still fails if nobody uses it

A high-quality threat model can still fail operationally when engineering work ignores it. Model quality describes whether STRIDE or PASTA accurately represents the system and its threats. Model effectiveness describes whether findings influence engineering decisions and whether later checks confirm that developers implemented the required controls. An accurate model stored in a document does not reduce risk by itself.

DevArmor describes uncritical acceptance of AI-generated findings as “vibe threat modeling” and warns that “a threat model that lives in a document is not operationalized.” Each relevant finding should rule out an unsafe design choice or create an owned engineering task with acceptance criteria. Reviewers should also record why they accepted, mitigated, transferred, or rejected a risk so later changes do not erase the original reasoning.

Effective threat modeling also requires scheduled and event-driven updates. Black Duck treats threat modeling as an ongoing lifecycle rather than a one-time design exercise. Review the model when architecture or code changes add a component, alter a trust boundary, or remove a control. Reassess affected threats when data flows change or a new dependency enters the build. New threat intelligence should trigger another review when it changes attacker capabilities, likely attack paths, or the relevance of existing mitigations.

Human review remains necessary even when software generates the initial analysis. A reviewer must confirm that each finding applies to the current implementation and connect it to a specific decision. An owner must then verify the control and preserve evidence that the mitigation works.

Threat modeling for agentic development

AI-assisted development increases code output faster than review capacity. DX reported that daily AI users merged about 60% more pull requests than light users, while Faros AI found that high-adoption groups merged 98% more pull requests and spent 91% more time reviewing them. Security studies have also found vulnerabilities in AI-generated code, although reported rates vary widely by test design and language. One CodeQL study found vulnerabilities in 12.1% of examined files, while Veracode found flaws in 45% of generated samples across its tasks and models. These findings make periodic manual review harder to sustain.

Agentic systems also weaken the assumption that reviewers can fully characterize system behavior during design. An agent may select tools, retain memory, or delegate work based on runtime context. Its permissions and trust relationships can therefore change without a conventional architecture change. Threat models must cover the agent’s identity and instructions as well as the code it produces.

STRIDE still provides useful categories for these risks. Spoofing covers agent impersonation and weak authentication, while tampering covers poisoned memory or altered context. Repudiation examines whether investigators can reconstruct autonomous actions, and elevation of privilege covers tool misuse or excessive permissions. The OWASP AI Agent Security Cheat Sheet recommends scoped tool permissions, integrity checks for memory, and structured logs that connect approvals to specific actions.

PASTA can apply its business-impact analysis and attack simulation to agentic scenarios. You can estimate the harm caused by an agent exposing regulated data, then simulate how prompt injection could misuse an authorized tool. PASTA can also trace cascading failures across agent relationships when the architecture model includes those relationships. Current runtime evidence must keep feeding the analysis because an outdated inventory will omit newly acquired tools or subagents.

Neither methodology natively covers every agentic behavior. The Cloud Security Alliance’s MAESTRO guidance says STRIDE and PASTA need significant augmentation for unpredictable behavior, data poisoning, and agent-to-agent threats. Non-deterministic decisions and changing trust relationships require continuous observation rather than a static review. Teams should also model cross-component chains such as EchoLeak as connected paths instead of isolated component flaws. Use STRIDE or PASTA as the analytical base, then add agent-specific threat scenarios, runtime provenance, and reassessment when permissions or behavior change.

A continuous threat modeling workflow that fits either methodology

A continuous workflow treats the threat model as an engineering input that changes with the system. STRIDE can provide recurring threat categorization, while PASTA can provide recurring risk analysis. Both methods need an owner, defined update triggers, and links between findings and development work.

  1. Detect meaningful changes. Reopen the model when a design changes, a dependency enters the system, or new threat intelligence affects an assumption. Changes to data flows, controls, business criticality, and ownership may also require review. VerSprite’s guidance recommends a living model because point-in-time analysis loses value when applications change faster than the review cycle.
  2. Update the system representation before analyzing threats. For STRIDE, revise the data flow diagram, components, trust boundaries, and relevant interactions. For PASTA, revisit the affected decomposition and threat analysis stages. A limited change may require only a targeted review, but reviewers should document why the remaining scope stayed unchanged.
  3. Reanalyze the affected risks. Apply STRIDE categories to changed elements or interactions, or repeat the relevant PASTA attack and risk analysis. Reviewers should check whether the change creates a new entry point, alters an existing control, or increases the impact of a known attack path.
  4. Turn findings into requirements and policies. Each accepted finding should produce a concrete engineering decision. A security requirement should identify the required control and where enforcement belongs. Any accepted risk should name an accountable owner and include an expiration or reassessment condition.
  5. Verify implementation and preserve evidence. Tests, code review, configuration checks, or direct control validation should confirm that implementation matches the decision. Record the verification result with the model version and the change that triggered review. Preserve relevant approvals and risk acceptances so future reviewers can distinguish completed work from unresolved findings.

The loop protects model quality by refreshing system context before analysis. It supports model effectiveness by connecting each finding to a decision, an implementation check, and recorded evidence.

How DevArmor turns a threat model into a continuous decision loop

DevArmor presents its Agentic Flywheel as an architecture for keeping security analysis connected to development. Seven agents read from and write to a shared Unified Security Context, which DevArmor also calls Org Memory. That context records the system architecture, data flows, trust boundaries, threat models, policies, accepted risks, and prior decisions.

DevArmor’s sequence starts with Context Collector and Architecture Composer. Threat Modeler and Policy Builder follow. Design Advisor, Controls Enforcer or Code Reviewer, and Compliance Reporter complete the sequence. DevArmor says these agents collect development artifacts, update the system model, revise threats, convert findings into requirements, check implementation, and record evidence. Later reviews can then reuse earlier decisions while incorporating new code or design changes.

Shared context addresses model quality by giving threat analysis current and traceable inputs. DevArmor’s article on model input quality argues that structured inputs, source provenance, conflict reconciliation, and human review determine what a model can accurately represent. Missing components or unclear trust boundaries weaken either STRIDE or PASTA analysis before anyone selects controls.

The feedback loop addresses model effectiveness by carrying findings into engineering work. According to DevArmor, the Flywheel can turn threats and standards into Policy-as-Code requirements, deliver guidance through development tools, check pull requests against approved decisions, and return outcomes or exceptions to the shared context. Engineering changes can therefore inform the next threat model, while the current threat model informs implementation decisions.

DevArmor does not claim that the Agentic Flywheel natively implements STRIDE or PASTA. The product instead maintains the system model and trust boundaries needed to repeat either analysis with less manual reconstruction when the application changes. STRIDE can reuse that current structure for category-based analysis. PASTA can reuse the accumulated business and technical context for renewed risk analysis. The seven Flywheel agents do not correspond to PASTA’s seven stages.

Choosing a threat modeling tool: methodology coverage vs. workflow capability

Buyers should evaluate methodology coverage and workflow capability as separate product requirements. A tool can provide a STRIDE template without keeping the resulting model current. Another tool can monitor engineering changes without implementing either STRIDE or PASTA.

Methodology coverage asks how the tool structures analysis. Confirm whether the product implements the full method or merely labels threats with its terminology. For STRIDE, test how the tool handles data flows, trust boundaries, and threat categories. For PASTA, test whether it supports business objectives, attack simulation, and risk scoring across all seven stages. Buyers should also inspect whether templates can be modified and whether generated findings remain traceable to their source or rationale.

Workflow capability asks how the model operates after creation. Test how architecture data enters the model, what changes trigger reassessment, and how findings reach developers. A useful demonstration should show work moving through issue tracking or pull request review and then returning as verified evidence. A one-time report does not provide the same value as a synchronized process, as the VerSprite enterprise buying guide notes.

ThreatModeler and IriusRisk show why buyers need both evaluations. IriusRisk now identifies itself as part of ThreatModeler, but the products entered the combination with different methodology positions. Independent comparison research describes IriusRisk as methodology-agnostic, with selectable STRIDE, PASTA, TRIKE, and OCTAVE templates. Separate research describes the legacy ThreatModeler product as centered on STRIDE and VAST. Current first-party product pages do not confirm those named methods across the combined offering, so buyers should require a live demonstration rather than rely on historical positioning.

The post-acquisition roadmap also remains a diligence issue. Public information does not explain whether the two products will converge or continue separately. Existing IriusRisk customers should request written terms covering methodology support, migration, licensing, data governance, and support continuity. The acquisition comparison documents these unresolved questions.

DevArmor occupies a different position on this map. DevArmor does not claim native STRIDE or PASTA support. Its confirmed capabilities instead address workflow continuity by maintaining current security context, connecting with Jira, GitHub, IDEs, and MCP, and enforcing policy during pull request review. Buyers can use those capabilities to operationalize decisions produced by either methodology, but they should not treat workflow support as evidence of methodology coverage.

FAQs

  • Is STRIDE or PASTA better for compliance-driven industries such as PCI DSS, HIPAA, or GDPR? PASTA usually fits assessments that must connect regulatory obligations with business impact, attack viability, and residual risk. STRIDE can identify design threats, but you must add compliance mapping and prioritization. Neither methodology proves compliance by itself.
  • Can STRIDE and PASTA be used together? Yes. You can apply STRIDE to components and data flows during PASTA’s decomposition and threat-analysis stages. PASTA then adds attacker context, weakness analysis, attack modeling, and business-impact prioritization. VerSprite describes the methods as complementary rather than mutually exclusive.
  • How does DREAD fit into a STRIDE or PASTA workflow? DREAD scores identified threats using damage, reproducibility, exploitability, affected users, and discoverability. You can apply it after STRIDE enumeration or within a broader PASTA assessment. DREAD scores can be subjective and do not capture business impact well, so they should support rather than replace risk analysis.
  • Do small teams need PASTA’s full seven stages? A small team reviewing a bounded architecture can often start with STRIDE. PASTA requires more analysis and documentation, which may be justified when business impact or credible attack paths must drive decisions. A team can borrow PASTA artifacts, but partial adoption should not be presented as a full PASTA implementation.
  • How often should a threat model be revisited? Review it whenever architecture, code, dependencies, data flows, threat intelligence, or business priorities change. A scheduled review can catch stale assumptions, but event-driven updates keep the model connected to development. PASTA guidance specifically recommends reassessment after meaningful changes.
  • Does either methodology natively cover AI agents and AI-generated code? No. You can apply STRIDE categories and PASTA stages to agent identities, tools, memory, permissions, and generated code. Both still need agent-specific analysis for nondeterministic behavior, agent-to-agent trust, and multi-step attack chains.

Conclusion

STRIDE and PASTA organize different kinds of analysis, but neither can compensate for incomplete architecture details, missing trust boundaries, or outdated threat information. As DevArmor explains, the information supplied to a threat model determines its quality.

A reliable model also needs active use. You must connect its findings to design decisions, security requirements, and implementation checks. Architecture changes, new dependencies, and emerging threats should trigger another review. After choosing a methodology, focus on building a living workflow that keeps the model current and turns its findings into engineering action.

Table of Contents

Subscribe