@shiftleftpt/sbd-toe-mcp 0.20.0-beta.42 → 0.20.0-beta.43
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/consumed-bundle.json +8 -8
- package/data/entities/proportionality.json +2 -2
- package/data/entities/sdlc_integration.json +190 -13
- package/data/publish/indexes/canonical_chunks.jsonl +4907 -4907
- package/data/publish/indexes/publication_manifest.json +6 -4
- package/data/publish/ontology/sbdtoe-ontology.yaml +91 -5
- package/data/publish/runtime/artifact_requirements.json +334 -1
- package/data/publish/runtime/assignments.json +243 -25
- package/data/publish/runtime/controls.json +7 -1
- package/data/publish/runtime/deterministic_manifest.json +13 -2
- package/data/publish/runtime/phases.json +26 -4
- package/data/publish/runtime/roles.json +14 -0
- package/data/publish/runtime/user_stories.json +12 -6
- package/data/publish/runtime/v1/v1_manifest.json +1 -1
- package/data/publish/semantic/ctrl_acore_alignment.jsonl +1 -1
- package/data/publish/semantic/macro_processes.jsonl +1 -1
- package/data/publish/semantic/mp_edges.jsonl +1 -1
- package/data/reports/run_manifest.json +4 -4
- package/dist/serving/traversal-assertions.d.ts +65 -0
- package/dist/serving/traversal-assertions.js +135 -0
- package/dist/serving/traversal-assertions.js.map +1 -0
- package/dist/tools/get-chapter-capability.js +46 -9
- package/dist/tools/get-chapter-capability.js.map +1 -1
- package/dist/tools/get-guide-by-role.js +51 -0
- package/dist/tools/get-guide-by-role.js.map +1 -1
- package/dist/tools/ontology-loader.d.ts +8 -0
- package/dist/tools/ontology-loader.js +4 -0
- package/dist/tools/ontology-loader.js.map +1 -1
- package/dist/tools/structured-tools.js +7 -4
- package/dist/tools/structured-tools.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"artifact_type": "deterministic_runtime_snapshot",
|
|
3
|
-
"count":
|
|
3
|
+
"count": 1305,
|
|
4
4
|
"entity_type": "PracticeAssignment",
|
|
5
|
+
"extraction_declarations": {
|
|
6
|
+
"count": 24,
|
|
7
|
+
"source_artifact": "data/entities/extraction_declarations.json",
|
|
8
|
+
"summary": {
|
|
9
|
+
"role_unresolved": 2,
|
|
10
|
+
"unmapped_phase_label": 15,
|
|
11
|
+
"unreadable_sdlc_table": 7
|
|
12
|
+
}
|
|
13
|
+
},
|
|
5
14
|
"items": [
|
|
6
15
|
{
|
|
7
16
|
"action": "classificar a aplicação com base nos eixos Exposição, Dados e Impacto (E+D+I)",
|
|
@@ -15,7 +24,7 @@
|
|
|
15
24
|
"practice assignment derived from US-01"
|
|
16
25
|
],
|
|
17
26
|
"id": "01-classificacao-aplicacoes-developer-l1-us-01",
|
|
18
|
-
"phase": "
|
|
27
|
+
"phase": "plan",
|
|
19
28
|
"practice_id": "01-classificacao-aplicacoes:classificacao-inicial-da-aplicacao",
|
|
20
29
|
"proportionality": "Obrigatório - Classificação simplificada, apenas eixos principais",
|
|
21
30
|
"risk_level": "L1",
|
|
@@ -37,7 +46,7 @@
|
|
|
37
46
|
"practice assignment derived from US-01"
|
|
38
47
|
],
|
|
39
48
|
"id": "01-classificacao-aplicacoes-developer-l2-us-01",
|
|
40
|
-
"phase": "
|
|
49
|
+
"phase": "plan",
|
|
41
50
|
"practice_id": "01-classificacao-aplicacoes:classificacao-inicial-da-aplicacao",
|
|
42
51
|
"proportionality": "Obrigatório - Classificação completa com validação formal por AppSec Engineer",
|
|
43
52
|
"risk_level": "L2",
|
|
@@ -59,7 +68,73 @@
|
|
|
59
68
|
"practice assignment derived from US-01"
|
|
60
69
|
],
|
|
61
70
|
"id": "01-classificacao-aplicacoes-developer-l3-us-01",
|
|
62
|
-
"phase": "
|
|
71
|
+
"phase": "plan",
|
|
72
|
+
"practice_id": "01-classificacao-aplicacoes:classificacao-inicial-da-aplicacao",
|
|
73
|
+
"proportionality": "Obrigatório - Classificação formal, validada e aprovada por AppSec Engineer + GRC/Compliance",
|
|
74
|
+
"risk_level": "L3",
|
|
75
|
+
"role": "developer",
|
|
76
|
+
"source_document_id": "010-sbd-manual-01-classificacao-aplicacoes-aplicacao-lifecycle",
|
|
77
|
+
"source_section_id": "010-sbd-manual-01-classificacao-aplicacoes-aplicacao-lifecycle--aplicacao-da-classificacao-de-criticidade-ao-longo-do-ciclo-de-vida--user-stories-reutilizaveis--us-01-classificacao-inicial-da-aplicacao",
|
|
78
|
+
"user_story_id": "01-classificacao-aplicacoes-us-01",
|
|
79
|
+
"warnings": []
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"action": "classificar a aplicação com base nos eixos Exposição, Dados e Impacto (E+D+I)",
|
|
83
|
+
"artifacts": [
|
|
84
|
+
"ficheiro_classificacao_aplicacao_yaml_localizacao_repo_security",
|
|
85
|
+
"ficheiro_matriz_controlos_aplicada_md_evidencia_anexo_ao_pr_ou_wiki"
|
|
86
|
+
],
|
|
87
|
+
"chapter_id": "01-classificacao-aplicacoes",
|
|
88
|
+
"confidence": 0.86,
|
|
89
|
+
"evidence": [
|
|
90
|
+
"practice assignment derived from US-01"
|
|
91
|
+
],
|
|
92
|
+
"id": "01-classificacao-aplicacoes-developer-l1-us-01",
|
|
93
|
+
"phase": "design",
|
|
94
|
+
"practice_id": "01-classificacao-aplicacoes:classificacao-inicial-da-aplicacao",
|
|
95
|
+
"proportionality": "Obrigatório - Classificação simplificada, apenas eixos principais",
|
|
96
|
+
"risk_level": "L1",
|
|
97
|
+
"role": "developer",
|
|
98
|
+
"source_document_id": "010-sbd-manual-01-classificacao-aplicacoes-aplicacao-lifecycle",
|
|
99
|
+
"source_section_id": "010-sbd-manual-01-classificacao-aplicacoes-aplicacao-lifecycle--aplicacao-da-classificacao-de-criticidade-ao-longo-do-ciclo-de-vida--user-stories-reutilizaveis--us-01-classificacao-inicial-da-aplicacao",
|
|
100
|
+
"user_story_id": "01-classificacao-aplicacoes-us-01",
|
|
101
|
+
"warnings": []
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"action": "classificar a aplicação com base nos eixos Exposição, Dados e Impacto (E+D+I)",
|
|
105
|
+
"artifacts": [
|
|
106
|
+
"ficheiro_classificacao_aplicacao_yaml_localizacao_repo_security",
|
|
107
|
+
"ficheiro_matriz_controlos_aplicada_md_evidencia_anexo_ao_pr_ou_wiki"
|
|
108
|
+
],
|
|
109
|
+
"chapter_id": "01-classificacao-aplicacoes",
|
|
110
|
+
"confidence": 0.86,
|
|
111
|
+
"evidence": [
|
|
112
|
+
"practice assignment derived from US-01"
|
|
113
|
+
],
|
|
114
|
+
"id": "01-classificacao-aplicacoes-developer-l2-us-01",
|
|
115
|
+
"phase": "design",
|
|
116
|
+
"practice_id": "01-classificacao-aplicacoes:classificacao-inicial-da-aplicacao",
|
|
117
|
+
"proportionality": "Obrigatório - Classificação completa com validação formal por AppSec Engineer",
|
|
118
|
+
"risk_level": "L2",
|
|
119
|
+
"role": "developer",
|
|
120
|
+
"source_document_id": "010-sbd-manual-01-classificacao-aplicacoes-aplicacao-lifecycle",
|
|
121
|
+
"source_section_id": "010-sbd-manual-01-classificacao-aplicacoes-aplicacao-lifecycle--aplicacao-da-classificacao-de-criticidade-ao-longo-do-ciclo-de-vida--user-stories-reutilizaveis--us-01-classificacao-inicial-da-aplicacao",
|
|
122
|
+
"user_story_id": "01-classificacao-aplicacoes-us-01",
|
|
123
|
+
"warnings": []
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"action": "classificar a aplicação com base nos eixos Exposição, Dados e Impacto (E+D+I)",
|
|
127
|
+
"artifacts": [
|
|
128
|
+
"ficheiro_classificacao_aplicacao_yaml_localizacao_repo_security",
|
|
129
|
+
"ficheiro_matriz_controlos_aplicada_md_evidencia_anexo_ao_pr_ou_wiki"
|
|
130
|
+
],
|
|
131
|
+
"chapter_id": "01-classificacao-aplicacoes",
|
|
132
|
+
"confidence": 0.86,
|
|
133
|
+
"evidence": [
|
|
134
|
+
"practice assignment derived from US-01"
|
|
135
|
+
],
|
|
136
|
+
"id": "01-classificacao-aplicacoes-developer-l3-us-01",
|
|
137
|
+
"phase": "design",
|
|
63
138
|
"practice_id": "01-classificacao-aplicacoes:classificacao-inicial-da-aplicacao",
|
|
64
139
|
"proportionality": "Obrigatório - Classificação formal, validada e aprovada por AppSec Engineer + GRC/Compliance",
|
|
65
140
|
"risk_level": "L3",
|
|
@@ -81,7 +156,7 @@
|
|
|
81
156
|
"practice assignment derived from US-01"
|
|
82
157
|
],
|
|
83
158
|
"id": "01-classificacao-aplicacoes-scrum-master-l1-us-01",
|
|
84
|
-
"phase": "
|
|
159
|
+
"phase": "plan",
|
|
85
160
|
"practice_id": "01-classificacao-aplicacoes:classificacao-inicial-da-aplicacao",
|
|
86
161
|
"proportionality": "Obrigatório - Classificação simplificada, apenas eixos principais",
|
|
87
162
|
"risk_level": "L1",
|
|
@@ -103,7 +178,7 @@
|
|
|
103
178
|
"practice assignment derived from US-01"
|
|
104
179
|
],
|
|
105
180
|
"id": "01-classificacao-aplicacoes-scrum-master-l2-us-01",
|
|
106
|
-
"phase": "
|
|
181
|
+
"phase": "plan",
|
|
107
182
|
"practice_id": "01-classificacao-aplicacoes:classificacao-inicial-da-aplicacao",
|
|
108
183
|
"proportionality": "Obrigatório - Classificação completa com validação formal por AppSec Engineer",
|
|
109
184
|
"risk_level": "L2",
|
|
@@ -125,7 +200,73 @@
|
|
|
125
200
|
"practice assignment derived from US-01"
|
|
126
201
|
],
|
|
127
202
|
"id": "01-classificacao-aplicacoes-scrum-master-l3-us-01",
|
|
128
|
-
"phase": "
|
|
203
|
+
"phase": "plan",
|
|
204
|
+
"practice_id": "01-classificacao-aplicacoes:classificacao-inicial-da-aplicacao",
|
|
205
|
+
"proportionality": "Obrigatório - Classificação formal, validada e aprovada por AppSec Engineer + GRC/Compliance",
|
|
206
|
+
"risk_level": "L3",
|
|
207
|
+
"role": "scrum-master",
|
|
208
|
+
"source_document_id": "010-sbd-manual-01-classificacao-aplicacoes-aplicacao-lifecycle",
|
|
209
|
+
"source_section_id": "010-sbd-manual-01-classificacao-aplicacoes-aplicacao-lifecycle--aplicacao-da-classificacao-de-criticidade-ao-longo-do-ciclo-de-vida--user-stories-reutilizaveis--us-01-classificacao-inicial-da-aplicacao",
|
|
210
|
+
"user_story_id": "01-classificacao-aplicacoes-us-01",
|
|
211
|
+
"warnings": []
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"action": "classificar a aplicação com base nos eixos Exposição, Dados e Impacto (E+D+I)",
|
|
215
|
+
"artifacts": [
|
|
216
|
+
"ficheiro_classificacao_aplicacao_yaml_localizacao_repo_security",
|
|
217
|
+
"ficheiro_matriz_controlos_aplicada_md_evidencia_anexo_ao_pr_ou_wiki"
|
|
218
|
+
],
|
|
219
|
+
"chapter_id": "01-classificacao-aplicacoes",
|
|
220
|
+
"confidence": 0.86,
|
|
221
|
+
"evidence": [
|
|
222
|
+
"practice assignment derived from US-01"
|
|
223
|
+
],
|
|
224
|
+
"id": "01-classificacao-aplicacoes-scrum-master-l1-us-01",
|
|
225
|
+
"phase": "design",
|
|
226
|
+
"practice_id": "01-classificacao-aplicacoes:classificacao-inicial-da-aplicacao",
|
|
227
|
+
"proportionality": "Obrigatório - Classificação simplificada, apenas eixos principais",
|
|
228
|
+
"risk_level": "L1",
|
|
229
|
+
"role": "scrum-master",
|
|
230
|
+
"source_document_id": "010-sbd-manual-01-classificacao-aplicacoes-aplicacao-lifecycle",
|
|
231
|
+
"source_section_id": "010-sbd-manual-01-classificacao-aplicacoes-aplicacao-lifecycle--aplicacao-da-classificacao-de-criticidade-ao-longo-do-ciclo-de-vida--user-stories-reutilizaveis--us-01-classificacao-inicial-da-aplicacao",
|
|
232
|
+
"user_story_id": "01-classificacao-aplicacoes-us-01",
|
|
233
|
+
"warnings": []
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"action": "classificar a aplicação com base nos eixos Exposição, Dados e Impacto (E+D+I)",
|
|
237
|
+
"artifacts": [
|
|
238
|
+
"ficheiro_classificacao_aplicacao_yaml_localizacao_repo_security",
|
|
239
|
+
"ficheiro_matriz_controlos_aplicada_md_evidencia_anexo_ao_pr_ou_wiki"
|
|
240
|
+
],
|
|
241
|
+
"chapter_id": "01-classificacao-aplicacoes",
|
|
242
|
+
"confidence": 0.86,
|
|
243
|
+
"evidence": [
|
|
244
|
+
"practice assignment derived from US-01"
|
|
245
|
+
],
|
|
246
|
+
"id": "01-classificacao-aplicacoes-scrum-master-l2-us-01",
|
|
247
|
+
"phase": "design",
|
|
248
|
+
"practice_id": "01-classificacao-aplicacoes:classificacao-inicial-da-aplicacao",
|
|
249
|
+
"proportionality": "Obrigatório - Classificação completa com validação formal por AppSec Engineer",
|
|
250
|
+
"risk_level": "L2",
|
|
251
|
+
"role": "scrum-master",
|
|
252
|
+
"source_document_id": "010-sbd-manual-01-classificacao-aplicacoes-aplicacao-lifecycle",
|
|
253
|
+
"source_section_id": "010-sbd-manual-01-classificacao-aplicacoes-aplicacao-lifecycle--aplicacao-da-classificacao-de-criticidade-ao-longo-do-ciclo-de-vida--user-stories-reutilizaveis--us-01-classificacao-inicial-da-aplicacao",
|
|
254
|
+
"user_story_id": "01-classificacao-aplicacoes-us-01",
|
|
255
|
+
"warnings": []
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"action": "classificar a aplicação com base nos eixos Exposição, Dados e Impacto (E+D+I)",
|
|
259
|
+
"artifacts": [
|
|
260
|
+
"ficheiro_classificacao_aplicacao_yaml_localizacao_repo_security",
|
|
261
|
+
"ficheiro_matriz_controlos_aplicada_md_evidencia_anexo_ao_pr_ou_wiki"
|
|
262
|
+
],
|
|
263
|
+
"chapter_id": "01-classificacao-aplicacoes",
|
|
264
|
+
"confidence": 0.86,
|
|
265
|
+
"evidence": [
|
|
266
|
+
"practice assignment derived from US-01"
|
|
267
|
+
],
|
|
268
|
+
"id": "01-classificacao-aplicacoes-scrum-master-l3-us-01",
|
|
269
|
+
"phase": "design",
|
|
129
270
|
"practice_id": "01-classificacao-aplicacoes:classificacao-inicial-da-aplicacao",
|
|
130
271
|
"proportionality": "Obrigatório - Classificação formal, validada e aprovada por AppSec Engineer + GRC/Compliance",
|
|
131
272
|
"risk_level": "L3",
|
|
@@ -147,7 +288,7 @@
|
|
|
147
288
|
"practice assignment derived from US-02"
|
|
148
289
|
],
|
|
149
290
|
"id": "01-classificacao-aplicacoes-developer-l1-us-02",
|
|
150
|
-
"phase": "
|
|
291
|
+
"phase": "plan",
|
|
151
292
|
"practice_id": "01-classificacao-aplicacoes:aplicacao-da-matriz-de-controlo",
|
|
152
293
|
"proportionality": "Obrigatório - Aplicar controlos mínimos",
|
|
153
294
|
"risk_level": "L1",
|
|
@@ -169,7 +310,7 @@
|
|
|
169
310
|
"practice assignment derived from US-02"
|
|
170
311
|
],
|
|
171
312
|
"id": "01-classificacao-aplicacoes-developer-l2-us-02",
|
|
172
|
-
"phase": "
|
|
313
|
+
"phase": "plan",
|
|
173
314
|
"practice_id": "01-classificacao-aplicacoes:aplicacao-da-matriz-de-controlo",
|
|
174
315
|
"proportionality": "Obrigatório - Controlos completos com rastreamento obrigatório",
|
|
175
316
|
"risk_level": "L2",
|
|
@@ -191,7 +332,7 @@
|
|
|
191
332
|
"practice assignment derived from US-02"
|
|
192
333
|
],
|
|
193
334
|
"id": "01-classificacao-aplicacoes-developer-l3-us-02",
|
|
194
|
-
"phase": "
|
|
335
|
+
"phase": "plan",
|
|
195
336
|
"practice_id": "01-classificacao-aplicacoes:aplicacao-da-matriz-de-controlo",
|
|
196
337
|
"proportionality": "Obrigatório - Controlos completos + reforçados + validação por AppSec",
|
|
197
338
|
"risk_level": "L3",
|
|
@@ -213,7 +354,7 @@
|
|
|
213
354
|
"practice assignment derived from US-02"
|
|
214
355
|
],
|
|
215
356
|
"id": "01-classificacao-aplicacoes-scrum-master-l1-us-02",
|
|
216
|
-
"phase": "
|
|
357
|
+
"phase": "plan",
|
|
217
358
|
"practice_id": "01-classificacao-aplicacoes:aplicacao-da-matriz-de-controlo",
|
|
218
359
|
"proportionality": "Obrigatório - Aplicar controlos mínimos",
|
|
219
360
|
"risk_level": "L1",
|
|
@@ -235,7 +376,7 @@
|
|
|
235
376
|
"practice assignment derived from US-02"
|
|
236
377
|
],
|
|
237
378
|
"id": "01-classificacao-aplicacoes-scrum-master-l2-us-02",
|
|
238
|
-
"phase": "
|
|
379
|
+
"phase": "plan",
|
|
239
380
|
"practice_id": "01-classificacao-aplicacoes:aplicacao-da-matriz-de-controlo",
|
|
240
381
|
"proportionality": "Obrigatório - Controlos completos com rastreamento obrigatório",
|
|
241
382
|
"risk_level": "L2",
|
|
@@ -257,7 +398,7 @@
|
|
|
257
398
|
"practice assignment derived from US-02"
|
|
258
399
|
],
|
|
259
400
|
"id": "01-classificacao-aplicacoes-scrum-master-l3-us-02",
|
|
260
|
-
"phase": "
|
|
401
|
+
"phase": "plan",
|
|
261
402
|
"practice_id": "01-classificacao-aplicacoes:aplicacao-da-matriz-de-controlo",
|
|
262
403
|
"proportionality": "Obrigatório - Controlos completos + reforçados + validação por AppSec",
|
|
263
404
|
"risk_level": "L3",
|
|
@@ -280,7 +421,7 @@
|
|
|
280
421
|
"practice assignment derived from US-03"
|
|
281
422
|
],
|
|
282
423
|
"id": "01-classificacao-aplicacoes-appsec-engineer-l1-us-03",
|
|
283
|
-
"phase": "
|
|
424
|
+
"phase": "operate",
|
|
284
425
|
"practice_id": "01-classificacao-aplicacoes:revisao-por-alteracao-relevante-event-based",
|
|
285
426
|
"proportionality": "Sim (por alteração relevante)",
|
|
286
427
|
"risk_level": "L1",
|
|
@@ -303,7 +444,7 @@
|
|
|
303
444
|
"practice assignment derived from US-03"
|
|
304
445
|
],
|
|
305
446
|
"id": "01-classificacao-aplicacoes-appsec-engineer-l2-us-03",
|
|
306
|
-
"phase": "
|
|
447
|
+
"phase": "operate",
|
|
307
448
|
"practice_id": "01-classificacao-aplicacoes:revisao-por-alteracao-relevante-event-based",
|
|
308
449
|
"proportionality": "Obrigatório",
|
|
309
450
|
"risk_level": "L2",
|
|
@@ -326,7 +467,7 @@
|
|
|
326
467
|
"practice assignment derived from US-03"
|
|
327
468
|
],
|
|
328
469
|
"id": "01-classificacao-aplicacoes-appsec-engineer-l3-us-03",
|
|
329
|
-
"phase": "
|
|
470
|
+
"phase": "operate",
|
|
330
471
|
"practice_id": "01-classificacao-aplicacoes:revisao-por-alteracao-relevante-event-based",
|
|
331
472
|
"proportionality": "Obrigatório",
|
|
332
473
|
"risk_level": "L3",
|
|
@@ -349,7 +490,7 @@
|
|
|
349
490
|
"practice assignment derived from US-04"
|
|
350
491
|
],
|
|
351
492
|
"id": "01-classificacao-aplicacoes-grc-compliance-l1-us-04",
|
|
352
|
-
"phase": "
|
|
493
|
+
"phase": "test",
|
|
353
494
|
"practice_id": "01-classificacao-aplicacoes:analise-de-risco-residual",
|
|
354
495
|
"proportionality": "Opcional (se crítico)",
|
|
355
496
|
"risk_level": "L1",
|
|
@@ -372,7 +513,7 @@
|
|
|
372
513
|
"practice assignment derived from US-04"
|
|
373
514
|
],
|
|
374
515
|
"id": "01-classificacao-aplicacoes-grc-compliance-l2-us-04",
|
|
375
|
-
"phase": "
|
|
516
|
+
"phase": "test",
|
|
376
517
|
"practice_id": "01-classificacao-aplicacoes:analise-de-risco-residual",
|
|
377
518
|
"proportionality": "Obrigatório",
|
|
378
519
|
"risk_level": "L2",
|
|
@@ -395,7 +536,7 @@
|
|
|
395
536
|
"practice assignment derived from US-04"
|
|
396
537
|
],
|
|
397
538
|
"id": "01-classificacao-aplicacoes-grc-compliance-l3-us-04",
|
|
398
|
-
"phase": "
|
|
539
|
+
"phase": "test",
|
|
399
540
|
"practice_id": "01-classificacao-aplicacoes:analise-de-risco-residual",
|
|
400
541
|
"proportionality": "Obrigatório",
|
|
401
542
|
"risk_level": "L3",
|
|
@@ -418,7 +559,7 @@
|
|
|
418
559
|
"practice assignment derived from US-05"
|
|
419
560
|
],
|
|
420
561
|
"id": "01-classificacao-aplicacoes-qa-l1-us-05",
|
|
421
|
-
"phase": "
|
|
562
|
+
"phase": "test",
|
|
422
563
|
"practice_id": "01-classificacao-aplicacoes:validacao-antes-do-go-live",
|
|
423
564
|
"proportionality": "Recomendado",
|
|
424
565
|
"risk_level": "L1",
|
|
@@ -441,7 +582,7 @@
|
|
|
441
582
|
"practice assignment derived from US-05"
|
|
442
583
|
],
|
|
443
584
|
"id": "01-classificacao-aplicacoes-qa-l2-us-05",
|
|
444
|
-
"phase": "
|
|
585
|
+
"phase": "test",
|
|
445
586
|
"practice_id": "01-classificacao-aplicacoes:validacao-antes-do-go-live",
|
|
446
587
|
"proportionality": "Recomendado (obrigatório)",
|
|
447
588
|
"risk_level": "L2",
|
|
@@ -464,7 +605,7 @@
|
|
|
464
605
|
"practice assignment derived from US-05"
|
|
465
606
|
],
|
|
466
607
|
"id": "01-classificacao-aplicacoes-qa-l3-us-05",
|
|
467
|
-
"phase": "
|
|
608
|
+
"phase": "test",
|
|
468
609
|
"practice_id": "01-classificacao-aplicacoes:validacao-antes-do-go-live",
|
|
469
610
|
"proportionality": "Obrigatório (formal + assinatura)",
|
|
470
611
|
"risk_level": "L3",
|
|
@@ -487,7 +628,7 @@
|
|
|
487
628
|
"practice assignment derived from US-06"
|
|
488
629
|
],
|
|
489
630
|
"id": "01-classificacao-aplicacoes-appsec-engineer-l1-us-06",
|
|
490
|
-
"phase": "
|
|
631
|
+
"phase": "design",
|
|
491
632
|
"practice_id": "01-classificacao-aplicacoes:mapeamento-de-ameacas-por-nivel-de-risco",
|
|
492
633
|
"proportionality": "Opcional (STRIDE básico)",
|
|
493
634
|
"risk_level": "L1",
|
|
@@ -510,7 +651,7 @@
|
|
|
510
651
|
"practice assignment derived from US-06"
|
|
511
652
|
],
|
|
512
653
|
"id": "01-classificacao-aplicacoes-appsec-engineer-l2-us-06",
|
|
513
|
-
"phase": "
|
|
654
|
+
"phase": "design",
|
|
514
655
|
"practice_id": "01-classificacao-aplicacoes:mapeamento-de-ameacas-por-nivel-de-risco",
|
|
515
656
|
"proportionality": "Recomendado (STRIDE completo)",
|
|
516
657
|
"risk_level": "L2",
|
|
@@ -533,7 +674,76 @@
|
|
|
533
674
|
"practice assignment derived from US-06"
|
|
534
675
|
],
|
|
535
676
|
"id": "01-classificacao-aplicacoes-appsec-engineer-l3-us-06",
|
|
536
|
-
"phase": "
|
|
677
|
+
"phase": "design",
|
|
678
|
+
"practice_id": "01-classificacao-aplicacoes:mapeamento-de-ameacas-por-nivel-de-risco",
|
|
679
|
+
"proportionality": "Obrigatório (STRIDE + MITRE ATT&CK)",
|
|
680
|
+
"risk_level": "L3",
|
|
681
|
+
"role": "appsec-engineer",
|
|
682
|
+
"source_document_id": "010-sbd-manual-01-classificacao-aplicacoes-aplicacao-lifecycle",
|
|
683
|
+
"source_section_id": "010-sbd-manual-01-classificacao-aplicacoes-aplicacao-lifecycle--aplicacao-da-classificacao-de-criticidade-ao-longo-do-ciclo-de-vida--user-stories-reutilizaveis--us-06-mapeamento-de-ameacas-por-nivel-de-risco",
|
|
684
|
+
"user_story_id": "01-classificacao-aplicacoes-us-06",
|
|
685
|
+
"warnings": []
|
|
686
|
+
},
|
|
687
|
+
{
|
|
688
|
+
"action": "verificar se as ameaças esperadas para o nível de criticidade estão cobertas por controlos aplicados ou exceções rastreáveis",
|
|
689
|
+
"artifacts": [
|
|
690
|
+
"ficheiro_ameacas_mapeamento_md_com_tabela_ameaca_categoria_controlo_aplicado_cobertura_sim_nao_excecao",
|
|
691
|
+
"localizacao_repo_documentacao_de_seguranca",
|
|
692
|
+
"rastreamento_em_jira_backlog_validacao_por_appsec_arquitetos"
|
|
693
|
+
],
|
|
694
|
+
"chapter_id": "01-classificacao-aplicacoes",
|
|
695
|
+
"confidence": 0.86,
|
|
696
|
+
"evidence": [
|
|
697
|
+
"practice assignment derived from US-06"
|
|
698
|
+
],
|
|
699
|
+
"id": "01-classificacao-aplicacoes-appsec-engineer-l1-us-06",
|
|
700
|
+
"phase": "test",
|
|
701
|
+
"practice_id": "01-classificacao-aplicacoes:mapeamento-de-ameacas-por-nivel-de-risco",
|
|
702
|
+
"proportionality": "Opcional (STRIDE básico)",
|
|
703
|
+
"risk_level": "L1",
|
|
704
|
+
"role": "appsec-engineer",
|
|
705
|
+
"source_document_id": "010-sbd-manual-01-classificacao-aplicacoes-aplicacao-lifecycle",
|
|
706
|
+
"source_section_id": "010-sbd-manual-01-classificacao-aplicacoes-aplicacao-lifecycle--aplicacao-da-classificacao-de-criticidade-ao-longo-do-ciclo-de-vida--user-stories-reutilizaveis--us-06-mapeamento-de-ameacas-por-nivel-de-risco",
|
|
707
|
+
"user_story_id": "01-classificacao-aplicacoes-us-06",
|
|
708
|
+
"warnings": []
|
|
709
|
+
},
|
|
710
|
+
{
|
|
711
|
+
"action": "verificar se as ameaças esperadas para o nível de criticidade estão cobertas por controlos aplicados ou exceções rastreáveis",
|
|
712
|
+
"artifacts": [
|
|
713
|
+
"ficheiro_ameacas_mapeamento_md_com_tabela_ameaca_categoria_controlo_aplicado_cobertura_sim_nao_excecao",
|
|
714
|
+
"localizacao_repo_documentacao_de_seguranca",
|
|
715
|
+
"rastreamento_em_jira_backlog_validacao_por_appsec_arquitetos"
|
|
716
|
+
],
|
|
717
|
+
"chapter_id": "01-classificacao-aplicacoes",
|
|
718
|
+
"confidence": 0.86,
|
|
719
|
+
"evidence": [
|
|
720
|
+
"practice assignment derived from US-06"
|
|
721
|
+
],
|
|
722
|
+
"id": "01-classificacao-aplicacoes-appsec-engineer-l2-us-06",
|
|
723
|
+
"phase": "test",
|
|
724
|
+
"practice_id": "01-classificacao-aplicacoes:mapeamento-de-ameacas-por-nivel-de-risco",
|
|
725
|
+
"proportionality": "Recomendado (STRIDE completo)",
|
|
726
|
+
"risk_level": "L2",
|
|
727
|
+
"role": "appsec-engineer",
|
|
728
|
+
"source_document_id": "010-sbd-manual-01-classificacao-aplicacoes-aplicacao-lifecycle",
|
|
729
|
+
"source_section_id": "010-sbd-manual-01-classificacao-aplicacoes-aplicacao-lifecycle--aplicacao-da-classificacao-de-criticidade-ao-longo-do-ciclo-de-vida--user-stories-reutilizaveis--us-06-mapeamento-de-ameacas-por-nivel-de-risco",
|
|
730
|
+
"user_story_id": "01-classificacao-aplicacoes-us-06",
|
|
731
|
+
"warnings": []
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
"action": "verificar se as ameaças esperadas para o nível de criticidade estão cobertas por controlos aplicados ou exceções rastreáveis",
|
|
735
|
+
"artifacts": [
|
|
736
|
+
"ficheiro_ameacas_mapeamento_md_com_tabela_ameaca_categoria_controlo_aplicado_cobertura_sim_nao_excecao",
|
|
737
|
+
"localizacao_repo_documentacao_de_seguranca",
|
|
738
|
+
"rastreamento_em_jira_backlog_validacao_por_appsec_arquitetos"
|
|
739
|
+
],
|
|
740
|
+
"chapter_id": "01-classificacao-aplicacoes",
|
|
741
|
+
"confidence": 0.86,
|
|
742
|
+
"evidence": [
|
|
743
|
+
"practice assignment derived from US-06"
|
|
744
|
+
],
|
|
745
|
+
"id": "01-classificacao-aplicacoes-appsec-engineer-l3-us-06",
|
|
746
|
+
"phase": "test",
|
|
537
747
|
"practice_id": "01-classificacao-aplicacoes:mapeamento-de-ameacas-por-nivel-de-risco",
|
|
538
748
|
"proportionality": "Obrigatório (STRIDE + MITRE ATT&CK)",
|
|
539
749
|
"risk_level": "L3",
|
|
@@ -30913,5 +31123,13 @@
|
|
|
30913
31123
|
"profiles": [
|
|
30914
31124
|
"guide"
|
|
30915
31125
|
],
|
|
31126
|
+
"roles_unassigned": {
|
|
31127
|
+
"assignment_count": 12,
|
|
31128
|
+
"by_user_story": {
|
|
31129
|
+
"05-dependencias-sbom-sca-us-14": 9,
|
|
31130
|
+
"13-formacao-onboarding-us-01": 3
|
|
31131
|
+
},
|
|
31132
|
+
"note": "papel `unassigned` = fallback do extractor quando a US não resolve papel canónico — declarado à imagem do phases_unassigned; fase `unassigned` é política ratificada e vive no envelope de phases.json"
|
|
31133
|
+
},
|
|
30916
31134
|
"source_artifact": "data/entities/practice_assignments.json"
|
|
30917
31135
|
}
|
|
@@ -2711,5 +2711,11 @@
|
|
|
2711
2711
|
"review",
|
|
2712
2712
|
"threats"
|
|
2713
2713
|
],
|
|
2714
|
-
"source_artifact": "data/entities/canonical_controls.json"
|
|
2714
|
+
"source_artifact": "data/entities/canonical_controls.json",
|
|
2715
|
+
"traversal_assertion": {
|
|
2716
|
+
"does_not_assert": "exclusividade de citação",
|
|
2717
|
+
"note": "possessivo LEGÍTIMO — 17/20 controlos têm um único capítulo definidor publicado",
|
|
2718
|
+
"source": "template de controlos (defining_chapters, decisão K)",
|
|
2719
|
+
"verb": "define"
|
|
2720
|
+
}
|
|
2715
2721
|
}
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"source_artifact": "data/entities/practices.json"
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
|
-
"count":
|
|
39
|
+
"count": 1305,
|
|
40
40
|
"entity_type": "PracticeAssignment",
|
|
41
41
|
"file": "assignments.json",
|
|
42
42
|
"name": "assignments",
|
|
@@ -121,6 +121,17 @@
|
|
|
121
121
|
],
|
|
122
122
|
"source_artifact": "data/entities/artifact_requirements.json"
|
|
123
123
|
},
|
|
124
|
+
{
|
|
125
|
+
"count": 163,
|
|
126
|
+
"entity_type": "DecisionInvolvement",
|
|
127
|
+
"file": "decision_involvements.json",
|
|
128
|
+
"name": "decision_involvements",
|
|
129
|
+
"profiles": [
|
|
130
|
+
"consult",
|
|
131
|
+
"guide"
|
|
132
|
+
],
|
|
133
|
+
"source_artifact": "data/entities/decision_involvements.json"
|
|
134
|
+
},
|
|
124
135
|
{
|
|
125
136
|
"count": 305,
|
|
126
137
|
"entity_type": "RequirementControlLink",
|
|
@@ -255,5 +266,5 @@
|
|
|
255
266
|
]
|
|
256
267
|
}
|
|
257
268
|
},
|
|
258
|
-
"version": "manual-v1.8.1+sbdtoe-ontology-v2.
|
|
269
|
+
"version": "manual-v1.8.1+sbdtoe-ontology-v2.7"
|
|
259
270
|
}
|
|
@@ -112,6 +112,7 @@
|
|
|
112
112
|
"staging"
|
|
113
113
|
],
|
|
114
114
|
"bundle_ids": [
|
|
115
|
+
"01-classificacao-aplicacoes",
|
|
115
116
|
"02-requisitos-seguranca",
|
|
116
117
|
"05-dependencias-sbom-sca",
|
|
117
118
|
"07-cicd-seguro",
|
|
@@ -162,6 +163,7 @@
|
|
|
162
163
|
"operacoes"
|
|
163
164
|
],
|
|
164
165
|
"bundle_ids": [
|
|
166
|
+
"01-classificacao-aplicacoes",
|
|
165
167
|
"02-requisitos-seguranca",
|
|
166
168
|
"03-threat-modeling",
|
|
167
169
|
"04-arquitetura-segura",
|
|
@@ -214,10 +216,9 @@
|
|
|
214
216
|
}
|
|
215
217
|
],
|
|
216
218
|
"phases_unassigned": {
|
|
217
|
-
"assignment_count":
|
|
218
|
-
"chapter_count":
|
|
219
|
+
"assignment_count": 195,
|
|
220
|
+
"chapter_count": 7,
|
|
219
221
|
"chapters": [
|
|
220
|
-
"01-classificacao-aplicacoes",
|
|
221
222
|
"02-requisitos-seguranca",
|
|
222
223
|
"03-threat-modeling",
|
|
223
224
|
"05-dependencias-sbom-sca",
|
|
@@ -231,5 +232,26 @@
|
|
|
231
232
|
"profiles": [
|
|
232
233
|
"guide"
|
|
233
234
|
],
|
|
234
|
-
"source_artifact": "data/entities/sdlc_phases_canonical_s6.json"
|
|
235
|
+
"source_artifact": "data/entities/sdlc_phases_canonical_s6.json",
|
|
236
|
+
"traversal_assertion": {
|
|
237
|
+
"does_not_assert": "contenção; cobertura do cap. 00 (piso); equivalência fase↔capítulo",
|
|
238
|
+
"source": "practice_assignments autorados",
|
|
239
|
+
"verb": "opera-na-fase"
|
|
240
|
+
},
|
|
241
|
+
"unmapped_phase_labels": {
|
|
242
|
+
"Alteração": 1,
|
|
243
|
+
"Build/Promoção": 1,
|
|
244
|
+
"CI/CD / Pré-release": 1,
|
|
245
|
+
"CI/CD / Staging": 1,
|
|
246
|
+
"Catalogação": 1,
|
|
247
|
+
"Definição": 1,
|
|
248
|
+
"Design/Refactor": 1,
|
|
249
|
+
"Dev/CI": 2,
|
|
250
|
+
"Execução": 1,
|
|
251
|
+
"Implementação": 1,
|
|
252
|
+
"Integração": 1,
|
|
253
|
+
"Início/Revisão": 1,
|
|
254
|
+
"Staging / Pré-release": 1,
|
|
255
|
+
"Sunsetting": 1
|
|
256
|
+
}
|
|
235
257
|
}
|
|
@@ -134,5 +134,19 @@
|
|
|
134
134
|
"profiles": [
|
|
135
135
|
"guide"
|
|
136
136
|
],
|
|
137
|
+
"referenced_roles": {
|
|
138
|
+
"items": [
|
|
139
|
+
{
|
|
140
|
+
"absence_ref": "ABS-011",
|
|
141
|
+
"anchors": [
|
|
142
|
+
"13-formacao-onboarding/aplicacao-lifecycle.md:47 (US-01: «Como RH/PeopleOps, quero garantir formação obrigatória de onboarding em SbD…» — PROTAGONISTA de US autorada)",
|
|
143
|
+
"02-requisitos-seguranca/addon/02-lista-requisitos-base.md (mapeamento por domínio: responsável típico do cap. 13 inclui PeopleOps)"
|
|
144
|
+
],
|
|
145
|
+
"canonical": false,
|
|
146
|
+
"label": "RH/PeopleOps",
|
|
147
|
+
"referenced_role_id": "rh-peopleops"
|
|
148
|
+
}
|
|
149
|
+
]
|
|
150
|
+
},
|
|
137
151
|
"source_artifact": "data/entities/canonical_roles_s5.json"
|
|
138
152
|
}
|
|
@@ -31,13 +31,14 @@
|
|
|
31
31
|
"Ferramenta, versão, data documentados",
|
|
32
32
|
"Referência: [addon-11: Validação Assistida por Ferramentas](/sbd-toe/sbd-manual/classificacao-aplicacoes/addon/validacao-assistida-ferramentas)"
|
|
33
33
|
],
|
|
34
|
-
"confidence": 0.
|
|
34
|
+
"confidence": 0.95,
|
|
35
35
|
"context": null,
|
|
36
36
|
"document_path": "010-sbd-manual/01-classificacao-aplicacoes/aplicacao-lifecycle.md",
|
|
37
37
|
"evidence": [
|
|
38
38
|
"user story heading detected: US-01 - Classificação inicial da aplicação",
|
|
39
39
|
":::userstory block extracted",
|
|
40
40
|
"proportionality table extracted",
|
|
41
|
+
"sdlc integration table extracted",
|
|
41
42
|
"artifact list extracted"
|
|
42
43
|
],
|
|
43
44
|
"goal": "classificar a aplicação com base nos eixos Exposição, Dados e Impacto (E+D+I)",
|
|
@@ -75,13 +76,14 @@
|
|
|
75
76
|
"Exceções documentadas, aprovadas por AppSec Engineer com justificação técnica",
|
|
76
77
|
"AppSec Engineer valida mapeamento antes de entrada em backlog"
|
|
77
78
|
],
|
|
78
|
-
"confidence": 0.
|
|
79
|
+
"confidence": 0.95,
|
|
79
80
|
"context": null,
|
|
80
81
|
"document_path": "010-sbd-manual/01-classificacao-aplicacoes/aplicacao-lifecycle.md",
|
|
81
82
|
"evidence": [
|
|
82
83
|
"user story heading detected: US-02 - Aplicação da matriz de controlo",
|
|
83
84
|
":::userstory block extracted",
|
|
84
85
|
"proportionality table extracted",
|
|
86
|
+
"sdlc integration table extracted",
|
|
85
87
|
"artifact list extracted"
|
|
86
88
|
],
|
|
87
89
|
"goal": "aplicar a matriz de controlos e mapear cada requisito para REQ-XXX do Capítulo 02",
|
|
@@ -127,13 +129,14 @@
|
|
|
127
129
|
"Se nível alterou: trilho de escalação documentado",
|
|
128
130
|
"Referência: [addon-11: Validação Assistida por Ferramentas](/sbd-toe/sbd-manual/classificacao-aplicacoes/addon/validacao-assistida-ferramentas)"
|
|
129
131
|
],
|
|
130
|
-
"confidence": 0.
|
|
132
|
+
"confidence": 0.95,
|
|
131
133
|
"context": null,
|
|
132
134
|
"document_path": "010-sbd-manual/01-classificacao-aplicacoes/aplicacao-lifecycle.md",
|
|
133
135
|
"evidence": [
|
|
134
136
|
"user story heading detected: US-03 - Revisão por alteração relevante (event-based)",
|
|
135
137
|
":::userstory block extracted",
|
|
136
138
|
"proportionality table extracted",
|
|
139
|
+
"sdlc integration table extracted",
|
|
137
140
|
"artifact list extracted"
|
|
138
141
|
],
|
|
139
142
|
"goal": "rever a classificação de criticidade sempre que houver alterações relevantes",
|
|
@@ -171,13 +174,14 @@
|
|
|
171
174
|
"Em L3: aprovação adicional por Gestão Executiva/CISO",
|
|
172
175
|
"Entrada em ferramenta GRC com audit trail"
|
|
173
176
|
],
|
|
174
|
-
"confidence": 0.
|
|
177
|
+
"confidence": 0.95,
|
|
175
178
|
"context": null,
|
|
176
179
|
"document_path": "010-sbd-manual/01-classificacao-aplicacoes/aplicacao-lifecycle.md",
|
|
177
180
|
"evidence": [
|
|
178
181
|
"user story heading detected: US-04 - Análise de risco residual",
|
|
179
182
|
":::userstory block extracted",
|
|
180
183
|
"proportionality table extracted",
|
|
184
|
+
"sdlc integration table extracted",
|
|
181
185
|
"artifact list extracted"
|
|
182
186
|
],
|
|
183
187
|
"goal": "registar o risco residual após aplicar os controlos definidos",
|
|
@@ -215,13 +219,14 @@
|
|
|
215
219
|
"Nenhuma exceção não-aprovada pendente",
|
|
216
220
|
"Rastreamento: cada controlo ↔ evidência documentado"
|
|
217
221
|
],
|
|
218
|
-
"confidence": 0.
|
|
222
|
+
"confidence": 0.95,
|
|
219
223
|
"context": null,
|
|
220
224
|
"document_path": "010-sbd-manual/01-classificacao-aplicacoes/aplicacao-lifecycle.md",
|
|
221
225
|
"evidence": [
|
|
222
226
|
"user story heading detected: US-05 - Validação antes do go-live",
|
|
223
227
|
":::userstory block extracted",
|
|
224
228
|
"proportionality table extracted",
|
|
229
|
+
"sdlc integration table extracted",
|
|
225
230
|
"artifact list extracted"
|
|
226
231
|
],
|
|
227
232
|
"goal": "validar que os requisitos aplicáveis por nível de risco estão cumpridos antes da entrada em produção",
|
|
@@ -267,13 +272,14 @@
|
|
|
267
272
|
"Validação por Arquitetos + especialistas de domínio concluída",
|
|
268
273
|
"Referência: [addon-11: Validação Assistida por Ferramentas](/sbd-toe/sbd-manual/classificacao-aplicacoes/addon/validacao-assistida-ferramentas)"
|
|
269
274
|
],
|
|
270
|
-
"confidence": 0.
|
|
275
|
+
"confidence": 0.95,
|
|
271
276
|
"context": null,
|
|
272
277
|
"document_path": "010-sbd-manual/01-classificacao-aplicacoes/aplicacao-lifecycle.md",
|
|
273
278
|
"evidence": [
|
|
274
279
|
"user story heading detected: US-06 - Mapeamento de ameaças por nível de risco",
|
|
275
280
|
":::userstory block extracted",
|
|
276
281
|
"proportionality table extracted",
|
|
282
|
+
"sdlc integration table extracted",
|
|
277
283
|
"artifact list extracted"
|
|
278
284
|
],
|
|
279
285
|
"goal": "verificar se as ameaças esperadas para o nível de criticidade estão cobertas por controlos aplicados ou exceções rastreáveis",
|