Get an attack pattern
The full CAPEC entry with mitigations and mappings.
GET/api/v1/capecs/{capecId}
The complete MITRE CAPEC entry: description and extended description, prerequisites, skills and resources, indicators, consequences, mitigations, examples, execution flow, taxonomy mappings, related weaknesses, and related attack patterns.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
capecId | path | string | Attack-pattern id, flexible form: 66 or CAPEC-66. |
fields | query | csv | Project the entry down to only these top-level fields. |
Example request
curl "https://radicalnotion.ai/api/v1/capecs/586" \
-H "Authorization: Bearer $RN_TOKEN"Example response
{
"id": "capec-586",
"display": "CAPEC-586",
"numeric_id": 586,
"name": "Object Injection",
"abstraction": "Meta",
"status": "Draft",
"severity": "High",
"likelihood": "Medium",
"description": "An adversary attempts to exploit an application by injecting additional, malicious content during its processing of serialized objects. Developers leverage serialization in order to convert data or state into a static, binary format for saving to disk or transferring over a network. These objects are then deserialized when needed to recover the data/state. By injecting a malformed object into a vulnerable application, an adversary can potentially compromise the application by manipulating the deserialization process. This can result in a number of unwanted outcomes, including remote code execution.",
"extended_description": [],
"execution_flow": [],
"prerequisites": [
"The target application must unserialize data before validation."
],
"skills": [],
"resources": [],
"indicators": [],
"consequences": [
{
"scopes": [
"Availability"
],
"impacts": [
"Resource Consumption"
],
"note": "If a function is making an assumption on when to terminate, based on a sentry in a string, it could easily never terminate and exhaust available resources."
},
{
"scopes": [
"Integrity"
],
"impacts": [
"Modify Data"
],
"note": "Attackers can modify objects or data that was assumed to be safe from modification."
},
{
"scopes": [
"Authorization"
],
"impacts": [
"Execute Unauthorized Commands"
],
"note": "Functions that assume information in the deserialized object is valid could be exploited."
}
],
"mitigations": [
"Implementation: Validate object before deserialization process",
"Design: Limit which types can be deserialized.",
"Implementation: Avoid having unnecessary types or gadgets available that can be leveraged for malicious ends. Use an allowlist of acceptable classes.",
"Implementation: Keep session state on the server, when possible."
],
"examples": [],
"alternate_terms": [],
"taxonomy_mappings": [],
"related_weaknesses": [
{
"id": "cwe-502",
"display": "CWE-502",
"name": "Deserialization of Untrusted Data"
}
],
"related_attack_patterns": [],
"catalog_version": "3.9",
"updated_at": "2026-06-01T14:54:08.866Z"
}Response schema
| Field | Type | Description |
|---|---|---|
id / display / numeric_id | string / string / integer | Attack-pattern identifier in three forms. |
name / description / extended_description | string / string / string[] | Name and prose. |
abstraction / status / severity / likelihood | string | null | Classification metadata. |
prerequisites / skills / resources / indicators / mitigations / examples / alternate_terms | string[] | object[] | Preconditions, defenses, and supporting detail. |
consequences[] | object[] | Impact scopes, impacts, and notes. |
execution_flow[] | object[] | Ordered attack steps, when documented. |
taxonomy_mappings[] / related_weaknesses[] / related_attack_patterns[] | object[] | Cross-references to taxonomies, CWEs, and CAPECs. |
catalog_version / updated_at | string | CAPEC catalog version and last update. |
Responses
| Status | Meaning |
|---|---|
200 | Success. |
400 | A path or query parameter failed validation. |
401 | Missing or invalid access token. |
429 | Rate limit exceeded. |