Skip to content

Commit e8f7aba

Browse files
committed
adressed comments and reviewed further the schema
1 parent 7a04e95 commit e8f7aba

File tree

3 files changed

+99
-20
lines changed

3 files changed

+99
-20
lines changed

schema/2.0/model/cyclonedx-blueprint-2.0.schema.json

Lines changed: 50 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,63 @@
8181
},
8282
"description": "Data, control, or process flows between assets"
8383
},
84+
"actors": {
85+
"type": "array",
86+
"items": {
87+
"$ref": "#/$defs/actor"
88+
},
89+
"description": "Human or system actors involved in the model, distinct from assets"
90+
},
8491
"assumptions": {
8592
"type": "array",
8693
"items": {
8794
"$ref": "#/$defs/assumption"
8895
},
8996
"description": "Assumptions made during the modeling process"
9097
},
98+
"actor": {
99+
"type": "object",
100+
"required": ["bom-ref", "name", "type"],
101+
"additionalProperties": false,
102+
"properties": {
103+
"bom-ref": {
104+
"$ref": "cyclonedx-common-2.0.schema.json#/$defs/refType",
105+
"description": "Unique identifier for the actor"
106+
},
107+
"name": {
108+
"type": "string",
109+
"description": "Name or title of the actor"
110+
},
111+
"description": {
112+
"type": "string",
113+
"description": "Narrative describing the actor's role and context"
114+
},
115+
"type": {
116+
"type": "string",
117+
"enum": ["user", "engineer", "administrator", "operator", "system", "external"],
118+
"description": "Classification of the actor",
119+
"meta:enum": {
120+
"user": "End user of a client application or service",
121+
"engineer": "Developer or platform/DevOps engineer",
122+
"administrator": "Administrative or privileged operator",
123+
"operator": "Operational staff running the system",
124+
"system": "Automated system actor or service account",
125+
"external": "Third-party or external entity"
126+
}
127+
},
128+
"permissions": {
129+
"type": "string",
130+
"description": "Key permissions, capabilities, or duties the actor holds"
131+
},
132+
"trustZone": {
133+
"$ref": "cyclonedx-common-2.0.schema.json#/$defs/refType",
134+
"description": "Reference to the trust zone where the actor resides"
135+
},
136+
"properties": {
137+
"$ref": "cyclonedx-common-2.0.schema.json#/$defs/properties"
138+
}
139+
}
140+
},
91141
"visualizations": {
92142
"type": "array",
93143
"items": {
@@ -335,8 +385,6 @@
335385
"compliance",
336386
"risk",
337387
"stakeholder",
338-
"use-case",
339-
"abuse-case",
340388
"design-review",
341389
"custom"
342390
],
@@ -357,8 +405,6 @@
357405
"compliance": "Regulatory compliance perspective",
358406
"risk": "Risk management perspective",
359407
"stakeholder": "General stakeholder perspective",
360-
"use-case": "A high level persepctive that captures the data-flows of the use case, rather than deep granularity of systems",
361-
"abuse-case": "A high level persepctive that captures the data-flows of a certain abuse case, rather than deep granularity of systems",
362408
"custom": "Custom or other perspective"
363409
}
364410
},

schema/2.0/model/cyclonedx-risk-2.0.schema.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@
159159
"type": "string",
160160
"enum": ["threat", "vulnerability", "weakness", "risk", "incident", "opportunity", "hazard"],
161161
"meta:enum": {
162-
"threat": "Security threat scenario",
162+
"threat": "Threat scenario",
163163
"vulnerability": "Exploitable vulnerability",
164164
"weakness": "System or design weakness",
165165
"risk": "General risk scenario",

schema/2.0/model/cyclonedx-threat-2.0.schema.json

Lines changed: 48 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,13 @@
2626
"attackPattern": {
2727
"$ref": "#/$defs/attackPatternReference"
2828
},
29+
"abuseCases": {
30+
"type": "array",
31+
"items": {
32+
"$ref": "#/$defs/abuseCase"
33+
},
34+
"description": "Abuse or misuse cases that illustrate how this threat can be exercised"
35+
},
2936
"weakness": {
3037
"$ref": "#/$defs/weaknessReference"
3138
},
@@ -174,11 +181,6 @@
174181
},
175182
"description": "Primary motivations"
176183
},
177-
"capability": {
178-
"type": "string",
179-
"enum": ["minimal", "limited", "moderate", "significant", "advanced"],
180-
"description": "Overall capability level"
181-
},
182184
"intent": {
183185
"type": "string",
184186
"enum": ["accidental", "opportunistic", "targeted", "persistent"],
@@ -219,7 +221,10 @@
219221
},
220222
"complexity": {
221223
"type": "string",
222-
"enum": ["low", "high"],
224+
"enum": [
225+
"low",
226+
"high"
227+
],
223228
"description": "Attack complexity"
224229
},
225230
"privileges": {
@@ -239,6 +244,42 @@
239244
}
240245
}
241246
},
247+
"abuseCase": {
248+
"type": "object",
249+
"required": ["bom-ref", "name"],
250+
"additionalProperties": false,
251+
"properties": {
252+
"bom-ref": {
253+
"$ref": "cyclonedx-common-2.0.schema.json#/$defs/refType"
254+
},
255+
"name": {
256+
"type": "string",
257+
"description": "Name of the abuse case"
258+
},
259+
"description": {
260+
"type": "string",
261+
"description": "Narrative describing how the system can be misused or abused"
262+
},
263+
"abuser": {
264+
"$ref": "cyclonedx-common-2.0.schema.json#/$defs/refType",
265+
"description": "Reference (bom-ref) to a threat actor involved in the abuse case"
266+
},
267+
"targets": {
268+
"type": "array",
269+
"items": {
270+
"$ref": "cyclonedx-common-2.0.schema.json#/$defs/refType"
271+
},
272+
"description": "References (bom-refs) to assets or flows targeted in this abuse case"
273+
},
274+
"steps": {
275+
"type": "array",
276+
"items": {
277+
"type": "string"
278+
},
279+
"description": "Ordered steps the abuser follows"
280+
}
281+
}
282+
},
242283
"attackPattern": {
243284
"type": "object",
244285
"required": ["bom-ref", "name"],
@@ -259,14 +300,6 @@
259300
"type": "string",
260301
"description": "Description of the attack pattern"
261302
},
262-
"severity": {
263-
"$ref": "cyclonedx-risk-2.0.schema.json#/$defs/severity"
264-
},
265-
"likelihood": {
266-
"type": "string",
267-
"enum": ["low", "medium", "high"],
268-
"description": "Likelihood of this pattern being used"
269-
},
270303
"prerequisites": {
271304
"type": "array",
272305
"items": {
@@ -768,4 +801,4 @@
768801
}
769802
}
770803
}
771-
}
804+
}

0 commit comments

Comments
 (0)