1+ {
2+ "$schema" : " https://json-schema.org/draft/2020-12/schema" ,
3+ "$id" : " https://cyclonedx.org/schema/2.0/model/cyclonedx-ai-ml-2.0.schema.json" ,
4+ "type" : " null" ,
5+ "title" : " CycloneDX Threat Model" ,
6+ "$comment" : " OWASP CycloneDX is an Ecma International standard (ECMA-424) developed in collaboration between the OWASP Foundation and Ecma Technical Committee 54 (TC54). The standard is published under a royalty-free patent policy. This JSON schema is the reference implementation and is licensed under the Apache License 2.0." ,
7+ "$defs" : {
8+ "designConsiderations" : {
9+ "type" : " object" ,
10+ "properties" : {
11+ "users" : {
12+ "$comment" : " Attempting to reuse actor defn." ,
13+ "$todos" : [
14+ " Discuss moving actor from blueprints to common" ,
15+ " Add externalReferences to actor as these may be defined by external orgs. and their docs."
16+ ],
17+ "type" : " array" ,
18+ "title" : " Users" ,
19+ "description" : " List users the model is designed for." ,
20+ "uniqueItems" : true ,
21+ "items" : {
22+ "$ref" : " cyclonedx-blueprint-2.0.schema.json$defs/actor"
23+ }
24+ },
25+ "useCases" : {
26+ "$comment" : " " ,
27+ "$todos" : [
28+ " TODO"
29+ ],
30+ "$ref" : " cyclonedx-usecase-2.0.schema.json#/$defs/useCases" ,
31+ "title" : " User cases" ,
32+ "description" : " Lists use cases the model was designed for."
33+ },
34+ "technicalLimitations" : {
35+ "$comment" : " " ,
36+ "$ref" : " " ,
37+ "description" : " "
38+ },
39+ "performanceTradeoffs" : {
40+ "$comment" : " " ,
41+ "$ref" : " " ,
42+ "description" : " "
43+ },
44+ "ethicalConsiderations" : {
45+ "$comment" : " " ,
46+ "$ref" : " " ,
47+ "description" : " "
48+ },
49+ "environmentalConsiderations" : {
50+ "$comment" : " " ,
51+ "$ref" : " " ,
52+ "description" : " "
53+ },
54+ "fairnessAssessments" : {
55+ "$comment" : " " ,
56+ "$ref" : " " ,
57+ "description" : " "
58+ }
59+ }
60+ },
61+ "riskGroup" : {
62+ "type" : " object" ,
63+ "$comment" : " Leverages risk schema's riskDomain (incl. type, description and priority)." ,
64+ "$todos" : [
65+ " Verify riskDomain type enum. has all the values we need for EU AI Act."
66+ ],
67+ "description" : " Provides a means of expressing a design, runtime or other consideration for a specific aspect of the model." ,
68+ "additionalProperties" : false ,
69+ "required" : [
70+ " groupName"
71+ ],
72+ "allOf" : [
73+ {
74+ "$ref" : " cyclonedx-risk-2.0.schema.json/$defs/riskDomain"
75+ }
76+ ],
77+ "properties" : {
78+ "groupName" : {
79+ "type" : " string" ,
80+ "title" : " Group Name" ,
81+ "description" : " The name of the group at risk."
82+ },
83+ "externalReferences" : {
84+ "type" : " array" ,
85+ "description" : " references to external resources that describe the risk group." ,
86+ "items" : {
87+ "$ref" : " cyclonedx-common-2.0.schema.json#/$defs/externalReference"
88+ }
89+ },
90+ "properties" : {
91+ "description" : " Properties of the risk group." ,
92+ "$ref" : " cyclonedx-common-2.0.schema.json#/$defs/properties"
93+ }
94+ }
95+ },
96+ "considerations" : {
97+ "type" : " array" ,
98+ "bom-ref" : {
99+ "$ref" : " #/$defs/consideration"
100+ }
101+ },
102+ "consideration" : {
103+ "type" : " object" ,
104+ "$comment" : " Leverages risk schema" ,
105+ "description" : " Provides a means of expressing a design, runtime or other consideration for a specific aspect of the model." ,
106+ "required" : [
107+ " name"
108+ ],
109+ "additionalProperties" : false ,
110+ "properties" : {
111+ "name" : {
112+ "type" : " string" ,
113+ "title" : " Name" ,
114+ "description" : " TODO"
115+ },
116+ "description" : {
117+ "type" : " string" ,
118+ "title" : " Description" ,
119+ "description" : " TODO"
120+ },
121+ "groupsAtRisk" : {
122+ "type" : " array" ,
123+ "title" : " Groups At Risk" ,
124+ "description" : " The groups at risk of being systematically disadvantaged by the model." ,
125+ "items" : {
126+ "$ref" : " #/$defs/riskGroup"
127+ }
128+ },
129+ "externalReferences" : {
130+ "type" : " array" ,
131+ "items" : {
132+ "$ref" : " cyclonedx-common-2.0.schema.json#/$defs/externalReference"
133+ }
134+ },
135+ "properties" : {
136+ "$ref" : " cyclonedx-common-2.0.schema.json#/$defs/properties"
137+ }
138+ }
139+ },
140+ "foo" : {
141+ "type" : " object" ,
142+ "$comment" : " " ,
143+ "description" : " " ,
144+ "required" : [
145+ " name"
146+ ],
147+ "additionalProperties" : false ,
148+ "properties" : {
149+ "name" : " string"
150+ }
151+ },
152+ "trainingProfile" : {
153+ "type" : " object" ,
154+ "description" : " Reference to data and datasets used for training." ,
155+ "$comment" : " " ,
156+ "allOf" : [
157+ {
158+ "$ref" : " #/$defs/cyclonedx-data-2.0/$defs/dataProfile"
159+ }
160+ ]
161+ }
162+ }
163+ }
0 commit comments