@agent-ix/spec-objects-security 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/manifest.yaml +45 -68
- package/package.json +2 -2
- package/schemas/Asset.json +10 -10
- package/schemas/AttackSurface.json +7 -7
- package/schemas/AuditEvent.json +7 -7
- package/schemas/AuditFinding.json +9 -9
- package/schemas/AuthFlow.json +7 -7
- package/schemas/ConfidentialityLevel.json +1 -1
- package/schemas/Control.json +10 -10
- package/schemas/ControlEffectiveness.json +1 -1
- package/schemas/ControlMapping.json +1 -1
- package/schemas/CorsPolicy.json +4 -4
- package/schemas/CsrfToken.json +6 -6
- package/schemas/DataClassification.json +8 -8
- package/schemas/DefaultedField.json +2 -2
- package/schemas/EffectivenessField.json +1 -1
- package/schemas/EncryptionKey.json +11 -11
- package/schemas/FindingStatus.json +1 -1
- package/schemas/FlowStep.json +3 -3
- package/schemas/IdentityField.json +1 -1
- package/schemas/Impact.json +1 -1
- package/schemas/ImpactField.json +1 -1
- package/schemas/JwtClaim.json +7 -7
- package/schemas/LevelField.json +1 -1
- package/schemas/Likelihood.json +1 -1
- package/schemas/LikelihoodField.json +1 -1
- package/schemas/MfaFactorKind.json +1 -1
- package/schemas/MfaMethod.json +8 -8
- package/schemas/OccurrenceField.json +2 -2
- package/schemas/OccurrenceTypeRef.json +1 -1
- package/schemas/PasswordPolicy.json +4 -4
- package/schemas/Permission.json +7 -7
- package/schemas/Policy.json +6 -6
- package/schemas/Risk.json +11 -11
- package/schemas/Role.json +7 -7
- package/schemas/Scope.json +6 -6
- package/schemas/Secret.json +11 -11
- package/schemas/SecretLifecycle.json +1 -1
- package/schemas/SessionConfig.json +5 -5
- package/schemas/Severity.json +1 -1
- package/schemas/SeverityField.json +1 -1
- package/schemas/StatusField.json +1 -1
- package/schemas/StrideCategory.json +1 -1
- package/schemas/StrideCategoryField.json +1 -1
- package/schemas/Threat.json +9 -9
- package/schemas/TrustBoundary.json +9 -9
- package/schemas/TrustLevel.json +1 -1
- package/schemas/TrustLevelField.json +1 -1
- package/schemas/Vulnerability.json +9 -9
- package/schemas/toolchain.json +0 -97
package/manifest.yaml
CHANGED
|
@@ -4,7 +4,7 @@ version: 0.2.0
|
|
|
4
4
|
description: 'Filament Module: tier-2 security and identity ObjectTypes (threats, controls, auth flows, secrets, policies)'
|
|
5
5
|
semantic:
|
|
6
6
|
contract_version: 1.0.0
|
|
7
|
-
semantic_core: 0.3.
|
|
7
|
+
semantic_core: 0.3.2
|
|
8
8
|
package: agent-ix/spec-objects-security
|
|
9
9
|
exports:
|
|
10
10
|
- auth_flow
|
|
@@ -55,7 +55,6 @@ object_types:
|
|
|
55
55
|
references: [auth_flow]
|
|
56
56
|
data_schema:
|
|
57
57
|
schema: schemas/AuthFlow.json
|
|
58
|
-
digest: sha256:3e0bf1f277ead76fe354693c49563ffd73c990086822ac8b8ad91225589d9e49
|
|
59
58
|
body_extraction:
|
|
60
59
|
yield_pattern:
|
|
61
60
|
match:
|
|
@@ -79,7 +78,7 @@ object_types:
|
|
|
79
78
|
after_heading: Flow
|
|
80
79
|
required: true
|
|
81
80
|
language: mermaid
|
|
82
|
-
#
|
|
81
|
+
# FR-005: the `## Operations` subsections.
|
|
83
82
|
operations:
|
|
84
83
|
from: section_body
|
|
85
84
|
after_heading: Operations
|
|
@@ -91,7 +90,6 @@ object_types:
|
|
|
91
90
|
references: [role]
|
|
92
91
|
data_schema:
|
|
93
92
|
schema: schemas/Permission.json
|
|
94
|
-
digest: sha256:fbe12967f34580936a83f496ca51f7f879c01affaa39c66988d724de169e1220
|
|
95
93
|
body_extraction:
|
|
96
94
|
yield_pattern:
|
|
97
95
|
match:
|
|
@@ -108,8 +106,8 @@ object_types:
|
|
|
108
106
|
path:
|
|
109
107
|
- verb
|
|
110
108
|
required: true
|
|
111
|
-
#
|
|
112
|
-
# semantic layer reads. Optional, so
|
|
109
|
+
# FR-005: the typed `## Properties` table the
|
|
110
|
+
# semantic layer reads. Optional, so existing artifacts stay valid.
|
|
113
111
|
properties:
|
|
114
112
|
from: section_body
|
|
115
113
|
after_heading: Properties
|
|
@@ -119,7 +117,6 @@ object_types:
|
|
|
119
117
|
references: [permission]
|
|
120
118
|
data_schema:
|
|
121
119
|
schema: schemas/Scope.json
|
|
122
|
-
digest: sha256:8d68d19fc7950d9a17b3d0e757e276689a002d15316133e9d774f220c0af52d2
|
|
123
120
|
body_extraction:
|
|
124
121
|
yield_pattern:
|
|
125
122
|
match:
|
|
@@ -130,8 +127,8 @@ object_types:
|
|
|
130
127
|
from: section_body
|
|
131
128
|
after_heading: Grants
|
|
132
129
|
required: true
|
|
133
|
-
#
|
|
134
|
-
# semantic layer reads. Optional, so
|
|
130
|
+
# FR-005: the typed `## Properties` table the
|
|
131
|
+
# semantic layer reads. Optional, so existing artifacts stay valid.
|
|
135
132
|
properties:
|
|
136
133
|
from: section_body
|
|
137
134
|
after_heading: Properties
|
|
@@ -142,7 +139,6 @@ object_types:
|
|
|
142
139
|
references: [role]
|
|
143
140
|
data_schema:
|
|
144
141
|
schema: schemas/Role.json
|
|
145
|
-
digest: sha256:407a81699de5fea5f1a7868b456216afa99201f82bbe11f1c6203784c1ee7e33
|
|
146
142
|
body_extraction:
|
|
147
143
|
yield_pattern:
|
|
148
144
|
match:
|
|
@@ -153,8 +149,8 @@ object_types:
|
|
|
153
149
|
from: section_body
|
|
154
150
|
after_heading: Permissions
|
|
155
151
|
required: true
|
|
156
|
-
#
|
|
157
|
-
# semantic layer reads. Optional, so
|
|
152
|
+
# FR-005: the typed `## Properties` table the
|
|
153
|
+
# semantic layer reads. Optional, so existing artifacts stay valid.
|
|
158
154
|
properties:
|
|
159
155
|
from: section_body
|
|
160
156
|
after_heading: Properties
|
|
@@ -165,7 +161,6 @@ object_types:
|
|
|
165
161
|
references: [secret]
|
|
166
162
|
data_schema:
|
|
167
163
|
schema: schemas/Secret.json
|
|
168
|
-
digest: sha256:2d06ce2ad6ea0a23014a301529a4caa1691a3757ed9f4b4b5dc3f9b559fd1586
|
|
169
164
|
body_extraction:
|
|
170
165
|
yield_pattern:
|
|
171
166
|
match:
|
|
@@ -176,8 +171,8 @@ object_types:
|
|
|
176
171
|
from: section_body
|
|
177
172
|
after_heading: Rotation
|
|
178
173
|
required: true
|
|
179
|
-
#
|
|
180
|
-
# semantic layer reads. Optional, so
|
|
174
|
+
# FR-005: the typed `## Properties` table the
|
|
175
|
+
# semantic layer reads. Optional, so existing artifacts stay valid.
|
|
181
176
|
properties:
|
|
182
177
|
from: section_body
|
|
183
178
|
after_heading: Properties
|
|
@@ -188,7 +183,6 @@ object_types:
|
|
|
188
183
|
encrypts: [sensitive, data_classification]
|
|
189
184
|
data_schema:
|
|
190
185
|
schema: schemas/EncryptionKey.json
|
|
191
|
-
digest: sha256:171b8ffdececb9061db539f4a4bbc410df6f76494bb53819728cc610f41eb54c
|
|
192
186
|
body_extraction:
|
|
193
187
|
yield_pattern:
|
|
194
188
|
match:
|
|
@@ -205,8 +199,8 @@ object_types:
|
|
|
205
199
|
path:
|
|
206
200
|
- rotation
|
|
207
201
|
required: false
|
|
208
|
-
#
|
|
209
|
-
# semantic layer reads. Optional, so
|
|
202
|
+
# FR-005: the typed `## Properties` table the
|
|
203
|
+
# semantic layer reads. Optional, so existing artifacts stay valid.
|
|
210
204
|
properties:
|
|
211
205
|
from: section_body
|
|
212
206
|
after_heading: Properties
|
|
@@ -216,7 +210,6 @@ object_types:
|
|
|
216
210
|
references: [auth_flow, jwt_claim]
|
|
217
211
|
data_schema:
|
|
218
212
|
schema: schemas/SessionConfig.json
|
|
219
|
-
digest: sha256:125c2d9668ecc9cc031950916069754a33a315b33c6c9069151da8c651def4fd
|
|
220
213
|
body_extraction:
|
|
221
214
|
yield_pattern:
|
|
222
215
|
match:
|
|
@@ -227,7 +220,7 @@ object_types:
|
|
|
227
220
|
from: section_body
|
|
228
221
|
after_heading: Settings
|
|
229
222
|
required: true
|
|
230
|
-
#
|
|
223
|
+
# FR-005: the `## Invariants` OCL clauses.
|
|
231
224
|
invariants:
|
|
232
225
|
from: section_body
|
|
233
226
|
after_heading: Invariants
|
|
@@ -238,7 +231,6 @@ object_types:
|
|
|
238
231
|
references: [data_classification]
|
|
239
232
|
data_schema:
|
|
240
233
|
schema: schemas/DataClassification.json
|
|
241
|
-
digest: sha256:32e1217369954ee17b09fa4aba8b02a062fa2a432f124dd99f87db468f87b9ec
|
|
242
234
|
body_extraction:
|
|
243
235
|
yield_pattern:
|
|
244
236
|
match:
|
|
@@ -249,8 +241,8 @@ object_types:
|
|
|
249
241
|
from: section_body
|
|
250
242
|
after_heading: Handling
|
|
251
243
|
required: true
|
|
252
|
-
#
|
|
253
|
-
# semantic layer reads. Optional, so
|
|
244
|
+
# FR-005: the typed `## Properties` table the
|
|
245
|
+
# semantic layer reads. Optional, so existing artifacts stay valid.
|
|
254
246
|
properties:
|
|
255
247
|
from: section_body
|
|
256
248
|
after_heading: Properties
|
|
@@ -261,7 +253,6 @@ object_types:
|
|
|
261
253
|
references: [trust_boundary]
|
|
262
254
|
data_schema:
|
|
263
255
|
schema: schemas/TrustBoundary.json
|
|
264
|
-
digest: sha256:0069a8d8e1dae0353bbb5446983138a6ac6be2aba5cb0bc93e195d284372ef84
|
|
265
256
|
body_extraction:
|
|
266
257
|
yield_pattern:
|
|
267
258
|
match:
|
|
@@ -273,13 +264,13 @@ object_types:
|
|
|
273
264
|
after_heading: Boundary
|
|
274
265
|
required: true
|
|
275
266
|
language: mermaid
|
|
276
|
-
#
|
|
277
|
-
# semantic layer reads. Optional, so
|
|
267
|
+
# FR-005: the typed `## Properties` table the
|
|
268
|
+
# semantic layer reads. Optional, so existing artifacts stay valid.
|
|
278
269
|
properties:
|
|
279
270
|
from: section_body
|
|
280
271
|
after_heading: Properties
|
|
281
272
|
required: false
|
|
282
|
-
#
|
|
273
|
+
# FR-005: the `## Invariants` OCL clauses.
|
|
283
274
|
invariants:
|
|
284
275
|
from: section_body
|
|
285
276
|
after_heading: Invariants
|
|
@@ -290,7 +281,6 @@ object_types:
|
|
|
290
281
|
references: [audit_event]
|
|
291
282
|
data_schema:
|
|
292
283
|
schema: schemas/AuditEvent.json
|
|
293
|
-
digest: sha256:bd4fed5dc4d80f9041b368d151789d9b2c2a39b4c72f1c1c71a30820b70f52ec
|
|
294
284
|
body_extraction:
|
|
295
285
|
yield_pattern:
|
|
296
286
|
match:
|
|
@@ -302,8 +292,8 @@ object_types:
|
|
|
302
292
|
after_heading: Event Schema
|
|
303
293
|
required: true
|
|
304
294
|
language: json
|
|
305
|
-
#
|
|
306
|
-
# semantic layer reads. Optional, so
|
|
295
|
+
# FR-005: the typed `## Properties` table the
|
|
296
|
+
# semantic layer reads. Optional, so existing artifacts stay valid.
|
|
307
297
|
properties:
|
|
308
298
|
from: section_body
|
|
309
299
|
after_heading: Properties
|
|
@@ -314,7 +304,6 @@ object_types:
|
|
|
314
304
|
references: [csrf_token]
|
|
315
305
|
data_schema:
|
|
316
306
|
schema: schemas/CsrfToken.json
|
|
317
|
-
digest: sha256:7abfff62af262c21376408e97faa1fc1546df2a9954c59aae5af25ee9469c254
|
|
318
307
|
body_extraction:
|
|
319
308
|
yield_pattern:
|
|
320
309
|
match:
|
|
@@ -326,8 +315,8 @@ object_types:
|
|
|
326
315
|
path:
|
|
327
316
|
- rotation_window
|
|
328
317
|
required: true
|
|
329
|
-
#
|
|
330
|
-
# semantic layer reads. Optional, so
|
|
318
|
+
# FR-005: the typed `## Properties` table the
|
|
319
|
+
# semantic layer reads. Optional, so existing artifacts stay valid.
|
|
331
320
|
properties:
|
|
332
321
|
from: section_body
|
|
333
322
|
after_heading: Properties
|
|
@@ -337,7 +326,6 @@ object_types:
|
|
|
337
326
|
references: [cors_policy]
|
|
338
327
|
data_schema:
|
|
339
328
|
schema: schemas/CorsPolicy.json
|
|
340
|
-
digest: sha256:55b8cb1c09cc43d8daa6aa7c461d3ede2f8c600d51f5c74cff0facfed0fe1af3
|
|
341
329
|
body_extraction:
|
|
342
330
|
yield_pattern:
|
|
343
331
|
match:
|
|
@@ -348,7 +336,7 @@ object_types:
|
|
|
348
336
|
from: section_body
|
|
349
337
|
after_heading: Origins
|
|
350
338
|
required: true
|
|
351
|
-
#
|
|
339
|
+
# FR-005: the `## Invariants` OCL clauses.
|
|
352
340
|
invariants:
|
|
353
341
|
from: section_body
|
|
354
342
|
after_heading: Invariants
|
|
@@ -358,7 +346,6 @@ object_types:
|
|
|
358
346
|
references: [password_policy]
|
|
359
347
|
data_schema:
|
|
360
348
|
schema: schemas/PasswordPolicy.json
|
|
361
|
-
digest: sha256:3deb79e250c2ee75b380a5c50c0f2942b9fa4d7207c8b2b5b2bce1bd8aad408f
|
|
362
349
|
body_extraction:
|
|
363
350
|
yield_pattern:
|
|
364
351
|
match:
|
|
@@ -369,7 +356,7 @@ object_types:
|
|
|
369
356
|
from: section_body
|
|
370
357
|
after_heading: Rules
|
|
371
358
|
required: true
|
|
372
|
-
#
|
|
359
|
+
# FR-005: the `## Invariants` OCL clauses.
|
|
373
360
|
invariants:
|
|
374
361
|
from: section_body
|
|
375
362
|
after_heading: Invariants
|
|
@@ -379,7 +366,6 @@ object_types:
|
|
|
379
366
|
references: [mfa_method]
|
|
380
367
|
data_schema:
|
|
381
368
|
schema: schemas/MfaMethod.json
|
|
382
|
-
digest: sha256:89797c934801cba2523b6d79c2ec746cdb79d18b3e071a3693e37fb0fea04064
|
|
383
369
|
body_extraction:
|
|
384
370
|
yield_pattern:
|
|
385
371
|
match:
|
|
@@ -396,8 +382,8 @@ object_types:
|
|
|
396
382
|
path:
|
|
397
383
|
- factor
|
|
398
384
|
required: false
|
|
399
|
-
#
|
|
400
|
-
# semantic layer reads. Optional, so
|
|
385
|
+
# FR-005: the typed `## Properties` table the
|
|
386
|
+
# semantic layer reads. Optional, so existing artifacts stay valid.
|
|
401
387
|
properties:
|
|
402
388
|
from: section_body
|
|
403
389
|
after_heading: Properties
|
|
@@ -408,7 +394,6 @@ object_types:
|
|
|
408
394
|
references: [jwt_claim]
|
|
409
395
|
data_schema:
|
|
410
396
|
schema: schemas/JwtClaim.json
|
|
411
|
-
digest: sha256:7c38c084af9264b74dfa135e11825a0f09211664b325093e632521155c006321
|
|
412
397
|
body_extraction:
|
|
413
398
|
yield_pattern:
|
|
414
399
|
match:
|
|
@@ -420,8 +405,8 @@ object_types:
|
|
|
420
405
|
after_heading: Schema
|
|
421
406
|
required: true
|
|
422
407
|
language: json
|
|
423
|
-
#
|
|
424
|
-
# semantic layer reads. Optional, so
|
|
408
|
+
# FR-005: the typed `## Properties` table the
|
|
409
|
+
# semantic layer reads. Optional, so existing artifacts stay valid.
|
|
425
410
|
properties:
|
|
426
411
|
from: section_body
|
|
427
412
|
after_heading: Properties
|
|
@@ -432,7 +417,6 @@ object_types:
|
|
|
432
417
|
exploits: [vulnerability]
|
|
433
418
|
data_schema:
|
|
434
419
|
schema: schemas/Threat.json
|
|
435
|
-
digest: sha256:7103325eae471a7d8f8cf345b91297e89a169eaf9ee6f69b9925badc07b74046
|
|
436
420
|
body_extraction:
|
|
437
421
|
yield_pattern:
|
|
438
422
|
match:
|
|
@@ -461,8 +445,8 @@ object_types:
|
|
|
461
445
|
path:
|
|
462
446
|
- vector
|
|
463
447
|
required: true
|
|
464
|
-
#
|
|
465
|
-
# semantic layer reads. Optional, so
|
|
448
|
+
# FR-005: the typed `## Properties` table the
|
|
449
|
+
# semantic layer reads. Optional, so existing artifacts stay valid.
|
|
466
450
|
properties:
|
|
467
451
|
from: section_body
|
|
468
452
|
after_heading: Properties
|
|
@@ -474,7 +458,6 @@ object_types:
|
|
|
474
458
|
protects: [externally-exposed, asset]
|
|
475
459
|
data_schema:
|
|
476
460
|
schema: schemas/Control.json
|
|
477
|
-
digest: sha256:1ae3e01ec7d15725eb6bc179d75b583ebe5794a8724c08811cfaa8b0a013eacd
|
|
478
461
|
body_extraction:
|
|
479
462
|
yield_pattern:
|
|
480
463
|
match:
|
|
@@ -485,13 +468,13 @@ object_types:
|
|
|
485
468
|
from: section_body
|
|
486
469
|
after_heading: Mappings
|
|
487
470
|
required: true
|
|
488
|
-
#
|
|
489
|
-
# semantic layer reads. Optional, so
|
|
471
|
+
# FR-005: the typed `## Properties` table the
|
|
472
|
+
# semantic layer reads. Optional, so existing artifacts stay valid.
|
|
490
473
|
properties:
|
|
491
474
|
from: section_body
|
|
492
475
|
after_heading: Properties
|
|
493
476
|
required: false
|
|
494
|
-
#
|
|
477
|
+
# FR-005: the `## Invariants` OCL clauses.
|
|
495
478
|
invariants:
|
|
496
479
|
from: section_body
|
|
497
480
|
after_heading: Invariants
|
|
@@ -502,7 +485,6 @@ object_types:
|
|
|
502
485
|
references: [asset]
|
|
503
486
|
data_schema:
|
|
504
487
|
schema: schemas/Risk.json
|
|
505
|
-
digest: sha256:08424445bfb977cd7f407dc2221b3728eb69d90e7ff94398781dc1105d4e6597
|
|
506
488
|
body_extraction:
|
|
507
489
|
yield_pattern:
|
|
508
490
|
match:
|
|
@@ -519,8 +501,8 @@ object_types:
|
|
|
519
501
|
path:
|
|
520
502
|
- impact
|
|
521
503
|
required: true
|
|
522
|
-
#
|
|
523
|
-
# semantic layer reads. Optional, so
|
|
504
|
+
# FR-005: the typed `## Properties` table the
|
|
505
|
+
# semantic layer reads. Optional, so existing artifacts stay valid.
|
|
524
506
|
properties:
|
|
525
507
|
from: section_body
|
|
526
508
|
after_heading: Properties
|
|
@@ -531,7 +513,6 @@ object_types:
|
|
|
531
513
|
references: [vulnerability]
|
|
532
514
|
data_schema:
|
|
533
515
|
schema: schemas/Vulnerability.json
|
|
534
|
-
digest: sha256:9c1f1e726faf41be9d6547bb2c84588c6339d0eb468d22e79b8a631ef11266b3
|
|
535
516
|
body_extraction:
|
|
536
517
|
yield_pattern:
|
|
537
518
|
match:
|
|
@@ -548,8 +529,8 @@ object_types:
|
|
|
548
529
|
path:
|
|
549
530
|
- severity
|
|
550
531
|
required: true
|
|
551
|
-
#
|
|
552
|
-
# semantic layer reads. Optional, so
|
|
532
|
+
# FR-005: the typed `## Properties` table the
|
|
533
|
+
# semantic layer reads. Optional, so existing artifacts stay valid.
|
|
553
534
|
properties:
|
|
554
535
|
from: section_body
|
|
555
536
|
after_heading: Properties
|
|
@@ -559,7 +540,6 @@ object_types:
|
|
|
559
540
|
references: [data_classification, trust_boundary]
|
|
560
541
|
data_schema:
|
|
561
542
|
schema: schemas/Asset.json
|
|
562
|
-
digest: sha256:d41e5f5acc58187e9237ee8ee0e3d173c403e24a557d053c1fbed8c9eebf7a37
|
|
563
543
|
body_extraction:
|
|
564
544
|
yield_pattern:
|
|
565
545
|
match:
|
|
@@ -570,8 +550,8 @@ object_types:
|
|
|
570
550
|
from: section_body
|
|
571
551
|
after_heading: Description
|
|
572
552
|
required: true
|
|
573
|
-
#
|
|
574
|
-
# semantic layer reads. Optional, so
|
|
553
|
+
# FR-005: the typed `## Properties` table the
|
|
554
|
+
# semantic layer reads. Optional, so existing artifacts stay valid.
|
|
575
555
|
properties:
|
|
576
556
|
from: section_body
|
|
577
557
|
after_heading: Properties
|
|
@@ -582,7 +562,6 @@ object_types:
|
|
|
582
562
|
exposes: [asset, api_endpoint]
|
|
583
563
|
data_schema:
|
|
584
564
|
schema: schemas/AttackSurface.json
|
|
585
|
-
digest: sha256:fd36db8ffc5df3b4dda5175b1bb14f1cf67b9e0c76a3a3fdf626bcea9961ccf3
|
|
586
565
|
body_extraction:
|
|
587
566
|
yield_pattern:
|
|
588
567
|
match:
|
|
@@ -593,8 +572,8 @@ object_types:
|
|
|
593
572
|
from: section_body
|
|
594
573
|
after_heading: Entry Points
|
|
595
574
|
required: true
|
|
596
|
-
#
|
|
597
|
-
# semantic layer reads. Optional, so
|
|
575
|
+
# FR-005: the typed `## Properties` table the
|
|
576
|
+
# semantic layer reads. Optional, so existing artifacts stay valid.
|
|
598
577
|
properties:
|
|
599
578
|
from: section_body
|
|
600
579
|
after_heading: Properties
|
|
@@ -604,7 +583,6 @@ object_types:
|
|
|
604
583
|
governs: [control, role, permission, data_classification]
|
|
605
584
|
data_schema:
|
|
606
585
|
schema: schemas/Policy.json
|
|
607
|
-
digest: sha256:824bb21f2689ed75c5cd33e361b56baa5a28555bbd3fe387510195982ef0c299
|
|
608
586
|
body_extraction:
|
|
609
587
|
yield_pattern:
|
|
610
588
|
match:
|
|
@@ -615,7 +593,7 @@ object_types:
|
|
|
615
593
|
from: section_body
|
|
616
594
|
after_heading: Policy
|
|
617
595
|
required: true
|
|
618
|
-
#
|
|
596
|
+
# FR-005: the `## Invariants` OCL clauses.
|
|
619
597
|
invariants:
|
|
620
598
|
from: section_body
|
|
621
599
|
after_heading: Invariants
|
|
@@ -626,7 +604,6 @@ object_types:
|
|
|
626
604
|
references: [control, vulnerability, asset]
|
|
627
605
|
data_schema:
|
|
628
606
|
schema: schemas/AuditFinding.json
|
|
629
|
-
digest: sha256:e5c166f8dea995a7babd81f9f2d93ea14570965a7fe0dc3042135ab0924688a7
|
|
630
607
|
body_extraction:
|
|
631
608
|
yield_pattern:
|
|
632
609
|
match:
|
|
@@ -637,15 +614,15 @@ object_types:
|
|
|
637
614
|
from: section_body
|
|
638
615
|
after_heading: Recommendation
|
|
639
616
|
required: true
|
|
640
|
-
#
|
|
641
|
-
# semantic layer reads. Optional, so
|
|
617
|
+
# FR-005: the typed `## Properties` table the
|
|
618
|
+
# semantic layer reads. Optional, so existing artifacts stay valid.
|
|
642
619
|
properties:
|
|
643
620
|
from: section_body
|
|
644
621
|
after_heading: Properties
|
|
645
622
|
required: false
|
|
646
623
|
|
|
647
624
|
# FR-043: concrete-term lexicon — security / identity / auth objects.
|
|
648
|
-
# FR-058 (quire-rs
|
|
625
|
+
# FR-058 (quire-rs): upward-trace completeness — the second half of
|
|
649
626
|
# agent-ix/spec-objects-security#5. Declaration, not code: the engine holds no
|
|
650
627
|
# archetype name, no verb and no direction.
|
|
651
628
|
#
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-ix/spec-objects-security",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "Filament Module: tier-2 security and identity ObjectTypes (threat, control, risk, asset, policy, auth_flow, role, scope, jwt_claim, secret)",
|
|
5
5
|
"license": "AGPL-3.0-or-later",
|
|
6
6
|
"author": "Agent IX <agents@agent-ix.dev>",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"url": "git+https://github.com/agent-ix/spec-objects-security.git"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@agent-ix/semantic-core": "0.3.
|
|
35
|
+
"@agent-ix/semantic-core": "0.3.2",
|
|
36
36
|
"@typespec/compiler": "1.15.0",
|
|
37
37
|
"@typespec/json-schema": "1.15.0"
|
|
38
38
|
}
|
package/schemas/Asset.json
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/
|
|
3
|
+
"$id": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/Asset.json",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"properties": {
|
|
6
6
|
"fields": {
|
|
7
7
|
"type": "array",
|
|
8
8
|
"items": {
|
|
9
|
-
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.
|
|
9
|
+
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.2/FieldDecl.json"
|
|
10
10
|
},
|
|
11
11
|
"minItems": 1,
|
|
12
12
|
"contains": {
|
|
13
|
-
"$ref": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/
|
|
13
|
+
"$ref": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/IdentityField.json"
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"relations": {
|
|
17
17
|
"type": "array",
|
|
18
18
|
"items": {
|
|
19
|
-
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.
|
|
19
|
+
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.2/RelationDecl.json"
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
"clauses": {
|
|
23
23
|
"type": "array",
|
|
24
24
|
"items": {
|
|
25
|
-
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.
|
|
25
|
+
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.2/ClauseRef.json"
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"operations": {
|
|
29
29
|
"type": "array",
|
|
30
30
|
"items": {
|
|
31
|
-
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.
|
|
31
|
+
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.2/OperationDecl.json"
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
34
|
"classification": {
|
|
35
|
-
"$ref": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/
|
|
35
|
+
"$ref": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/ConfidentialityLevel.json"
|
|
36
36
|
},
|
|
37
37
|
"owner": {
|
|
38
|
-
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.
|
|
38
|
+
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.2/SemanticId.json"
|
|
39
39
|
}
|
|
40
40
|
},
|
|
41
41
|
"required": [
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"fields": {
|
|
52
52
|
"items": {
|
|
53
53
|
"not": {
|
|
54
|
-
"$ref": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/
|
|
54
|
+
"$ref": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/DefaultedField.json"
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
}
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"params": {
|
|
66
66
|
"items": {
|
|
67
67
|
"not": {
|
|
68
|
-
"$ref": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/
|
|
68
|
+
"$ref": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/DefaultedField.json"
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
}
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/
|
|
3
|
+
"$id": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/AttackSurface.json",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"properties": {
|
|
6
6
|
"fields": {
|
|
7
7
|
"type": "array",
|
|
8
8
|
"items": {
|
|
9
|
-
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.
|
|
9
|
+
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.2/FieldDecl.json"
|
|
10
10
|
},
|
|
11
11
|
"minItems": 1,
|
|
12
12
|
"contains": {
|
|
13
|
-
"$ref": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/
|
|
13
|
+
"$ref": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/IdentityField.json"
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"clauses": {
|
|
17
17
|
"type": "array",
|
|
18
18
|
"items": {
|
|
19
|
-
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.
|
|
19
|
+
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.2/ClauseRef.json"
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
"relations": {
|
|
23
23
|
"type": "array",
|
|
24
24
|
"items": {
|
|
25
|
-
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.
|
|
25
|
+
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.2/RelationDecl.json"
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"exposes": {
|
|
29
29
|
"type": "array",
|
|
30
30
|
"items": {
|
|
31
|
-
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.
|
|
31
|
+
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.2/SemanticId.json"
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
},
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"fields": {
|
|
46
46
|
"items": {
|
|
47
47
|
"not": {
|
|
48
|
-
"$ref": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/
|
|
48
|
+
"$ref": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/DefaultedField.json"
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
}
|
package/schemas/AuditEvent.json
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/
|
|
3
|
+
"$id": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/AuditEvent.json",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"properties": {
|
|
6
6
|
"fields": {
|
|
7
7
|
"type": "array",
|
|
8
8
|
"items": {
|
|
9
|
-
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.
|
|
9
|
+
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.2/FieldDecl.json"
|
|
10
10
|
},
|
|
11
11
|
"minItems": 1,
|
|
12
12
|
"contains": {
|
|
13
|
-
"$ref": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/
|
|
13
|
+
"$ref": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/OccurrenceField.json"
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"clauses": {
|
|
17
17
|
"type": "array",
|
|
18
18
|
"items": {
|
|
19
|
-
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.
|
|
19
|
+
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.2/ClauseRef.json"
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
"source": {
|
|
23
|
-
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.
|
|
23
|
+
"$ref": "https://schemas.agent-ix.org/semantic-core/0.3.2/SemanticId.json"
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
26
|
"required": [
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"fields": {
|
|
37
37
|
"items": {
|
|
38
38
|
"not": {
|
|
39
|
-
"$ref": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/
|
|
39
|
+
"$ref": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/IdentityField.json"
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
}
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"fields": {
|
|
48
48
|
"items": {
|
|
49
49
|
"not": {
|
|
50
|
-
"$ref": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/
|
|
50
|
+
"$ref": "https://schemas.agent-ix.org/agent-ix/spec-objects-security/DefaultedField.json"
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
}
|