Application teams know their weaknesses as CWE entries and their attackers as ATT&CK techniques, but threat modelling, test planning and developer training need the layer in between: how an attacker actually exploits a class of weakness. MITRE's Common Attack Pattern Enumeration and Classification (CAPEC) is that layer, a public catalogue of attack patterns such as SQL Injection (CAPEC-66), Cross-Site Scripting (CAPEC-63) and Credential Stuffing (CAPEC-600), each linked to the CWE weaknesses it exploits and, where relevant, to ATT&CK techniques. This guide explains how CAPEC is structured, how it differs from ATT&CK and CWE, how to use it in threat modelling, security requirements and penetration test scoping, and what its limits are, including the fact that the list has not been updated since version 3.9 in January 2023. It is for application security engineers, threat modellers, testers and security architects; it builds on the CWE Top 25 Guide rather than repeating it.
Key takeaways
- CAPEC describes how, CWE describes what. A CWE entry is a weakness in code or design; a CAPEC entry is the attacker's method for exploiting one or more such weaknesses, with prerequisites, skills, consequences and mitigations.
- Use the abstraction levels deliberately. Meta patterns (61 in version 3.9) suit architecture-level threat modelling; Standard (181) and Detailed (317) patterns suit test cases and code review.
- CAPEC complements ATT&CK rather than competing with it. MITRE describes CAPEC as focused on application security and ATT&CK as focused on network defence, and the two cross-reference each other.
- Most entries are still Draft. Of the 615 attack pattern objects in the 3.9 STIX release, 402 are marked Draft and only 154 Stable, so treat details as guidance, not specification.
- Check the mappings against current ATT&CK. Some ATT&CK references in CAPEC 3.9 point at techniques that ATT&CK v20 has since revoked, such as the old Impair Defenses sub-techniques.
What CAPEC is and where it came from
CAPEC's own site describes it as a "publicly available catalog of common attack patterns" that helps users understand how adversaries exploit weaknesses. It was established by the U.S. Department of Homeland Security as part of its Software Assurance strategic initiative and first released in 2007. MITRE maintains it alongside CWE.
- Current version: CAPEC List Version 3.9, released on 24 January 2023, and still the latest release on the CAPEC news page when checked on 27 October 2026.
- Size: the 3.9 STIX 2.1 release published in MITRE's CTI repository contains 615 attack pattern objects, of which 559 are not deprecated, plus 877 course-of-action (mitigation) objects linked to them by 1,172 relationships.
- Formats: the website, XML and CSV downloads on capec.mitre.org, and STIX 2.1 in the mitre/cti GitHub repository, which is the easiest format for tooling.
- Licence and cost: free to use, which is why many threat modelling tools and testing frameworks embed it.
How an attack pattern entry is structured
Every entry follows the same schema, which is what makes CAPEC useful for repeatable work. Taking CAPEC-66 SQL Injection as the example:
| Field | What it holds | CAPEC-66 in version 3.9 |
|---|---|---|
| Abstraction | Meta, Standard or Detailed | Standard |
| Status | Draft, Stable, Usable, Deprecated or Obsolete | Draft |
| Description | The pattern in a few sentences | Input that changes how the application constructs SQL statements |
| Likelihood of attack and typical severity | Qualitative ratings (Low to Very High) | High and High |
| Relationships | Parent and child patterns, can-precede and can-follow, peers | Child of a Meta injection pattern; parent of more specific variants |
| Execution flow | Explore, Experiment and Exploit phases (present in 239 non-deprecated entries) | Survey the application, identify injectable inputs, then exploit |
| Prerequisites, skills and resources | What the attacker needs | An application that builds SQL from user input |
| Consequences | Impact by scope: confidentiality, integrity, availability, access control, authorisation | Read and modify data, gain privileges, run commands |
| Mitigations | Linked course-of-action objects | Strong input validation, parameterised queries or stored procedures, custom error pages |
| Related weaknesses | CWE identifiers | CWE-89 and CWE-1286 |
| Taxonomy mappings | ATT&CK, WASC, OWASP Attacks | WASC 19 and the OWASP SQL Injection attack page |
Abstraction levels in practice
- Meta: broad methods such as CAPEC-112 Brute Force, CAPEC-94 Adversary in the Middle (AiTM), CAPEC-122 Privilege Abuse and CAPEC-21 Exploitation of Trusted Identifiers. Use them when the design is still a diagram.
- Standard: a specific technique, such as CAPEC-66 SQL Injection, CAPEC-62 Cross Site Request Forgery, CAPEC-664 Server Side Request Forgery or CAPEC-593 Session Hijacking. Use them for security requirements and test plans.
- Detailed: a pattern for a specific technology or variant. Use them for code review checklists and targeted tests.
How CAPEC relates to CWE, ATT&CK and CVE
MITRE's comparison page says CAPEC is "focused on application security", describing the techniques adversaries use to exploit known weaknesses, while ATT&CK is "focused on network defense", describing the operational phases of an intrusion before and after exploitation. It also notes that many CAPEC patterns are carried out through specific ATT&CK techniques and that the two efforts cross-reference each other.
| Catalogue | Unit | Answers | Typical user |
|---|---|---|---|
| CWE | Weakness type (CWE-89) | What is wrong in the code or design? | Developers, SAST tools, code reviewers |
| CAPEC | Attack pattern (CAPEC-66) | How would an attacker exploit that class of weakness, and what do they need? | Threat modellers, testers, security architects, trainers |
| ATT&CK | Technique (T1190) | What do real adversaries do across an intrusion? | SOC, detection engineers, threat intelligence, red teams |
| CVE | Specific vulnerability | Which product version has this flaw? | Vulnerability management |
In the 3.9 data, 450 of the 559 non-deprecated patterns reference at least one CWE and 177 reference at least one ATT&CK technique. The ATT&CK links cluster in credential, session and social engineering patterns, for example:
| CAPEC pattern | Related CWE (from CAPEC) | ATT&CK technique (from CAPEC, checked against v20) |
|---|---|---|
| CAPEC-600 Credential Stuffing | CWE-522, CWE-307, CWE-308 | T1110.004 Credential Stuffing |
| CAPEC-560 Use of Known Domain Credentials | CWE-522, CWE-307 | T1078 Valid Accounts |
| CAPEC-593 Session Hijacking | CWE-287 | T1185 Browser Session Hijacking, T1550.001 Application Access Token |
| CAPEC-94 Adversary in the Middle (AiTM) | CWE-300, CWE-290 | T1557 Adversary-in-the-Middle |
| CAPEC-98 Phishing | CWE-451 | T1566 Phishing |
| CAPEC-112 Brute Force | CWE-330, CWE-326, CWE-521 | T1110 Brute Force |
| CAPEC-66 SQL Injection | CWE-89, CWE-1286 | None recorded |
Injection and client-side patterns such as SQL Injection and XSS have no ATT&CK mapping in CAPEC; at the intrusion level they generally surface as T1190 Exploit Public-Facing Application. See the CVE, CWE and CPE Guide and the MITRE ATT&CK Guide for Defenders.
Navigating the catalogue
- Mechanisms of Attack view (view 1000): groups patterns by the technique used. Its top-level categories include Collect and Analyze Information (118), Inject Unexpected Items, Engage in Deceptive Interactions, Manipulate Timing and State, Abuse Existing Functionality, Employ Probabilistic Techniques, Subvert Access Control (225), Manipulate Data Structures and Manipulate System Resources.
- Domains of Attack view (view 3000): groups patterns by what is attacked. In the 3.9 data the non-deprecated patterns split into Software (345), Communications (93), Social Engineering (60), Supply Chain (41), Physical Security (15) and Hardware (4).
- From a weakness: CWE entries list related attack patterns, so a SAST finding can be traced to the CAPEC patterns that exploit it and from there to test cases.
- From an ATT&CK technique: ATT&CK technique pages cite CAPEC IDs where a mapping exists, which helps red teams turn an adversary technique into application-level test ideas.
- From your own findings: start with the CWE entries that recur in your SAST, DAST and penetration test results (the CWE Top 25 is a reasonable external benchmark), pull the CAPEC patterns linked to each, and check whether your threat models, requirements and tests cover them. This turns a list of past mistakes into a forward-looking test plan.
- Programmatically: load the STIX bundle, filter out deprecated entries, and index by abstraction, domain and related CWE; that is how most tools present CAPEC inside threat models.
Using CAPEC in threat modelling and requirements
CAPEC does not replace a threat modelling method such as STRIDE; it supplies concrete attacks for each threat category so models are less dependent on the modeller's memory. See the Threat Modelling Guide.
- Model the system: draw data flows, trust boundaries and the identities that cross them, including service accounts, API keys and tokens.
- Select candidate patterns: for each element, shortlist Meta and Standard patterns from the relevant domains (Software and Communications for most web systems; Social Engineering for support and help desk flows; Supply Chain for build and dependency paths).
- Filter by prerequisites: discard patterns whose prerequisites cannot hold in this design, and record why. This step is what makes the output defensible to reviewers.
- Rate in context: use CAPEC's likelihood and severity only as a starting point; rate against your own exposure, data and controls.
- Turn patterns into requirements: write each surviving pattern as a security requirement or abuse case, for example "the API rejects replayed session tokens (CAPEC-593)". See the Security Requirements and Abuse Cases Guide.
- Link verification: map each requirement to an OWASP ASVS 5.0 requirement or a test case so it is checked before release. See the OWASP ASVS Guide.
- Revisit on change: new trust boundaries, new identity types or new third-party integrations trigger a fresh pattern selection for the changed elements.
Choosing a level for the job
| Activity | Best CAPEC level | Why |
|---|---|---|
| Architecture review | Meta | Few enough to review exhaustively; technology-neutral |
| Security requirements and user stories | Standard | Specific enough to test, general enough to survive technology changes |
| Penetration test scoping | Standard and Detailed | Gives testers explicit coverage targets and a shared vocabulary for findings |
| Code review checklists and training | Detailed | Maps to specific languages, frameworks and CWE entries |
| Executive reporting | Meta or domain view | Shows breadth of coverage without technical detail |
Small teams and large programmes
A small team can get most of the value from a curated list of 30 to 50 Standard patterns relevant to its stack, used as a checklist in design reviews and penetration test scopes. A large programme should embed CAPEC in its threat modelling tool, link it to SAST and DAST findings through CWE, and report coverage by domain and mechanism across the application portfolio.
Using CAPEC in testing, training and measurement
- Penetration test scoping: list the CAPEC patterns in scope and ask testers to report results against them, which exposes untested areas. See the Penetration Test Scoping Checklist.
- Finding classification: tag each finding with CWE (the weakness) and CAPEC (the attack used), which separates design problems from coding problems in trend reports.
- Developer training: MITRE lists developer training and education as a CAPEC use case; teach the Standard patterns that match your recurring CWE findings. See the Developer Security Training Programme Guide.
- Bug bounty triage: classify reports by CAPEC pattern to see which attack classes external researchers find that internal testing misses.
Metrics
- Threat model coverage: percentage of in-scope applications with a current threat model that records CAPEC patterns considered and discarded.
- Requirement traceability: share of selected patterns with a linked requirement and a passing test.
- Test coverage: CAPEC patterns in scope versus patterns actually exercised in the last penetration test.
- Recurrence: repeat findings per CAPEC pattern per quarter, which shows whether training and guardrails work.
- Escape rate: production incidents or bounty reports whose pattern was in the threat model but not tested.
Where identity fits
Many of the most used patterns are identity attacks: CAPEC-600 Credential Stuffing, CAPEC-560 Use of Known Domain Credentials, CAPEC-593 Session Hijacking, CAPEC-196 Session Credential Falsification through Forging and CAPEC-21 Exploitation of Trusted Identifiers. In threat models, apply them to non-human identities as well as users: API keys in clients, service-to-service tokens, CI credentials and agent identities are trusted identifiers too. See the OWASP NHI Top 10 NHI4 Insecure Authentication Guide.
Framework mapping
| Framework | Where CAPEC helps |
|---|---|
| NIST SP 800-53 Rev. 5 | SA-11(2) Threat Modeling and Vulnerability Analyses, SA-8 Security and Privacy Engineering Principles, SA-15 Development Process, Standards, and Tools, RA-3 Risk Assessment, PM-16 Threat Awareness Program |
| NIST CSF 2.0 | ID.RA-03 (threats identified and recorded), PR.PS-06 (secure software development practices), ID.RA-01 (vulnerabilities identified) |
| OWASP ASVS 5.0 | Verification requirements that confirm a pattern is mitigated |
| CIS Controls v8.1 | Control 16 Application Software Security, Control 18 Penetration Testing |
| MITRE ATT&CK | Cross-references for the 177 patterns that map to techniques; T1190 for most application exploitation |
Common failure patterns
- Using CAPEC as a checklist without prerequisites: teams list hundreds of patterns, rate none of them in context and produce a threat model nobody reads. Filter by prerequisites first.
- Trusting stale cross-references: CAPEC 3.9 still references eight Impair Defenses sub-techniques and the DLL Side-Loading sub-technique, all of which ATT&CK v20 has revoked. Check every ATT&CK ID against the current release before putting it in a report.
- Treating ratings as risk scores: CAPEC's likelihood and severity are generic and are missing for many entries (214 non-deprecated entries have no likelihood rating). They are not a substitute for your own risk assessment.
- Stopping at the weakness: fixing a CWE finding without asking which CAPEC patterns exploit it misses sibling attacks. In the McKinsey Lilli platform exposure, values were parameterised but JSON field names were concatenated into SQL on an unauthenticated endpoint; a review against CAPEC-66 and its prerequisites, rather than a single "use parameters" rule, would have covered the field names too.
- Ignoring the missing domains: CAPEC predates agentic AI and has little on prompt injection or model abuse. Pair it with MITRE ATLAS and the OWASP LLM Top 10 for AI systems. See the MITRE ATLAS Guide.
- Assuming the list is current: with no release since January 2023, new attack classes will not appear; track the CAPEC news page and supplement from ATT&CK, ATLAS and OWASP.
Practitioner checklist
- Load the CAPEC 3.9 STIX bundle into your threat modelling or test tooling and filter out deprecated entries.
- Build a curated list of Standard patterns for your main technology stacks.
- Record in every threat model which patterns were considered, which were discarded and why.
- Write a security requirement or abuse case for each pattern that survives, linked to an ASVS requirement or test.
- Tag penetration test and SAST findings with both CWE and CAPEC.
- Validate every CAPEC to ATT&CK reference against the current ATT&CK release before reporting it.
- Apply identity patterns to service accounts, API keys and agent identities, not only to users.
- Supplement CAPEC with ATLAS and OWASP LLM guidance for AI systems, and check the CAPEC news page for new releases.
Standards and references
- MITRE CAPEC: About CAPEC
- MITRE CAPEC: ATT&CK and CAPEC comparison
- MITRE CAPEC: News and releases
- MITRE CAPEC: SQL Injection (CAPEC-66)
- MITRE CAPEC: Mechanisms of Attack view (1000)
- MITRE: Cyber Threat Intelligence repository (CAPEC STIX 2.1)
- MITRE: Common Weakness Enumeration
- OWASP: Application Security Verification Standard 5.0
Related NHI Mgmt Group resources: CWE Top 25 Guide · Threat Modelling Guide · MITRE ATT&CK Guide for Defenders · Penetration Testing Guide · Secure Code Review Guide