@portll/cobolwork 0.2.140 → 0.2.150

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.
@@ -0,0 +1,2438 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "framework": "cobit-2019",
4
+ "instrument": "COBIT 2019 governance and management objectives (ISACA)",
5
+ "source": "https://www.isaca.org/resources/cobit",
6
+ "retrieved": "2026-09-20",
7
+ "verified": "Identifiers only, with this project's own rationale; no COBIT text is reproduced. Every identifier is checked against the forty COBIT 2019 objectives. The choice of practice is a human judgement and has not been reviewed by a qualified assessor or by ISACA.",
8
+ "coverage": "COBIT 2019 objective and practice identifiers only. No COBIT text is reproduced: the titles, descriptions and activities are ISACA's, and reading them needs a copy of the framework. Design factors, focus areas and capability levels are outside it.",
9
+ "appliesToTool": [
10
+ {
11
+ "clause": "BAI03.06"
12
+ }
13
+ ],
14
+ "unmapped": [
15
+ {
16
+ "ruleId": "recon-production-name-outside-production",
17
+ "why": "No COBIT 2019 practice is about disclosing internal system names in source. DSS06.06 secures information assets in general, and mapping to it would be the same near miss NIST declines."
18
+ },
19
+ {
20
+ "ruleId": "recon-routable-address-committed",
21
+ "why": "As above. DSS05.02 governs the connection rather than the disclosure of its address in a repository."
22
+ }
23
+ ],
24
+ "rows": [
25
+ {
26
+ "kind": "compliance",
27
+ "ruleId": "agent-directive-in-comment",
28
+ "framework": "cobit-2019",
29
+ "clause": "DSS06.02",
30
+ "rationale": "The rule reports: A comment tells its reader to ignore instructions, or to fetch and run something. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
31
+ "source": {
32
+ "doc": "cobit2019",
33
+ "retrieved": "2026-09-20",
34
+ "idsOnly": true
35
+ }
36
+ },
37
+ {
38
+ "kind": "compliance",
39
+ "ruleId": "argv-or-env-to-arithmetic",
40
+ "framework": "cobit-2019",
41
+ "clause": "DSS06.02",
42
+ "rationale": "The rule reports: Command-line or environment input reaches arithmetic on a decimal field, where bytes that are not digits abend the program. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
43
+ "source": {
44
+ "doc": "cobit2019",
45
+ "retrieved": "2026-09-20",
46
+ "idsOnly": true
47
+ }
48
+ },
49
+ {
50
+ "kind": "compliance",
51
+ "ruleId": "argv-or-env-to-cics-dynamic-transfer",
52
+ "framework": "cobit-2019",
53
+ "clause": "DSS06.02",
54
+ "rationale": "The rule reports: Command-line or environment input decides which program CICS transfers to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
55
+ "source": {
56
+ "doc": "cobit2019",
57
+ "retrieved": "2026-09-20",
58
+ "idsOnly": true
59
+ }
60
+ },
61
+ {
62
+ "kind": "compliance",
63
+ "ruleId": "argv-or-env-to-connection-target",
64
+ "framework": "cobit-2019",
65
+ "clause": "DSS06.02",
66
+ "rationale": "The rule reports: Command-line or environment input names the database or queue manager the program connects to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
67
+ "source": {
68
+ "doc": "cobit2019",
69
+ "retrieved": "2026-09-20",
70
+ "idsOnly": true
71
+ }
72
+ },
73
+ {
74
+ "kind": "compliance",
75
+ "ruleId": "argv-or-env-to-dynamic-file-path",
76
+ "framework": "cobit-2019",
77
+ "clause": "DSS06.02",
78
+ "rationale": "The rule reports: Command-line or environment input decides which file is opened. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
79
+ "source": {
80
+ "doc": "cobit2019",
81
+ "retrieved": "2026-09-20",
82
+ "idsOnly": true
83
+ }
84
+ },
85
+ {
86
+ "kind": "compliance",
87
+ "ruleId": "argv-or-env-to-dynamic-program-load",
88
+ "framework": "cobit-2019",
89
+ "clause": "DSS06.02",
90
+ "rationale": "The rule reports: Command-line or environment input decides which program is called. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
91
+ "source": {
92
+ "doc": "cobit2019",
93
+ "retrieved": "2026-09-20",
94
+ "idsOnly": true
95
+ }
96
+ },
97
+ {
98
+ "kind": "compliance",
99
+ "ruleId": "argv-or-env-to-dynamic-sql",
100
+ "framework": "cobit-2019",
101
+ "clause": "DSS06.02",
102
+ "rationale": "The rule reports: Command-line or environment input reaches dynamic SQL. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
103
+ "source": {
104
+ "doc": "cobit2019",
105
+ "retrieved": "2026-09-20",
106
+ "idsOnly": true
107
+ }
108
+ },
109
+ {
110
+ "kind": "compliance",
111
+ "ruleId": "argv-or-env-to-internal-reader",
112
+ "framework": "cobit-2019",
113
+ "clause": "DSS06.02",
114
+ "rationale": "The rule reports: Command-line or environment input is written into a job the internal reader submits. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
115
+ "source": {
116
+ "doc": "cobit2019",
117
+ "retrieved": "2026-09-20",
118
+ "idsOnly": true
119
+ }
120
+ },
121
+ {
122
+ "kind": "compliance",
123
+ "ruleId": "argv-or-env-to-loop-bound",
124
+ "framework": "cobit-2019",
125
+ "clause": "DSS06.02",
126
+ "rationale": "The rule reports: Command-line or environment input decides how far a loop that subscripts a table runs. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
127
+ "source": {
128
+ "doc": "cobit2019",
129
+ "retrieved": "2026-09-20",
130
+ "idsOnly": true
131
+ }
132
+ },
133
+ {
134
+ "kind": "compliance",
135
+ "ruleId": "argv-or-env-to-occurs-depending-count",
136
+ "framework": "cobit-2019",
137
+ "clause": "DSS06.02",
138
+ "rationale": "The rule reports: Command-line or environment input decides how many entries an OCCURS DEPENDING ON table holds. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
139
+ "source": {
140
+ "doc": "cobit2019",
141
+ "retrieved": "2026-09-20",
142
+ "idsOnly": true
143
+ }
144
+ },
145
+ {
146
+ "kind": "compliance",
147
+ "ruleId": "argv-or-env-to-os-command",
148
+ "framework": "cobit-2019",
149
+ "clause": "DSS06.02",
150
+ "rationale": "The rule reports: Command-line or environment input reaches an operating-system command routine. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
151
+ "source": {
152
+ "doc": "cobit2019",
153
+ "retrieved": "2026-09-20",
154
+ "idsOnly": true
155
+ }
156
+ },
157
+ {
158
+ "kind": "compliance",
159
+ "ruleId": "argv-or-env-to-reference-modification",
160
+ "framework": "cobit-2019",
161
+ "clause": "DSS06.02",
162
+ "rationale": "The rule reports: Command-line or environment input decides where a reference modification starts or how long it is. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
163
+ "source": {
164
+ "doc": "cobit2019",
165
+ "retrieved": "2026-09-20",
166
+ "idsOnly": true
167
+ }
168
+ },
169
+ {
170
+ "kind": "compliance",
171
+ "ruleId": "argv-or-env-to-storage-length",
172
+ "framework": "cobit-2019",
173
+ "clause": "DSS06.02",
174
+ "rationale": "The rule reports: Command-line or environment input decides how much storage the program acquires. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
175
+ "source": {
176
+ "doc": "cobit2019",
177
+ "retrieved": "2026-09-20",
178
+ "idsOnly": true
179
+ }
180
+ },
181
+ {
182
+ "kind": "compliance",
183
+ "ruleId": "argv-or-env-to-subscript",
184
+ "framework": "cobit-2019",
185
+ "clause": "DSS06.02",
186
+ "rationale": "The rule reports: Command-line or environment input is used as a subscript. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
187
+ "source": {
188
+ "doc": "cobit2019",
189
+ "retrieved": "2026-09-20",
190
+ "idsOnly": true
191
+ }
192
+ },
193
+ {
194
+ "kind": "compliance",
195
+ "ruleId": "bidi-or-invisible-characters",
196
+ "framework": "cobit-2019",
197
+ "clause": "DSS06.02",
198
+ "rationale": "The rule reports: Characters that reorder or hide text appear in the source. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
199
+ "source": {
200
+ "doc": "cobit2019",
201
+ "retrieved": "2026-09-20",
202
+ "idsOnly": true
203
+ }
204
+ },
205
+ {
206
+ "kind": "compliance",
207
+ "ruleId": "binary-store-exceeds-picture-under-trunc-opt",
208
+ "framework": "cobit-2019",
209
+ "clause": "DSS06.02",
210
+ "rationale": "The rule reports: Under TRUNC(OPT) a binary field receives a value that can have more digits than its PICTURE. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
211
+ "source": {
212
+ "doc": "cobit2019",
213
+ "retrieved": "2026-09-20",
214
+ "idsOnly": true
215
+ }
216
+ },
217
+ {
218
+ "kind": "compliance",
219
+ "ruleId": "build-pins-exploited-compiler",
220
+ "framework": "cobit-2019",
221
+ "clause": "DSS05.07",
222
+ "rationale": "The rule reports: The build pins a compiler version with a vulnerability CISA lists as known to be exploited. That is a known vulnerability present in the build, which this practice requires be managed.",
223
+ "source": {
224
+ "doc": "cobit2019",
225
+ "retrieved": "2026-09-20",
226
+ "idsOnly": true
227
+ }
228
+ },
229
+ {
230
+ "kind": "compliance",
231
+ "ruleId": "build-pins-exploited-component",
232
+ "framework": "cobit-2019",
233
+ "clause": "DSS05.07",
234
+ "rationale": "The rule reports: The build pins a component version with a vulnerability CISA lists as known to be exploited. That is a known vulnerability present in the build, which this practice requires be managed.",
235
+ "source": {
236
+ "doc": "cobit2019",
237
+ "retrieved": "2026-09-20",
238
+ "idsOnly": true
239
+ }
240
+ },
241
+ {
242
+ "kind": "compliance",
243
+ "ruleId": "build-pins-vulnerable-compiler",
244
+ "framework": "cobit-2019",
245
+ "clause": "DSS05.07",
246
+ "rationale": "The rule reports: The build pins a compiler version with a published advisory against it. That is a known vulnerability present in the build, which this practice requires be managed.",
247
+ "source": {
248
+ "doc": "cobit2019",
249
+ "retrieved": "2026-09-20",
250
+ "idsOnly": true
251
+ }
252
+ },
253
+ {
254
+ "kind": "compliance",
255
+ "ruleId": "build-pins-vulnerable-component",
256
+ "framework": "cobit-2019",
257
+ "clause": "DSS05.07",
258
+ "rationale": "The rule reports: The build pins a component version with a published advisory against it. That is a known vulnerability present in the build, which this practice requires be managed.",
259
+ "source": {
260
+ "doc": "cobit2019",
261
+ "retrieved": "2026-09-20",
262
+ "idsOnly": true
263
+ }
264
+ },
265
+ {
266
+ "kind": "compliance",
267
+ "ruleId": "call-parameter-exceeds-argument",
268
+ "framework": "cobit-2019",
269
+ "clause": "DSS06.02",
270
+ "rationale": "The rule reports: A called program declares a parameter longer than the field its caller passes, reaching into the fields beside it. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
271
+ "source": {
272
+ "doc": "cobit2019",
273
+ "retrieved": "2026-09-20",
274
+ "idsOnly": true
275
+ }
276
+ },
277
+ {
278
+ "kind": "compliance",
279
+ "ruleId": "call-parameter-exceeds-caller-record",
280
+ "framework": "cobit-2019",
281
+ "clause": "DSS06.02",
282
+ "rationale": "The rule reports: A called program declares a parameter longer than the whole record its caller passes. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
283
+ "source": {
284
+ "doc": "cobit2019",
285
+ "retrieved": "2026-09-20",
286
+ "idsOnly": true
287
+ }
288
+ },
289
+ {
290
+ "kind": "compliance",
291
+ "ruleId": "character-range-reverses-in-ascii",
292
+ "framework": "cobit-2019",
293
+ "clause": "DSS06.02",
294
+ "rationale": "The rule reports: A range of characters is in order in EBCDIC and reversed in ASCII, or the other way round, so it holds values in one and none in the other. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
295
+ "source": {
296
+ "doc": "cobit2019",
297
+ "retrieved": "2026-09-20",
298
+ "idsOnly": true
299
+ }
300
+ },
301
+ {
302
+ "kind": "compliance",
303
+ "ruleId": "cics-commarea-length-exceeds-area",
304
+ "framework": "cobit-2019",
305
+ "clause": "DSS06.02",
306
+ "rationale": "The rule reports: A CICS call passes a length longer than the area it passes. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
307
+ "source": {
308
+ "doc": "cobit2019",
309
+ "retrieved": "2026-09-20",
310
+ "idsOnly": true
311
+ }
312
+ },
313
+ {
314
+ "kind": "compliance",
315
+ "ruleId": "cics-commarea-length-exceeds-callee",
316
+ "framework": "cobit-2019",
317
+ "clause": "DSS06.02",
318
+ "rationale": "The rule reports: A CICS call passes a length longer than the callee declares. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
319
+ "source": {
320
+ "doc": "cobit2019",
321
+ "retrieved": "2026-09-20",
322
+ "idsOnly": true
323
+ }
324
+ },
325
+ {
326
+ "kind": "compliance",
327
+ "ruleId": "cics-commarea-without-length-check",
328
+ "framework": "cobit-2019",
329
+ "clause": "DSS06.02",
330
+ "rationale": "The rule reports: A program reads its communication area without checking EIBCALEN. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
331
+ "source": {
332
+ "doc": "cobit2019",
333
+ "retrieved": "2026-09-20",
334
+ "idsOnly": true
335
+ }
336
+ },
337
+ {
338
+ "kind": "compliance",
339
+ "ruleId": "cics-condition-ignored",
340
+ "framework": "cobit-2019",
341
+ "clause": "DSS06.02",
342
+ "rationale": "The rule reports: A program issues CICS commands whose failure it cannot see: NOHANDLE with no RESP, or IGNORE CONDITION. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
343
+ "source": {
344
+ "doc": "cobit2019",
345
+ "retrieved": "2026-09-20",
346
+ "idsOnly": true
347
+ }
348
+ },
349
+ {
350
+ "kind": "compliance",
351
+ "ruleId": "cics-listener-accepts-cleartext",
352
+ "framework": "cobit-2019",
353
+ "clause": "DSS05.02",
354
+ "rationale": "The rule reports: A CICS listener accepts connections without TLS. That is information or a credential crossing a connection with nothing protecting it, which this practice requires be secured.",
355
+ "source": {
356
+ "doc": "cobit2019",
357
+ "retrieved": "2026-09-20",
358
+ "idsOnly": true
359
+ }
360
+ },
361
+ {
362
+ "kind": "compliance",
363
+ "ruleId": "cics-protected-field-to-record-key",
364
+ "framework": "cobit-2019",
365
+ "clause": "DSS06.02",
366
+ "rationale": "The rule reports: A field the map protects, which a modified 3270 client can change, decides which record the program reads or browses from. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
367
+ "source": {
368
+ "doc": "cobit2019",
369
+ "retrieved": "2026-09-20",
370
+ "idsOnly": true
371
+ }
372
+ },
373
+ {
374
+ "kind": "compliance",
375
+ "ruleId": "cics-protected-field-to-record-update",
376
+ "framework": "cobit-2019",
377
+ "clause": "DSS06.02",
378
+ "rationale": "The rule reports: A field the map protects, which a modified 3270 client can change, decides which record the program changes or deletes. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
379
+ "source": {
380
+ "doc": "cobit2019",
381
+ "retrieved": "2026-09-20",
382
+ "idsOnly": true
383
+ }
384
+ },
385
+ {
386
+ "kind": "compliance",
387
+ "ruleId": "cics-signon-bypassed",
388
+ "framework": "cobit-2019",
389
+ "clause": "DSS06.02",
390
+ "rationale": "The rule reports: A route reaches the program a sign-on grants without passing the password check. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
391
+ "source": {
392
+ "doc": "cobit2019",
393
+ "retrieved": "2026-09-20",
394
+ "idsOnly": true
395
+ }
396
+ },
397
+ {
398
+ "kind": "compliance",
399
+ "ruleId": "cics-signon-password",
400
+ "framework": "cobit-2019",
401
+ "clause": "DSS05.04",
402
+ "rationale": "The rule reports: Credential pattern: cics signon password. That is access or authentication handled outside the managed identity and logical access this practice requires.",
403
+ "source": {
404
+ "doc": "cobit2019",
405
+ "retrieved": "2026-09-20",
406
+ "idsOnly": true
407
+ }
408
+ },
409
+ {
410
+ "kind": "compliance",
411
+ "ruleId": "cics-signon-says-which-half-failed",
412
+ "framework": "cobit-2019",
413
+ "clause": "DSS06.02",
414
+ "rationale": "The rule reports: A sign-on answers a bad user and a bad password differently. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
415
+ "source": {
416
+ "doc": "cobit2019",
417
+ "retrieved": "2026-09-20",
418
+ "idsOnly": true
419
+ }
420
+ },
421
+ {
422
+ "kind": "compliance",
423
+ "ruleId": "cics-terminal-to-arithmetic",
424
+ "framework": "cobit-2019",
425
+ "clause": "DSS06.02",
426
+ "rationale": "The rule reports: Terminal input reaches arithmetic on a decimal field, where bytes that are not digits abend the program. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
427
+ "source": {
428
+ "doc": "cobit2019",
429
+ "retrieved": "2026-09-20",
430
+ "idsOnly": true
431
+ }
432
+ },
433
+ {
434
+ "kind": "compliance",
435
+ "ruleId": "cics-terminal-to-cics-dynamic-transfer",
436
+ "framework": "cobit-2019",
437
+ "clause": "DSS06.02",
438
+ "rationale": "The rule reports: Terminal input decides which program CICS transfers to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
439
+ "source": {
440
+ "doc": "cobit2019",
441
+ "retrieved": "2026-09-20",
442
+ "idsOnly": true
443
+ }
444
+ },
445
+ {
446
+ "kind": "compliance",
447
+ "ruleId": "cics-terminal-to-cics-sysid",
448
+ "framework": "cobit-2019",
449
+ "clause": "DSS06.02",
450
+ "rationale": "The rule reports: Terminal input decides which region a CICS command is shipped to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
451
+ "source": {
452
+ "doc": "cobit2019",
453
+ "retrieved": "2026-09-20",
454
+ "idsOnly": true
455
+ }
456
+ },
457
+ {
458
+ "kind": "compliance",
459
+ "ruleId": "cics-terminal-to-cics-system-resource",
460
+ "framework": "cobit-2019",
461
+ "clause": "DSS06.02",
462
+ "rationale": "The rule reports: Terminal input names the resource an EXEC CICS SET changes. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
463
+ "source": {
464
+ "doc": "cobit2019",
465
+ "retrieved": "2026-09-20",
466
+ "idsOnly": true
467
+ }
468
+ },
469
+ {
470
+ "kind": "compliance",
471
+ "ruleId": "cics-terminal-to-connection-target",
472
+ "framework": "cobit-2019",
473
+ "clause": "DSS06.02",
474
+ "rationale": "The rule reports: Terminal input names the database or queue manager the program connects to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
475
+ "source": {
476
+ "doc": "cobit2019",
477
+ "retrieved": "2026-09-20",
478
+ "idsOnly": true
479
+ }
480
+ },
481
+ {
482
+ "kind": "compliance",
483
+ "ruleId": "cics-terminal-to-dynamic-file-path",
484
+ "framework": "cobit-2019",
485
+ "clause": "DSS06.02",
486
+ "rationale": "The rule reports: Terminal input decides which file is opened. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
487
+ "source": {
488
+ "doc": "cobit2019",
489
+ "retrieved": "2026-09-20",
490
+ "idsOnly": true
491
+ }
492
+ },
493
+ {
494
+ "kind": "compliance",
495
+ "ruleId": "cics-terminal-to-dynamic-program-load",
496
+ "framework": "cobit-2019",
497
+ "clause": "DSS06.02",
498
+ "rationale": "The rule reports: Terminal input decides which program is called. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
499
+ "source": {
500
+ "doc": "cobit2019",
501
+ "retrieved": "2026-09-20",
502
+ "idsOnly": true
503
+ }
504
+ },
505
+ {
506
+ "kind": "compliance",
507
+ "ruleId": "cics-terminal-to-dynamic-sql",
508
+ "framework": "cobit-2019",
509
+ "clause": "DSS06.02",
510
+ "rationale": "The rule reports: Terminal input reaches dynamic SQL. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
511
+ "source": {
512
+ "doc": "cobit2019",
513
+ "retrieved": "2026-09-20",
514
+ "idsOnly": true
515
+ }
516
+ },
517
+ {
518
+ "kind": "compliance",
519
+ "ruleId": "cics-terminal-to-http-header",
520
+ "framework": "cobit-2019",
521
+ "clause": "DSS06.02",
522
+ "rationale": "The rule reports: Terminal input is written into a header of the response. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
523
+ "source": {
524
+ "doc": "cobit2019",
525
+ "retrieved": "2026-09-20",
526
+ "idsOnly": true
527
+ }
528
+ },
529
+ {
530
+ "kind": "compliance",
531
+ "ruleId": "cics-terminal-to-internal-reader",
532
+ "framework": "cobit-2019",
533
+ "clause": "DSS06.02",
534
+ "rationale": "The rule reports: Terminal input is written into a job the internal reader submits. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
535
+ "source": {
536
+ "doc": "cobit2019",
537
+ "retrieved": "2026-09-20",
538
+ "idsOnly": true
539
+ }
540
+ },
541
+ {
542
+ "kind": "compliance",
543
+ "ruleId": "cics-terminal-to-log",
544
+ "framework": "cobit-2019",
545
+ "clause": "DSS06.02",
546
+ "rationale": "The rule reports: Terminal input is written to a log unchecked, where control characters in it can start a line the program did not write. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
547
+ "source": {
548
+ "doc": "cobit2019",
549
+ "retrieved": "2026-09-20",
550
+ "idsOnly": true
551
+ }
552
+ },
553
+ {
554
+ "kind": "compliance",
555
+ "ruleId": "cics-terminal-to-loop-bound",
556
+ "framework": "cobit-2019",
557
+ "clause": "DSS06.02",
558
+ "rationale": "The rule reports: Terminal input decides how far a loop that subscripts a table runs. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
559
+ "source": {
560
+ "doc": "cobit2019",
561
+ "retrieved": "2026-09-20",
562
+ "idsOnly": true
563
+ }
564
+ },
565
+ {
566
+ "kind": "compliance",
567
+ "ruleId": "cics-terminal-to-occurs-depending-count",
568
+ "framework": "cobit-2019",
569
+ "clause": "DSS06.02",
570
+ "rationale": "The rule reports: Terminal input decides how many entries an OCCURS DEPENDING ON table holds. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
571
+ "source": {
572
+ "doc": "cobit2019",
573
+ "retrieved": "2026-09-20",
574
+ "idsOnly": true
575
+ }
576
+ },
577
+ {
578
+ "kind": "compliance",
579
+ "ruleId": "cics-terminal-to-os-command",
580
+ "framework": "cobit-2019",
581
+ "clause": "DSS06.02",
582
+ "rationale": "The rule reports: Terminal input reaches an operating-system command routine. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
583
+ "source": {
584
+ "doc": "cobit2019",
585
+ "retrieved": "2026-09-20",
586
+ "idsOnly": true
587
+ }
588
+ },
589
+ {
590
+ "kind": "compliance",
591
+ "ruleId": "cics-terminal-to-outbound-host",
592
+ "framework": "cobit-2019",
593
+ "clause": "DSS06.02",
594
+ "rationale": "The rule reports: Terminal input decides the host or path this program sends a request to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
595
+ "source": {
596
+ "doc": "cobit2019",
597
+ "retrieved": "2026-09-20",
598
+ "idsOnly": true
599
+ }
600
+ },
601
+ {
602
+ "kind": "compliance",
603
+ "ruleId": "cics-terminal-to-queue-name",
604
+ "framework": "cobit-2019",
605
+ "clause": "DSS06.02",
606
+ "rationale": "The rule reports: Terminal input names the queue a command reads, writes or deletes. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
607
+ "source": {
608
+ "doc": "cobit2019",
609
+ "retrieved": "2026-09-20",
610
+ "idsOnly": true
611
+ }
612
+ },
613
+ {
614
+ "kind": "compliance",
615
+ "ruleId": "cics-terminal-to-reference-modification",
616
+ "framework": "cobit-2019",
617
+ "clause": "DSS06.02",
618
+ "rationale": "The rule reports: Terminal input decides where a reference modification starts or how long it is. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
619
+ "source": {
620
+ "doc": "cobit2019",
621
+ "retrieved": "2026-09-20",
622
+ "idsOnly": true
623
+ }
624
+ },
625
+ {
626
+ "kind": "compliance",
627
+ "ruleId": "cics-terminal-to-storage-length",
628
+ "framework": "cobit-2019",
629
+ "clause": "DSS06.02",
630
+ "rationale": "The rule reports: Terminal input decides how much storage the program acquires. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
631
+ "source": {
632
+ "doc": "cobit2019",
633
+ "retrieved": "2026-09-20",
634
+ "idsOnly": true
635
+ }
636
+ },
637
+ {
638
+ "kind": "compliance",
639
+ "ruleId": "cics-terminal-to-subscript",
640
+ "framework": "cobit-2019",
641
+ "clause": "DSS06.02",
642
+ "rationale": "The rule reports: Terminal input is used as a subscript. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
643
+ "source": {
644
+ "doc": "cobit2019",
645
+ "retrieved": "2026-09-20",
646
+ "idsOnly": true
647
+ }
648
+ },
649
+ {
650
+ "kind": "compliance",
651
+ "ruleId": "cics-terminal-to-web-response",
652
+ "framework": "cobit-2019",
653
+ "clause": "DSS06.02",
654
+ "rationale": "The rule reports: Terminal input is written into the response this program returns. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
655
+ "source": {
656
+ "doc": "cobit2019",
657
+ "retrieved": "2026-09-20",
658
+ "idsOnly": true
659
+ }
660
+ },
661
+ {
662
+ "kind": "compliance",
663
+ "ruleId": "cics-terminal-to-xml-document",
664
+ "framework": "cobit-2019",
665
+ "clause": "DSS06.02",
666
+ "rationale": "The rule reports: Terminal input is parsed as an XML document. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
667
+ "source": {
668
+ "doc": "cobit2019",
669
+ "retrieved": "2026-09-20",
670
+ "idsOnly": true
671
+ }
672
+ },
673
+ {
674
+ "kind": "compliance",
675
+ "ruleId": "cics-transfer-to-variable-program",
676
+ "framework": "cobit-2019",
677
+ "clause": "DSS06.02",
678
+ "rationale": "The rule reports: CICS transfers control to a program named by a variable. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
679
+ "source": {
680
+ "doc": "cobit2019",
681
+ "retrieved": "2026-09-20",
682
+ "idsOnly": true
683
+ }
684
+ },
685
+ {
686
+ "kind": "compliance",
687
+ "ruleId": "cics-web-to-arithmetic",
688
+ "framework": "cobit-2019",
689
+ "clause": "DSS06.02",
690
+ "rationale": "The rule reports: Web input reaches arithmetic on a decimal field, where bytes that are not digits abend the program. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
691
+ "source": {
692
+ "doc": "cobit2019",
693
+ "retrieved": "2026-09-20",
694
+ "idsOnly": true
695
+ }
696
+ },
697
+ {
698
+ "kind": "compliance",
699
+ "ruleId": "cics-web-to-cics-dynamic-transfer",
700
+ "framework": "cobit-2019",
701
+ "clause": "DSS06.02",
702
+ "rationale": "The rule reports: Web input decides which program CICS transfers to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
703
+ "source": {
704
+ "doc": "cobit2019",
705
+ "retrieved": "2026-09-20",
706
+ "idsOnly": true
707
+ }
708
+ },
709
+ {
710
+ "kind": "compliance",
711
+ "ruleId": "cics-web-to-cics-sysid",
712
+ "framework": "cobit-2019",
713
+ "clause": "DSS06.02",
714
+ "rationale": "The rule reports: Web input decides which region a CICS command is shipped to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
715
+ "source": {
716
+ "doc": "cobit2019",
717
+ "retrieved": "2026-09-20",
718
+ "idsOnly": true
719
+ }
720
+ },
721
+ {
722
+ "kind": "compliance",
723
+ "ruleId": "cics-web-to-cics-system-resource",
724
+ "framework": "cobit-2019",
725
+ "clause": "DSS06.02",
726
+ "rationale": "The rule reports: Web input names the resource an EXEC CICS SET changes. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
727
+ "source": {
728
+ "doc": "cobit2019",
729
+ "retrieved": "2026-09-20",
730
+ "idsOnly": true
731
+ }
732
+ },
733
+ {
734
+ "kind": "compliance",
735
+ "ruleId": "cics-web-to-connection-target",
736
+ "framework": "cobit-2019",
737
+ "clause": "DSS06.02",
738
+ "rationale": "The rule reports: Web input names the database or queue manager the program connects to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
739
+ "source": {
740
+ "doc": "cobit2019",
741
+ "retrieved": "2026-09-20",
742
+ "idsOnly": true
743
+ }
744
+ },
745
+ {
746
+ "kind": "compliance",
747
+ "ruleId": "cics-web-to-dynamic-file-path",
748
+ "framework": "cobit-2019",
749
+ "clause": "DSS06.02",
750
+ "rationale": "The rule reports: Web input decides which file is opened. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
751
+ "source": {
752
+ "doc": "cobit2019",
753
+ "retrieved": "2026-09-20",
754
+ "idsOnly": true
755
+ }
756
+ },
757
+ {
758
+ "kind": "compliance",
759
+ "ruleId": "cics-web-to-dynamic-program-load",
760
+ "framework": "cobit-2019",
761
+ "clause": "DSS06.02",
762
+ "rationale": "The rule reports: Web input decides which program is called. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
763
+ "source": {
764
+ "doc": "cobit2019",
765
+ "retrieved": "2026-09-20",
766
+ "idsOnly": true
767
+ }
768
+ },
769
+ {
770
+ "kind": "compliance",
771
+ "ruleId": "cics-web-to-dynamic-sql",
772
+ "framework": "cobit-2019",
773
+ "clause": "DSS06.02",
774
+ "rationale": "The rule reports: Web input reaches dynamic SQL. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
775
+ "source": {
776
+ "doc": "cobit2019",
777
+ "retrieved": "2026-09-20",
778
+ "idsOnly": true
779
+ }
780
+ },
781
+ {
782
+ "kind": "compliance",
783
+ "ruleId": "cics-web-to-http-header",
784
+ "framework": "cobit-2019",
785
+ "clause": "DSS06.02",
786
+ "rationale": "The rule reports: Web input is written into a header of the response. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
787
+ "source": {
788
+ "doc": "cobit2019",
789
+ "retrieved": "2026-09-20",
790
+ "idsOnly": true
791
+ }
792
+ },
793
+ {
794
+ "kind": "compliance",
795
+ "ruleId": "cics-web-to-internal-reader",
796
+ "framework": "cobit-2019",
797
+ "clause": "DSS06.02",
798
+ "rationale": "The rule reports: Web input is written into a job the internal reader submits. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
799
+ "source": {
800
+ "doc": "cobit2019",
801
+ "retrieved": "2026-09-20",
802
+ "idsOnly": true
803
+ }
804
+ },
805
+ {
806
+ "kind": "compliance",
807
+ "ruleId": "cics-web-to-log",
808
+ "framework": "cobit-2019",
809
+ "clause": "DSS06.02",
810
+ "rationale": "The rule reports: Web request data is written to a log unchecked, where control characters in it can start a line the program did not write. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
811
+ "source": {
812
+ "doc": "cobit2019",
813
+ "retrieved": "2026-09-20",
814
+ "idsOnly": true
815
+ }
816
+ },
817
+ {
818
+ "kind": "compliance",
819
+ "ruleId": "cics-web-to-loop-bound",
820
+ "framework": "cobit-2019",
821
+ "clause": "DSS06.02",
822
+ "rationale": "The rule reports: Web input decides how far a loop that subscripts a table runs. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
823
+ "source": {
824
+ "doc": "cobit2019",
825
+ "retrieved": "2026-09-20",
826
+ "idsOnly": true
827
+ }
828
+ },
829
+ {
830
+ "kind": "compliance",
831
+ "ruleId": "cics-web-to-occurs-depending-count",
832
+ "framework": "cobit-2019",
833
+ "clause": "DSS06.02",
834
+ "rationale": "The rule reports: Web input decides how many entries an OCCURS DEPENDING ON table holds. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
835
+ "source": {
836
+ "doc": "cobit2019",
837
+ "retrieved": "2026-09-20",
838
+ "idsOnly": true
839
+ }
840
+ },
841
+ {
842
+ "kind": "compliance",
843
+ "ruleId": "cics-web-to-os-command",
844
+ "framework": "cobit-2019",
845
+ "clause": "DSS06.02",
846
+ "rationale": "The rule reports: Web input reaches an operating-system command routine. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
847
+ "source": {
848
+ "doc": "cobit2019",
849
+ "retrieved": "2026-09-20",
850
+ "idsOnly": true
851
+ }
852
+ },
853
+ {
854
+ "kind": "compliance",
855
+ "ruleId": "cics-web-to-outbound-host",
856
+ "framework": "cobit-2019",
857
+ "clause": "DSS06.02",
858
+ "rationale": "The rule reports: Web input decides the host or path this program sends a request to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
859
+ "source": {
860
+ "doc": "cobit2019",
861
+ "retrieved": "2026-09-20",
862
+ "idsOnly": true
863
+ }
864
+ },
865
+ {
866
+ "kind": "compliance",
867
+ "ruleId": "cics-web-to-queue-name",
868
+ "framework": "cobit-2019",
869
+ "clause": "DSS06.02",
870
+ "rationale": "The rule reports: Web input names the queue a command reads, writes or deletes. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
871
+ "source": {
872
+ "doc": "cobit2019",
873
+ "retrieved": "2026-09-20",
874
+ "idsOnly": true
875
+ }
876
+ },
877
+ {
878
+ "kind": "compliance",
879
+ "ruleId": "cics-web-to-reference-modification",
880
+ "framework": "cobit-2019",
881
+ "clause": "DSS06.02",
882
+ "rationale": "The rule reports: Web input decides where a reference modification starts or how long it is. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
883
+ "source": {
884
+ "doc": "cobit2019",
885
+ "retrieved": "2026-09-20",
886
+ "idsOnly": true
887
+ }
888
+ },
889
+ {
890
+ "kind": "compliance",
891
+ "ruleId": "cics-web-to-storage-length",
892
+ "framework": "cobit-2019",
893
+ "clause": "DSS06.02",
894
+ "rationale": "The rule reports: Web input decides how much storage the program acquires. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
895
+ "source": {
896
+ "doc": "cobit2019",
897
+ "retrieved": "2026-09-20",
898
+ "idsOnly": true
899
+ }
900
+ },
901
+ {
902
+ "kind": "compliance",
903
+ "ruleId": "cics-web-to-subscript",
904
+ "framework": "cobit-2019",
905
+ "clause": "DSS06.02",
906
+ "rationale": "The rule reports: Web input is used as a subscript. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
907
+ "source": {
908
+ "doc": "cobit2019",
909
+ "retrieved": "2026-09-20",
910
+ "idsOnly": true
911
+ }
912
+ },
913
+ {
914
+ "kind": "compliance",
915
+ "ruleId": "cics-web-to-web-response",
916
+ "framework": "cobit-2019",
917
+ "clause": "DSS06.02",
918
+ "rationale": "The rule reports: Web input is written into the response this program returns. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
919
+ "source": {
920
+ "doc": "cobit2019",
921
+ "retrieved": "2026-09-20",
922
+ "idsOnly": true
923
+ }
924
+ },
925
+ {
926
+ "kind": "compliance",
927
+ "ruleId": "cics-web-to-xml-document",
928
+ "framework": "cobit-2019",
929
+ "clause": "DSS06.02",
930
+ "rationale": "The rule reports: Web input is parsed as an XML document. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
931
+ "source": {
932
+ "doc": "cobit2019",
933
+ "retrieved": "2026-09-20",
934
+ "idsOnly": true
935
+ }
936
+ },
937
+ {
938
+ "kind": "compliance",
939
+ "ruleId": "cobol-value-credential",
940
+ "framework": "cobit-2019",
941
+ "clause": "DSS05.04",
942
+ "rationale": "The rule reports: Credential pattern: cobol value credential. That is access or authentication handled outside the managed identity and logical access this practice requires.",
943
+ "source": {
944
+ "doc": "cobit2019",
945
+ "retrieved": "2026-09-20",
946
+ "idsOnly": true
947
+ }
948
+ },
949
+ {
950
+ "kind": "compliance",
951
+ "ruleId": "compile-undefined-name",
952
+ "framework": "cobit-2019",
953
+ "clause": "BAI09.01",
954
+ "rationale": "The rule reports: A program uses names that nothing it declares or copies defines, so it cannot compile. That is a component the record of assets does not account for, which this practice requires be identified and recorded.",
955
+ "source": {
956
+ "doc": "cobit2019",
957
+ "retrieved": "2026-09-20",
958
+ "idsOnly": true
959
+ }
960
+ },
961
+ {
962
+ "kind": "compliance",
963
+ "ruleId": "control-cards-from-dataset",
964
+ "framework": "cobit-2019",
965
+ "clause": "BAI06.01",
966
+ "rationale": "The rule reports: A utility step reads the commands it runs from a cataloged data set, so what it runs is not in the reviewed JCL. That is a change whose impact has to be assessed before it is authorised, which this practice requires.",
967
+ "source": {
968
+ "doc": "cobit2019",
969
+ "retrieved": "2026-09-20",
970
+ "idsOnly": true
971
+ }
972
+ },
973
+ {
974
+ "kind": "compliance",
975
+ "ruleId": "copybook-shadowed",
976
+ "framework": "cobit-2019",
977
+ "clause": "BAI09.01",
978
+ "rationale": "The rule reports: Two copybooks with different contents answer to the same name, and programs resolve it to different files. That is a component the record of assets does not account for, which this practice requires be identified and recorded.",
979
+ "source": {
980
+ "doc": "cobit2019",
981
+ "retrieved": "2026-09-20",
982
+ "idsOnly": true
983
+ }
984
+ },
985
+ {
986
+ "kind": "compliance",
987
+ "ruleId": "copybook-shadows-system",
988
+ "framework": "cobit-2019",
989
+ "clause": "BAI09.01",
990
+ "rationale": "The rule reports: A copybook in the repository has the name of a system copybook, and is found before it. That is a component the record of assets does not account for, which this practice requires be identified and recorded.",
991
+ "source": {
992
+ "doc": "cobit2019",
993
+ "retrieved": "2026-09-20",
994
+ "idsOnly": true
995
+ }
996
+ },
997
+ {
998
+ "kind": "compliance",
999
+ "ruleId": "csd-defines-diagnostic-transaction",
1000
+ "framework": "cobit-2019",
1001
+ "clause": "DSS05.04",
1002
+ "rationale": "The rule reports: A definition in this repository installs one of the CICS diagnostic transactions. That is access or authentication handled outside the managed identity and logical access this practice requires.",
1003
+ "source": {
1004
+ "doc": "cobit2019",
1005
+ "retrieved": "2026-09-20",
1006
+ "idsOnly": true
1007
+ }
1008
+ },
1009
+ {
1010
+ "kind": "compliance",
1011
+ "ruleId": "csd-transaction-without-command-security",
1012
+ "framework": "cobit-2019",
1013
+ "clause": "DSS05.04",
1014
+ "rationale": "The rule reports: A transaction whose program issues system commands runs without command security. That is access or authentication handled outside the managed identity and logical access this practice requires.",
1015
+ "source": {
1016
+ "doc": "cobit2019",
1017
+ "retrieved": "2026-09-20",
1018
+ "idsOnly": true
1019
+ }
1020
+ },
1021
+ {
1022
+ "kind": "compliance",
1023
+ "ruleId": "database-to-cics-dynamic-transfer",
1024
+ "framework": "cobit-2019",
1025
+ "clause": "DSS06.02",
1026
+ "rationale": "The rule reports: A database value decides which program CICS transfers to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1027
+ "source": {
1028
+ "doc": "cobit2019",
1029
+ "retrieved": "2026-09-20",
1030
+ "idsOnly": true
1031
+ }
1032
+ },
1033
+ {
1034
+ "kind": "compliance",
1035
+ "ruleId": "database-to-cics-sysid",
1036
+ "framework": "cobit-2019",
1037
+ "clause": "DSS06.02",
1038
+ "rationale": "The rule reports: A database value decides which region a CICS command is shipped to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1039
+ "source": {
1040
+ "doc": "cobit2019",
1041
+ "retrieved": "2026-09-20",
1042
+ "idsOnly": true
1043
+ }
1044
+ },
1045
+ {
1046
+ "kind": "compliance",
1047
+ "ruleId": "database-to-cics-system-resource",
1048
+ "framework": "cobit-2019",
1049
+ "clause": "DSS06.02",
1050
+ "rationale": "The rule reports: A database value names the resource an EXEC CICS SET changes. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1051
+ "source": {
1052
+ "doc": "cobit2019",
1053
+ "retrieved": "2026-09-20",
1054
+ "idsOnly": true
1055
+ }
1056
+ },
1057
+ {
1058
+ "kind": "compliance",
1059
+ "ruleId": "database-to-dynamic-file-path",
1060
+ "framework": "cobit-2019",
1061
+ "clause": "DSS06.02",
1062
+ "rationale": "The rule reports: A database value decides which file is opened. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1063
+ "source": {
1064
+ "doc": "cobit2019",
1065
+ "retrieved": "2026-09-20",
1066
+ "idsOnly": true
1067
+ }
1068
+ },
1069
+ {
1070
+ "kind": "compliance",
1071
+ "ruleId": "database-to-dynamic-program-load",
1072
+ "framework": "cobit-2019",
1073
+ "clause": "DSS06.02",
1074
+ "rationale": "The rule reports: A database value decides which program is called. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1075
+ "source": {
1076
+ "doc": "cobit2019",
1077
+ "retrieved": "2026-09-20",
1078
+ "idsOnly": true
1079
+ }
1080
+ },
1081
+ {
1082
+ "kind": "compliance",
1083
+ "ruleId": "database-to-dynamic-sql",
1084
+ "framework": "cobit-2019",
1085
+ "clause": "DSS06.02",
1086
+ "rationale": "The rule reports: A database value reaches dynamic SQL. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1087
+ "source": {
1088
+ "doc": "cobit2019",
1089
+ "retrieved": "2026-09-20",
1090
+ "idsOnly": true
1091
+ }
1092
+ },
1093
+ {
1094
+ "kind": "compliance",
1095
+ "ruleId": "database-to-extrapartition-queue",
1096
+ "framework": "cobit-2019",
1097
+ "clause": "DSS05.02",
1098
+ "rationale": "The rule reports: A database value is written to a transient-data queue that leaves the region. That is information or a credential crossing a connection with nothing protecting it, which this practice requires be secured.",
1099
+ "source": {
1100
+ "doc": "cobit2019",
1101
+ "retrieved": "2026-09-20",
1102
+ "idsOnly": true
1103
+ }
1104
+ },
1105
+ {
1106
+ "kind": "compliance",
1107
+ "ruleId": "database-to-http-header",
1108
+ "framework": "cobit-2019",
1109
+ "clause": "DSS06.02",
1110
+ "rationale": "The rule reports: A database value is written into a header of the response. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1111
+ "source": {
1112
+ "doc": "cobit2019",
1113
+ "retrieved": "2026-09-20",
1114
+ "idsOnly": true
1115
+ }
1116
+ },
1117
+ {
1118
+ "kind": "compliance",
1119
+ "ruleId": "database-to-internal-reader",
1120
+ "framework": "cobit-2019",
1121
+ "clause": "DSS06.02",
1122
+ "rationale": "The rule reports: A database value is written into a job the internal reader submits. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1123
+ "source": {
1124
+ "doc": "cobit2019",
1125
+ "retrieved": "2026-09-20",
1126
+ "idsOnly": true
1127
+ }
1128
+ },
1129
+ {
1130
+ "kind": "compliance",
1131
+ "ruleId": "database-to-message-queue",
1132
+ "framework": "cobit-2019",
1133
+ "clause": "DSS05.02",
1134
+ "rationale": "The rule reports: A database value is put on a message queue. That is information or a credential crossing a connection with nothing protecting it, which this practice requires be secured.",
1135
+ "source": {
1136
+ "doc": "cobit2019",
1137
+ "retrieved": "2026-09-20",
1138
+ "idsOnly": true
1139
+ }
1140
+ },
1141
+ {
1142
+ "kind": "compliance",
1143
+ "ruleId": "database-to-os-command",
1144
+ "framework": "cobit-2019",
1145
+ "clause": "DSS06.02",
1146
+ "rationale": "The rule reports: A database value reaches an operating-system command routine. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1147
+ "source": {
1148
+ "doc": "cobit2019",
1149
+ "retrieved": "2026-09-20",
1150
+ "idsOnly": true
1151
+ }
1152
+ },
1153
+ {
1154
+ "kind": "compliance",
1155
+ "ruleId": "database-to-outbound-host",
1156
+ "framework": "cobit-2019",
1157
+ "clause": "DSS06.02",
1158
+ "rationale": "The rule reports: A database value decides the host or path this program sends a request to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1159
+ "source": {
1160
+ "doc": "cobit2019",
1161
+ "retrieved": "2026-09-20",
1162
+ "idsOnly": true
1163
+ }
1164
+ },
1165
+ {
1166
+ "kind": "compliance",
1167
+ "ruleId": "database-to-outbound-http",
1168
+ "framework": "cobit-2019",
1169
+ "clause": "DSS05.02",
1170
+ "rationale": "The rule reports: A database value is sent to a remote server over HTTP. That is information or a credential crossing a connection with nothing protecting it, which this practice requires be secured.",
1171
+ "source": {
1172
+ "doc": "cobit2019",
1173
+ "retrieved": "2026-09-20",
1174
+ "idsOnly": true
1175
+ }
1176
+ },
1177
+ {
1178
+ "kind": "compliance",
1179
+ "ruleId": "database-to-queue-name",
1180
+ "framework": "cobit-2019",
1181
+ "clause": "DSS06.02",
1182
+ "rationale": "The rule reports: A database value names the queue a command reads, writes or deletes. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1183
+ "source": {
1184
+ "doc": "cobit2019",
1185
+ "retrieved": "2026-09-20",
1186
+ "idsOnly": true
1187
+ }
1188
+ },
1189
+ {
1190
+ "kind": "compliance",
1191
+ "ruleId": "database-to-socket-send",
1192
+ "framework": "cobit-2019",
1193
+ "clause": "DSS05.02",
1194
+ "rationale": "The rule reports: A database value is written to a network socket. That is information or a credential crossing a connection with nothing protecting it, which this practice requires be secured.",
1195
+ "source": {
1196
+ "doc": "cobit2019",
1197
+ "retrieved": "2026-09-20",
1198
+ "idsOnly": true
1199
+ }
1200
+ },
1201
+ {
1202
+ "kind": "compliance",
1203
+ "ruleId": "database-to-web-response",
1204
+ "framework": "cobit-2019",
1205
+ "clause": "DSS06.02",
1206
+ "rationale": "The rule reports: A database value is written into the response this program returns. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1207
+ "source": {
1208
+ "doc": "cobit2019",
1209
+ "retrieved": "2026-09-20",
1210
+ "idsOnly": true
1211
+ }
1212
+ },
1213
+ {
1214
+ "kind": "compliance",
1215
+ "ruleId": "diff-interface-layout-changed",
1216
+ "framework": "cobit-2019",
1217
+ "clause": "BAI06.01",
1218
+ "rationale": "The rule reports: A record this program passes to or receives from another program changed size or position. That is a change whose impact has to be assessed before it is authorised, which this practice requires.",
1219
+ "source": {
1220
+ "doc": "cobit2019",
1221
+ "retrieved": "2026-09-20",
1222
+ "idsOnly": true
1223
+ }
1224
+ },
1225
+ {
1226
+ "kind": "compliance",
1227
+ "ruleId": "diff-layout-changed",
1228
+ "framework": "cobit-2019",
1229
+ "clause": "BAI06.01",
1230
+ "rationale": "The rule reports: Fields in this program changed size or position. That is a change whose impact has to be assessed before it is authorised, which this practice requires.",
1231
+ "source": {
1232
+ "doc": "cobit2019",
1233
+ "retrieved": "2026-09-20",
1234
+ "idsOnly": true
1235
+ }
1236
+ },
1237
+ {
1238
+ "kind": "compliance",
1239
+ "ruleId": "diff-layout-changed-unedited-program",
1240
+ "framework": "cobit-2019",
1241
+ "clause": "BAI06.01",
1242
+ "rationale": "The rule reports: Fields in this program changed size or position although its own source did not change. That is a change whose impact has to be assessed before it is authorised, which this practice requires.",
1243
+ "source": {
1244
+ "doc": "cobit2019",
1245
+ "retrieved": "2026-09-20",
1246
+ "idsOnly": true
1247
+ }
1248
+ },
1249
+ {
1250
+ "kind": "compliance",
1251
+ "ruleId": "diff-new-call-target",
1252
+ "framework": "cobit-2019",
1253
+ "clause": "BAI06.01",
1254
+ "rationale": "The rule reports: The change makes this program call or transfer to a program it did not before. That is a change whose impact has to be assessed before it is authorised, which this practice requires.",
1255
+ "source": {
1256
+ "doc": "cobit2019",
1257
+ "retrieved": "2026-09-20",
1258
+ "idsOnly": true
1259
+ }
1260
+ },
1261
+ {
1262
+ "kind": "compliance",
1263
+ "ruleId": "diff-new-dynamic-call",
1264
+ "framework": "cobit-2019",
1265
+ "clause": "BAI06.01",
1266
+ "rationale": "The rule reports: The change adds a call or transfer whose target is a variable. That is a change whose impact has to be assessed before it is authorised, which this practice requires.",
1267
+ "source": {
1268
+ "doc": "cobit2019",
1269
+ "retrieved": "2026-09-20",
1270
+ "idsOnly": true
1271
+ }
1272
+ },
1273
+ {
1274
+ "kind": "compliance",
1275
+ "ruleId": "display-echoes-a-credential",
1276
+ "framework": "cobit-2019",
1277
+ "clause": "DSS06.06",
1278
+ "rationale": "The rule reports: A program displays a credential back to the terminal or HTTP request that supplied it. That is information released to people it was never meant for, which this practice requires be secured.",
1279
+ "source": {
1280
+ "doc": "cobit2019",
1281
+ "retrieved": "2026-09-20",
1282
+ "idsOnly": true
1283
+ }
1284
+ },
1285
+ {
1286
+ "kind": "compliance",
1287
+ "ruleId": "embedded-sql-connect-password",
1288
+ "framework": "cobit-2019",
1289
+ "clause": "DSS05.04",
1290
+ "rationale": "The rule reports: Credential pattern: embedded sql connect password. That is access or authentication handled outside the managed identity and logical access this practice requires.",
1291
+ "source": {
1292
+ "doc": "cobit2019",
1293
+ "retrieved": "2026-09-20",
1294
+ "idsOnly": true
1295
+ }
1296
+ },
1297
+ {
1298
+ "kind": "compliance",
1299
+ "ruleId": "encoded-blob",
1300
+ "framework": "cobit-2019",
1301
+ "clause": "DSS06.02",
1302
+ "rationale": "The rule reports: A long encoded run sits in a comment or literal. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1303
+ "source": {
1304
+ "doc": "cobit2019",
1305
+ "retrieved": "2026-09-20",
1306
+ "idsOnly": true
1307
+ }
1308
+ },
1309
+ {
1310
+ "kind": "compliance",
1311
+ "ruleId": "file-record-to-cics-dynamic-transfer",
1312
+ "framework": "cobit-2019",
1313
+ "clause": "DSS06.02",
1314
+ "rationale": "The rule reports: A file record decides which program CICS transfers to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1315
+ "source": {
1316
+ "doc": "cobit2019",
1317
+ "retrieved": "2026-09-20",
1318
+ "idsOnly": true
1319
+ }
1320
+ },
1321
+ {
1322
+ "kind": "compliance",
1323
+ "ruleId": "file-record-to-cics-sysid",
1324
+ "framework": "cobit-2019",
1325
+ "clause": "DSS06.02",
1326
+ "rationale": "The rule reports: A file record decides which region a CICS command is shipped to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1327
+ "source": {
1328
+ "doc": "cobit2019",
1329
+ "retrieved": "2026-09-20",
1330
+ "idsOnly": true
1331
+ }
1332
+ },
1333
+ {
1334
+ "kind": "compliance",
1335
+ "ruleId": "file-record-to-cics-system-resource",
1336
+ "framework": "cobit-2019",
1337
+ "clause": "DSS06.02",
1338
+ "rationale": "The rule reports: A file record names the resource an EXEC CICS SET changes. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1339
+ "source": {
1340
+ "doc": "cobit2019",
1341
+ "retrieved": "2026-09-20",
1342
+ "idsOnly": true
1343
+ }
1344
+ },
1345
+ {
1346
+ "kind": "compliance",
1347
+ "ruleId": "file-record-to-dynamic-file-path",
1348
+ "framework": "cobit-2019",
1349
+ "clause": "DSS06.02",
1350
+ "rationale": "The rule reports: A file record decides which file is opened. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1351
+ "source": {
1352
+ "doc": "cobit2019",
1353
+ "retrieved": "2026-09-20",
1354
+ "idsOnly": true
1355
+ }
1356
+ },
1357
+ {
1358
+ "kind": "compliance",
1359
+ "ruleId": "file-record-to-dynamic-program-load",
1360
+ "framework": "cobit-2019",
1361
+ "clause": "DSS06.02",
1362
+ "rationale": "The rule reports: A file record decides which program is called. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1363
+ "source": {
1364
+ "doc": "cobit2019",
1365
+ "retrieved": "2026-09-20",
1366
+ "idsOnly": true
1367
+ }
1368
+ },
1369
+ {
1370
+ "kind": "compliance",
1371
+ "ruleId": "file-record-to-dynamic-sql",
1372
+ "framework": "cobit-2019",
1373
+ "clause": "DSS06.02",
1374
+ "rationale": "The rule reports: A file record reaches dynamic SQL. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1375
+ "source": {
1376
+ "doc": "cobit2019",
1377
+ "retrieved": "2026-09-20",
1378
+ "idsOnly": true
1379
+ }
1380
+ },
1381
+ {
1382
+ "kind": "compliance",
1383
+ "ruleId": "file-record-to-extrapartition-queue",
1384
+ "framework": "cobit-2019",
1385
+ "clause": "DSS05.02",
1386
+ "rationale": "The rule reports: A file record is written to a transient-data queue that leaves the region. That is information or a credential crossing a connection with nothing protecting it, which this practice requires be secured.",
1387
+ "source": {
1388
+ "doc": "cobit2019",
1389
+ "retrieved": "2026-09-20",
1390
+ "idsOnly": true
1391
+ }
1392
+ },
1393
+ {
1394
+ "kind": "compliance",
1395
+ "ruleId": "file-record-to-http-header",
1396
+ "framework": "cobit-2019",
1397
+ "clause": "DSS06.02",
1398
+ "rationale": "The rule reports: A file record is written into a header of the response. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1399
+ "source": {
1400
+ "doc": "cobit2019",
1401
+ "retrieved": "2026-09-20",
1402
+ "idsOnly": true
1403
+ }
1404
+ },
1405
+ {
1406
+ "kind": "compliance",
1407
+ "ruleId": "file-record-to-internal-reader",
1408
+ "framework": "cobit-2019",
1409
+ "clause": "DSS06.02",
1410
+ "rationale": "The rule reports: A file record is written into a job the internal reader submits. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1411
+ "source": {
1412
+ "doc": "cobit2019",
1413
+ "retrieved": "2026-09-20",
1414
+ "idsOnly": true
1415
+ }
1416
+ },
1417
+ {
1418
+ "kind": "compliance",
1419
+ "ruleId": "file-record-to-message-queue",
1420
+ "framework": "cobit-2019",
1421
+ "clause": "DSS05.02",
1422
+ "rationale": "The rule reports: A file record is put on a message queue. That is information or a credential crossing a connection with nothing protecting it, which this practice requires be secured.",
1423
+ "source": {
1424
+ "doc": "cobit2019",
1425
+ "retrieved": "2026-09-20",
1426
+ "idsOnly": true
1427
+ }
1428
+ },
1429
+ {
1430
+ "kind": "compliance",
1431
+ "ruleId": "file-record-to-os-command",
1432
+ "framework": "cobit-2019",
1433
+ "clause": "DSS06.02",
1434
+ "rationale": "The rule reports: A file record reaches an operating-system command routine. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1435
+ "source": {
1436
+ "doc": "cobit2019",
1437
+ "retrieved": "2026-09-20",
1438
+ "idsOnly": true
1439
+ }
1440
+ },
1441
+ {
1442
+ "kind": "compliance",
1443
+ "ruleId": "file-record-to-outbound-host",
1444
+ "framework": "cobit-2019",
1445
+ "clause": "DSS06.02",
1446
+ "rationale": "The rule reports: A file record decides the host or path this program sends a request to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1447
+ "source": {
1448
+ "doc": "cobit2019",
1449
+ "retrieved": "2026-09-20",
1450
+ "idsOnly": true
1451
+ }
1452
+ },
1453
+ {
1454
+ "kind": "compliance",
1455
+ "ruleId": "file-record-to-outbound-http",
1456
+ "framework": "cobit-2019",
1457
+ "clause": "DSS05.02",
1458
+ "rationale": "The rule reports: A file record is sent to a remote server over HTTP. That is information or a credential crossing a connection with nothing protecting it, which this practice requires be secured.",
1459
+ "source": {
1460
+ "doc": "cobit2019",
1461
+ "retrieved": "2026-09-20",
1462
+ "idsOnly": true
1463
+ }
1464
+ },
1465
+ {
1466
+ "kind": "compliance",
1467
+ "ruleId": "file-record-to-queue-name",
1468
+ "framework": "cobit-2019",
1469
+ "clause": "DSS06.02",
1470
+ "rationale": "The rule reports: A file record names the queue a command reads, writes or deletes. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1471
+ "source": {
1472
+ "doc": "cobit2019",
1473
+ "retrieved": "2026-09-20",
1474
+ "idsOnly": true
1475
+ }
1476
+ },
1477
+ {
1478
+ "kind": "compliance",
1479
+ "ruleId": "file-record-to-socket-send",
1480
+ "framework": "cobit-2019",
1481
+ "clause": "DSS05.02",
1482
+ "rationale": "The rule reports: A file record is written to a network socket. That is information or a credential crossing a connection with nothing protecting it, which this practice requires be secured.",
1483
+ "source": {
1484
+ "doc": "cobit2019",
1485
+ "retrieved": "2026-09-20",
1486
+ "idsOnly": true
1487
+ }
1488
+ },
1489
+ {
1490
+ "kind": "compliance",
1491
+ "ruleId": "file-record-to-web-response",
1492
+ "framework": "cobit-2019",
1493
+ "clause": "DSS06.02",
1494
+ "rationale": "The rule reports: A file record is written into the response this program returns. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1495
+ "source": {
1496
+ "doc": "cobit2019",
1497
+ "retrieved": "2026-09-20",
1498
+ "idsOnly": true
1499
+ }
1500
+ },
1501
+ {
1502
+ "kind": "compliance",
1503
+ "ruleId": "hidden-payload-in-identification-area",
1504
+ "framework": "cobit-2019",
1505
+ "clause": "DSS06.02",
1506
+ "rationale": "The rule reports: Columns 73 to 80, which the compiler ignores, carry a payload rather than a change tag. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1507
+ "source": {
1508
+ "doc": "cobit2019",
1509
+ "retrieved": "2026-09-20",
1510
+ "idsOnly": true
1511
+ }
1512
+ },
1513
+ {
1514
+ "kind": "compliance",
1515
+ "ruleId": "hidden-payload-in-sequence-area",
1516
+ "framework": "cobit-2019",
1517
+ "clause": "DSS06.02",
1518
+ "rationale": "The rule reports: The sequence area carries varying text rather than line numbers or a change tag. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1519
+ "source": {
1520
+ "doc": "cobit2019",
1521
+ "retrieved": "2026-09-20",
1522
+ "idsOnly": true
1523
+ }
1524
+ },
1525
+ {
1526
+ "kind": "compliance",
1527
+ "ruleId": "intermediate-result-loses-high-order-digits",
1528
+ "framework": "cobit-2019",
1529
+ "clause": "DSS06.02",
1530
+ "rationale": "The rule reports: A COMPUTE has an intermediate result wider than the compiler carries, so high-order digits can be lost. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1531
+ "source": {
1532
+ "doc": "cobit2019",
1533
+ "retrieved": "2026-09-20",
1534
+ "idsOnly": true
1535
+ }
1536
+ },
1537
+ {
1538
+ "kind": "compliance",
1539
+ "ruleId": "jcl-dlm-hides-instream",
1540
+ "framework": "cobit-2019",
1541
+ "clause": "DSS06.02",
1542
+ "rationale": "The rule reports: In-stream data uses a non-default delimiter, so it does not end where a line-by-line reader expects. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1543
+ "source": {
1544
+ "doc": "cobit2019",
1545
+ "retrieved": "2026-09-20",
1546
+ "idsOnly": true
1547
+ }
1548
+ },
1549
+ {
1550
+ "kind": "compliance",
1551
+ "ruleId": "jcl-exec-pgm-unresolved",
1552
+ "framework": "cobit-2019",
1553
+ "clause": "BAI09.01",
1554
+ "rationale": "The rule reports: A step runs a program that is neither a system utility nor defined by any source in this tree. That is a component the record of assets does not account for, which this practice requires be identified and recorded.",
1555
+ "source": {
1556
+ "doc": "cobit2019",
1557
+ "retrieved": "2026-09-20",
1558
+ "idsOnly": true
1559
+ }
1560
+ },
1561
+ {
1562
+ "kind": "compliance",
1563
+ "ruleId": "jcl-ftp-cleartext",
1564
+ "framework": "cobit-2019",
1565
+ "clause": "DSS05.02",
1566
+ "rationale": "The rule reports: A step runs FTP with no TLS option on its PARM or in its in-stream configuration, so its logon and data cross the network in cleartext. That is information or a credential crossing a connection with nothing protecting it, which this practice requires be secured.",
1567
+ "source": {
1568
+ "doc": "cobit2019",
1569
+ "retrieved": "2026-09-20",
1570
+ "idsOnly": true
1571
+ }
1572
+ },
1573
+ {
1574
+ "kind": "compliance",
1575
+ "ruleId": "jcl-ftp-sends-production-dataset",
1576
+ "framework": "cobit-2019",
1577
+ "clause": "DSS05.02",
1578
+ "rationale": "The rule reports: A step sends a dataset the estate calls production off the system by FTP. That is information or a credential crossing a connection with nothing protecting it, which this practice requires be secured.",
1579
+ "source": {
1580
+ "doc": "cobit2019",
1581
+ "retrieved": "2026-09-20",
1582
+ "idsOnly": true
1583
+ }
1584
+ },
1585
+ {
1586
+ "kind": "compliance",
1587
+ "ruleId": "jcl-instream-credential",
1588
+ "framework": "cobit-2019",
1589
+ "clause": "DSS05.04",
1590
+ "rationale": "The rule reports: A password or pass phrase is set in in-stream job data. That is access or authentication handled outside the managed identity and logical access this practice requires.",
1591
+ "source": {
1592
+ "doc": "cobit2019",
1593
+ "retrieved": "2026-09-20",
1594
+ "idsOnly": true
1595
+ }
1596
+ },
1597
+ {
1598
+ "kind": "compliance",
1599
+ "ruleId": "jcl-instream-destructive",
1600
+ "framework": "cobit-2019",
1601
+ "clause": "DSS05.04",
1602
+ "rationale": "The rule reports: In-stream job data deletes or overwrites a catalogued dataset. That is access or authentication handled outside the managed identity and logical access this practice requires.",
1603
+ "source": {
1604
+ "doc": "cobit2019",
1605
+ "retrieved": "2026-09-20",
1606
+ "idsOnly": true
1607
+ }
1608
+ },
1609
+ {
1610
+ "kind": "compliance",
1611
+ "ruleId": "jcl-instream-security-command",
1612
+ "framework": "cobit-2019",
1613
+ "clause": "DSS05.04",
1614
+ "rationale": "The rule reports: In-stream job data issues security product commands that grant or alter authority. That is access or authentication handled outside the managed identity and logical access this practice requires.",
1615
+ "source": {
1616
+ "doc": "cobit2019",
1617
+ "retrieved": "2026-09-20",
1618
+ "idsOnly": true
1619
+ }
1620
+ },
1621
+ {
1622
+ "kind": "compliance",
1623
+ "ruleId": "jcl-instream-to-arithmetic",
1624
+ "framework": "cobit-2019",
1625
+ "clause": "DSS06.02",
1626
+ "rationale": "The rule reports: In-stream job data reaches arithmetic on a decimal field, where bytes that are not digits abend the program. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1627
+ "source": {
1628
+ "doc": "cobit2019",
1629
+ "retrieved": "2026-09-20",
1630
+ "idsOnly": true
1631
+ }
1632
+ },
1633
+ {
1634
+ "kind": "compliance",
1635
+ "ruleId": "jcl-instream-to-cics-dynamic-transfer",
1636
+ "framework": "cobit-2019",
1637
+ "clause": "DSS06.02",
1638
+ "rationale": "The rule reports: In-stream job data decides which program CICS transfers to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1639
+ "source": {
1640
+ "doc": "cobit2019",
1641
+ "retrieved": "2026-09-20",
1642
+ "idsOnly": true
1643
+ }
1644
+ },
1645
+ {
1646
+ "kind": "compliance",
1647
+ "ruleId": "jcl-instream-to-connection-target",
1648
+ "framework": "cobit-2019",
1649
+ "clause": "DSS06.02",
1650
+ "rationale": "The rule reports: In-stream job data names the database or queue manager the program connects to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1651
+ "source": {
1652
+ "doc": "cobit2019",
1653
+ "retrieved": "2026-09-20",
1654
+ "idsOnly": true
1655
+ }
1656
+ },
1657
+ {
1658
+ "kind": "compliance",
1659
+ "ruleId": "jcl-instream-to-dynamic-file-path",
1660
+ "framework": "cobit-2019",
1661
+ "clause": "DSS06.02",
1662
+ "rationale": "The rule reports: In-stream job data decides which file is opened. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1663
+ "source": {
1664
+ "doc": "cobit2019",
1665
+ "retrieved": "2026-09-20",
1666
+ "idsOnly": true
1667
+ }
1668
+ },
1669
+ {
1670
+ "kind": "compliance",
1671
+ "ruleId": "jcl-instream-to-dynamic-program-load",
1672
+ "framework": "cobit-2019",
1673
+ "clause": "DSS06.02",
1674
+ "rationale": "The rule reports: In-stream job data decides which program is called. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1675
+ "source": {
1676
+ "doc": "cobit2019",
1677
+ "retrieved": "2026-09-20",
1678
+ "idsOnly": true
1679
+ }
1680
+ },
1681
+ {
1682
+ "kind": "compliance",
1683
+ "ruleId": "jcl-instream-to-dynamic-sql",
1684
+ "framework": "cobit-2019",
1685
+ "clause": "DSS06.02",
1686
+ "rationale": "The rule reports: In-stream job data reaches dynamic SQL. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1687
+ "source": {
1688
+ "doc": "cobit2019",
1689
+ "retrieved": "2026-09-20",
1690
+ "idsOnly": true
1691
+ }
1692
+ },
1693
+ {
1694
+ "kind": "compliance",
1695
+ "ruleId": "jcl-instream-to-internal-reader",
1696
+ "framework": "cobit-2019",
1697
+ "clause": "DSS06.02",
1698
+ "rationale": "The rule reports: In-stream job data is written into a job the internal reader submits. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1699
+ "source": {
1700
+ "doc": "cobit2019",
1701
+ "retrieved": "2026-09-20",
1702
+ "idsOnly": true
1703
+ }
1704
+ },
1705
+ {
1706
+ "kind": "compliance",
1707
+ "ruleId": "jcl-instream-to-loop-bound",
1708
+ "framework": "cobit-2019",
1709
+ "clause": "DSS06.02",
1710
+ "rationale": "The rule reports: In-stream job data decides how far a loop that subscripts a table runs. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1711
+ "source": {
1712
+ "doc": "cobit2019",
1713
+ "retrieved": "2026-09-20",
1714
+ "idsOnly": true
1715
+ }
1716
+ },
1717
+ {
1718
+ "kind": "compliance",
1719
+ "ruleId": "jcl-instream-to-occurs-depending-count",
1720
+ "framework": "cobit-2019",
1721
+ "clause": "DSS06.02",
1722
+ "rationale": "The rule reports: In-stream job data decides how many entries an OCCURS DEPENDING ON table holds. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1723
+ "source": {
1724
+ "doc": "cobit2019",
1725
+ "retrieved": "2026-09-20",
1726
+ "idsOnly": true
1727
+ }
1728
+ },
1729
+ {
1730
+ "kind": "compliance",
1731
+ "ruleId": "jcl-instream-to-os-command",
1732
+ "framework": "cobit-2019",
1733
+ "clause": "DSS06.02",
1734
+ "rationale": "The rule reports: In-stream job data reaches an operating-system command routine. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1735
+ "source": {
1736
+ "doc": "cobit2019",
1737
+ "retrieved": "2026-09-20",
1738
+ "idsOnly": true
1739
+ }
1740
+ },
1741
+ {
1742
+ "kind": "compliance",
1743
+ "ruleId": "jcl-instream-to-reference-modification",
1744
+ "framework": "cobit-2019",
1745
+ "clause": "DSS06.02",
1746
+ "rationale": "The rule reports: In-stream job data decides where a reference modification starts or how long it is. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1747
+ "source": {
1748
+ "doc": "cobit2019",
1749
+ "retrieved": "2026-09-20",
1750
+ "idsOnly": true
1751
+ }
1752
+ },
1753
+ {
1754
+ "kind": "compliance",
1755
+ "ruleId": "jcl-instream-to-storage-length",
1756
+ "framework": "cobit-2019",
1757
+ "clause": "DSS06.02",
1758
+ "rationale": "The rule reports: In-stream job data decides how much storage the program acquires. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1759
+ "source": {
1760
+ "doc": "cobit2019",
1761
+ "retrieved": "2026-09-20",
1762
+ "idsOnly": true
1763
+ }
1764
+ },
1765
+ {
1766
+ "kind": "compliance",
1767
+ "ruleId": "jcl-instream-to-subscript",
1768
+ "framework": "cobit-2019",
1769
+ "clause": "DSS06.02",
1770
+ "rationale": "The rule reports: In-stream job data is used as a subscript. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1771
+ "source": {
1772
+ "doc": "cobit2019",
1773
+ "retrieved": "2026-09-20",
1774
+ "idsOnly": true
1775
+ }
1776
+ },
1777
+ {
1778
+ "kind": "compliance",
1779
+ "ruleId": "jcl-parm-is-an-entry-point",
1780
+ "framework": "cobit-2019",
1781
+ "clause": "DSS06.02",
1782
+ "rationale": "The rule reports: A step passes PARM= to a program in this tree, which the flow rules follow as an untrusted source. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1783
+ "source": {
1784
+ "doc": "cobit2019",
1785
+ "retrieved": "2026-09-20",
1786
+ "idsOnly": true
1787
+ }
1788
+ },
1789
+ {
1790
+ "kind": "compliance",
1791
+ "ruleId": "jcl-parm-to-arithmetic",
1792
+ "framework": "cobit-2019",
1793
+ "clause": "DSS06.02",
1794
+ "rationale": "The rule reports: A JCL PARM reaches arithmetic on a decimal field, where bytes that are not digits abend the program. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1795
+ "source": {
1796
+ "doc": "cobit2019",
1797
+ "retrieved": "2026-09-20",
1798
+ "idsOnly": true
1799
+ }
1800
+ },
1801
+ {
1802
+ "kind": "compliance",
1803
+ "ruleId": "jcl-parm-to-cics-dynamic-transfer",
1804
+ "framework": "cobit-2019",
1805
+ "clause": "DSS06.02",
1806
+ "rationale": "The rule reports: A JCL PARM decides which program CICS transfers to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1807
+ "source": {
1808
+ "doc": "cobit2019",
1809
+ "retrieved": "2026-09-20",
1810
+ "idsOnly": true
1811
+ }
1812
+ },
1813
+ {
1814
+ "kind": "compliance",
1815
+ "ruleId": "jcl-parm-to-connection-target",
1816
+ "framework": "cobit-2019",
1817
+ "clause": "DSS06.02",
1818
+ "rationale": "The rule reports: A JCL PARM names the database or queue manager the program connects to. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1819
+ "source": {
1820
+ "doc": "cobit2019",
1821
+ "retrieved": "2026-09-20",
1822
+ "idsOnly": true
1823
+ }
1824
+ },
1825
+ {
1826
+ "kind": "compliance",
1827
+ "ruleId": "jcl-parm-to-dynamic-file-path",
1828
+ "framework": "cobit-2019",
1829
+ "clause": "DSS06.02",
1830
+ "rationale": "The rule reports: A JCL PARM decides which file is opened. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1831
+ "source": {
1832
+ "doc": "cobit2019",
1833
+ "retrieved": "2026-09-20",
1834
+ "idsOnly": true
1835
+ }
1836
+ },
1837
+ {
1838
+ "kind": "compliance",
1839
+ "ruleId": "jcl-parm-to-dynamic-program-load",
1840
+ "framework": "cobit-2019",
1841
+ "clause": "DSS06.02",
1842
+ "rationale": "The rule reports: A JCL PARM decides which program is called. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1843
+ "source": {
1844
+ "doc": "cobit2019",
1845
+ "retrieved": "2026-09-20",
1846
+ "idsOnly": true
1847
+ }
1848
+ },
1849
+ {
1850
+ "kind": "compliance",
1851
+ "ruleId": "jcl-parm-to-dynamic-sql",
1852
+ "framework": "cobit-2019",
1853
+ "clause": "DSS06.02",
1854
+ "rationale": "The rule reports: A JCL PARM reaches dynamic SQL. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1855
+ "source": {
1856
+ "doc": "cobit2019",
1857
+ "retrieved": "2026-09-20",
1858
+ "idsOnly": true
1859
+ }
1860
+ },
1861
+ {
1862
+ "kind": "compliance",
1863
+ "ruleId": "jcl-parm-to-internal-reader",
1864
+ "framework": "cobit-2019",
1865
+ "clause": "DSS06.02",
1866
+ "rationale": "The rule reports: A JCL PARM is written into a job the internal reader submits. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1867
+ "source": {
1868
+ "doc": "cobit2019",
1869
+ "retrieved": "2026-09-20",
1870
+ "idsOnly": true
1871
+ }
1872
+ },
1873
+ {
1874
+ "kind": "compliance",
1875
+ "ruleId": "jcl-parm-to-loop-bound",
1876
+ "framework": "cobit-2019",
1877
+ "clause": "DSS06.02",
1878
+ "rationale": "The rule reports: A JCL PARM decides how far a loop that subscripts a table runs. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1879
+ "source": {
1880
+ "doc": "cobit2019",
1881
+ "retrieved": "2026-09-20",
1882
+ "idsOnly": true
1883
+ }
1884
+ },
1885
+ {
1886
+ "kind": "compliance",
1887
+ "ruleId": "jcl-parm-to-occurs-depending-count",
1888
+ "framework": "cobit-2019",
1889
+ "clause": "DSS06.02",
1890
+ "rationale": "The rule reports: A JCL PARM decides how many entries an OCCURS DEPENDING ON table holds. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1891
+ "source": {
1892
+ "doc": "cobit2019",
1893
+ "retrieved": "2026-09-20",
1894
+ "idsOnly": true
1895
+ }
1896
+ },
1897
+ {
1898
+ "kind": "compliance",
1899
+ "ruleId": "jcl-parm-to-os-command",
1900
+ "framework": "cobit-2019",
1901
+ "clause": "DSS06.02",
1902
+ "rationale": "The rule reports: A JCL PARM reaches an operating-system command routine. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1903
+ "source": {
1904
+ "doc": "cobit2019",
1905
+ "retrieved": "2026-09-20",
1906
+ "idsOnly": true
1907
+ }
1908
+ },
1909
+ {
1910
+ "kind": "compliance",
1911
+ "ruleId": "jcl-parm-to-reference-modification",
1912
+ "framework": "cobit-2019",
1913
+ "clause": "DSS06.02",
1914
+ "rationale": "The rule reports: A JCL PARM decides where a reference modification starts or how long it is. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1915
+ "source": {
1916
+ "doc": "cobit2019",
1917
+ "retrieved": "2026-09-20",
1918
+ "idsOnly": true
1919
+ }
1920
+ },
1921
+ {
1922
+ "kind": "compliance",
1923
+ "ruleId": "jcl-parm-to-storage-length",
1924
+ "framework": "cobit-2019",
1925
+ "clause": "DSS06.02",
1926
+ "rationale": "The rule reports: A JCL PARM decides how much storage the program acquires. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1927
+ "source": {
1928
+ "doc": "cobit2019",
1929
+ "retrieved": "2026-09-20",
1930
+ "idsOnly": true
1931
+ }
1932
+ },
1933
+ {
1934
+ "kind": "compliance",
1935
+ "ruleId": "jcl-parm-to-subscript",
1936
+ "framework": "cobit-2019",
1937
+ "clause": "DSS06.02",
1938
+ "rationale": "The rule reports: A JCL PARM is used as a subscript. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
1939
+ "source": {
1940
+ "doc": "cobit2019",
1941
+ "retrieved": "2026-09-20",
1942
+ "idsOnly": true
1943
+ }
1944
+ },
1945
+ {
1946
+ "kind": "compliance",
1947
+ "ruleId": "jcl-racf-password",
1948
+ "framework": "cobit-2019",
1949
+ "clause": "DSS05.04",
1950
+ "rationale": "The rule reports: Credential pattern: jcl racf password. That is access or authentication handled outside the managed identity and logical access this practice requires.",
1951
+ "source": {
1952
+ "doc": "cobit2019",
1953
+ "retrieved": "2026-09-20",
1954
+ "idsOnly": true
1955
+ }
1956
+ },
1957
+ {
1958
+ "kind": "compliance",
1959
+ "ruleId": "job-loads-from-an-authorised-library",
1960
+ "framework": "cobit-2019",
1961
+ "clause": "DSS05.04",
1962
+ "rationale": "The rule reports: A job loads from a library the estate calls authorised. That is access or authentication handled outside the managed identity and logical access this practice requires.",
1963
+ "source": {
1964
+ "doc": "cobit2019",
1965
+ "retrieved": "2026-09-20",
1966
+ "idsOnly": true
1967
+ }
1968
+ },
1969
+ {
1970
+ "kind": "compliance",
1971
+ "ruleId": "job-reaches-unix-system-services",
1972
+ "framework": "cobit-2019",
1973
+ "clause": "DSS05.04",
1974
+ "rationale": "The rule reports: A job runs a shell through UNIX System Services. That is access or authentication handled outside the managed identity and logical access this practice requires.",
1975
+ "source": {
1976
+ "doc": "cobit2019",
1977
+ "retrieved": "2026-09-20",
1978
+ "idsOnly": true
1979
+ }
1980
+ },
1981
+ {
1982
+ "kind": "compliance",
1983
+ "ruleId": "job-runs-under-another-user",
1984
+ "framework": "cobit-2019",
1985
+ "clause": "DSS05.04",
1986
+ "rationale": "The rule reports: A job names the user it runs as. That is access or authentication handled outside the managed identity and logical access this practice requires.",
1987
+ "source": {
1988
+ "doc": "cobit2019",
1989
+ "retrieved": "2026-09-20",
1990
+ "idsOnly": true
1991
+ }
1992
+ },
1993
+ {
1994
+ "kind": "compliance",
1995
+ "ruleId": "job-unloads-the-security-database",
1996
+ "framework": "cobit-2019",
1997
+ "clause": "DSS05.04",
1998
+ "rationale": "The rule reports: A job unloads the security database. That is access or authentication handled outside the managed identity and logical access this practice requires.",
1999
+ "source": {
2000
+ "doc": "cobit2019",
2001
+ "retrieved": "2026-09-20",
2002
+ "idsOnly": true
2003
+ }
2004
+ },
2005
+ {
2006
+ "kind": "compliance",
2007
+ "ruleId": "job-writes-diagnostic-output-unrestricted",
2008
+ "framework": "cobit-2019",
2009
+ "clause": "DSS05.04",
2010
+ "rationale": "The rule reports: A job writes a dump, trace, log or unload to a dataset the estate has not called restricted. That is access or authentication handled outside the managed identity and logical access this practice requires.",
2011
+ "source": {
2012
+ "doc": "cobit2019",
2013
+ "retrieved": "2026-09-20",
2014
+ "idsOnly": true
2015
+ }
2016
+ },
2017
+ {
2018
+ "kind": "compliance",
2019
+ "ruleId": "log-writes-a-credential",
2020
+ "framework": "cobit-2019",
2021
+ "clause": "DSS06.06",
2022
+ "rationale": "The rule reports: A program writes a field named as a credential into a log. That is information released to people it was never meant for, which this practice requires be secured.",
2023
+ "source": {
2024
+ "doc": "cobit2019",
2025
+ "retrieved": "2026-09-20",
2026
+ "idsOnly": true
2027
+ }
2028
+ },
2029
+ {
2030
+ "kind": "compliance",
2031
+ "ruleId": "log-writes-personal-data",
2032
+ "framework": "cobit-2019",
2033
+ "clause": "DSS06.06",
2034
+ "rationale": "The rule reports: A program writes a field named as personal data into a log. That is information released to people it was never meant for, which this practice requires be secured.",
2035
+ "source": {
2036
+ "doc": "cobit2019",
2037
+ "retrieved": "2026-09-20",
2038
+ "idsOnly": true
2039
+ }
2040
+ },
2041
+ {
2042
+ "kind": "compliance",
2043
+ "ruleId": "opaque-altered-control-flow",
2044
+ "framework": "cobit-2019",
2045
+ "clause": "BAI09.01",
2046
+ "rationale": "The rule reports: A program changes where a GO TO goes at run time, so its control flow is not followed. That is a component the record of assets does not account for, which this practice requires be identified and recorded.",
2047
+ "source": {
2048
+ "doc": "cobit2019",
2049
+ "retrieved": "2026-09-20",
2050
+ "idsOnly": true
2051
+ }
2052
+ },
2053
+ {
2054
+ "kind": "compliance",
2055
+ "ruleId": "opaque-alternate-entry",
2056
+ "framework": "cobit-2019",
2057
+ "clause": "BAI09.01",
2058
+ "rationale": "The rule reports: A program declares an alternate entry point, which the flow rules do not start from. That is a component the record of assets does not account for, which this practice requires be identified and recorded.",
2059
+ "source": {
2060
+ "doc": "cobit2019",
2061
+ "retrieved": "2026-09-20",
2062
+ "idsOnly": true
2063
+ }
2064
+ },
2065
+ {
2066
+ "kind": "compliance",
2067
+ "ruleId": "opaque-pointer-addressing",
2068
+ "framework": "cobit-2019",
2069
+ "clause": "BAI09.01",
2070
+ "rationale": "The rule reports: A program addresses storage through a pointer, so data flow through it is not followed. That is a component the record of assets does not account for, which this practice requires be identified and recorded.",
2071
+ "source": {
2072
+ "doc": "cobit2019",
2073
+ "retrieved": "2026-09-20",
2074
+ "idsOnly": true
2075
+ }
2076
+ },
2077
+ {
2078
+ "kind": "compliance",
2079
+ "ruleId": "opaque-procedure-pointer",
2080
+ "framework": "cobit-2019",
2081
+ "clause": "BAI09.01",
2082
+ "rationale": "The rule reports: A program calls through a procedure pointer, so the callee is not known statically. That is a component the record of assets does not account for, which this practice requires be identified and recorded.",
2083
+ "source": {
2084
+ "doc": "cobit2019",
2085
+ "retrieved": "2026-09-20",
2086
+ "idsOnly": true
2087
+ }
2088
+ },
2089
+ {
2090
+ "kind": "compliance",
2091
+ "ruleId": "password-case-folded-before-compare",
2092
+ "framework": "cobit-2019",
2093
+ "clause": "DSS06.02",
2094
+ "rationale": "The rule reports: A sign-on folds a password's case before comparing it. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
2095
+ "source": {
2096
+ "doc": "cobit2019",
2097
+ "retrieved": "2026-09-20",
2098
+ "idsOnly": true
2099
+ }
2100
+ },
2101
+ {
2102
+ "kind": "compliance",
2103
+ "ruleId": "program-checks-stored-password",
2104
+ "framework": "cobit-2019",
2105
+ "clause": "DSS05.04",
2106
+ "rationale": "The rule reports: A program compares a password it reads back from its own file or table. That is access or authentication handled outside the managed identity and logical access this practice requires.",
2107
+ "source": {
2108
+ "doc": "cobit2019",
2109
+ "retrieved": "2026-09-20",
2110
+ "idsOnly": true
2111
+ }
2112
+ },
2113
+ {
2114
+ "kind": "compliance",
2115
+ "ruleId": "program-without-entry",
2116
+ "framework": "cobit-2019",
2117
+ "clause": "DSS06.02",
2118
+ "rationale": "The rule reports: Nothing in this tree starts this program: no transaction, job step or program reaches it. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
2119
+ "source": {
2120
+ "doc": "cobit2019",
2121
+ "retrieved": "2026-09-20",
2122
+ "idsOnly": true
2123
+ }
2124
+ },
2125
+ {
2126
+ "kind": "compliance",
2127
+ "ruleId": "racf-command-password",
2128
+ "framework": "cobit-2019",
2129
+ "clause": "DSS05.04",
2130
+ "rationale": "The rule reports: Credential pattern: racf command password. That is access or authentication handled outside the managed identity and logical access this practice requires.",
2131
+ "source": {
2132
+ "doc": "cobit2019",
2133
+ "retrieved": "2026-09-20",
2134
+ "idsOnly": true
2135
+ }
2136
+ },
2137
+ {
2138
+ "kind": "compliance",
2139
+ "ruleId": "recon-nonproduction-job-reads-production-dataset",
2140
+ "framework": "cobit-2019",
2141
+ "clause": "BAI07.04",
2142
+ "rationale": "The rule reports: A job the estate calls non-production reads a production dataset. That is live data put to use outside production, where the test environment this practice requires should not reach it.",
2143
+ "source": {
2144
+ "doc": "cobit2019",
2145
+ "retrieved": "2026-09-20",
2146
+ "idsOnly": true
2147
+ }
2148
+ },
2149
+ {
2150
+ "kind": "compliance",
2151
+ "ruleId": "recon-nonproduction-job-writes-production-dataset",
2152
+ "framework": "cobit-2019",
2153
+ "clause": "DSS05.04",
2154
+ "rationale": "The rule reports: A job the estate calls non-production creates, extends, overwrites or deletes a production dataset. That is access or authentication handled outside the managed identity and logical access this practice requires.",
2155
+ "source": {
2156
+ "doc": "cobit2019",
2157
+ "retrieved": "2026-09-20",
2158
+ "idsOnly": true
2159
+ }
2160
+ },
2161
+ {
2162
+ "kind": "compliance",
2163
+ "ruleId": "site-declares-vulnerable-runtime",
2164
+ "framework": "cobit-2019",
2165
+ "clause": "DSS05.07",
2166
+ "rationale": "The rule reports: The estate declares a runtime version with a published advisory against it. That is a known vulnerability present in the build, which this practice requires be managed.",
2167
+ "source": {
2168
+ "doc": "cobit2019",
2169
+ "retrieved": "2026-09-20",
2170
+ "idsOnly": true
2171
+ }
2172
+ },
2173
+ {
2174
+ "kind": "compliance",
2175
+ "ruleId": "sort-exit-named",
2176
+ "framework": "cobit-2019",
2177
+ "clause": "BAI09.01",
2178
+ "rationale": "The rule reports: A DFSORT or ICETOOL step names an exit routine on a MODS statement, a load module the sort loads and runs. That is a component the record of assets does not account for, which this practice requires be identified and recorded.",
2179
+ "source": {
2180
+ "doc": "cobit2019",
2181
+ "retrieved": "2026-09-20",
2182
+ "idsOnly": true
2183
+ }
2184
+ },
2185
+ {
2186
+ "kind": "compliance",
2187
+ "ruleId": "system-response-to-http-header",
2188
+ "framework": "cobit-2019",
2189
+ "clause": "DSS06.02",
2190
+ "rationale": "The rule reports: A response code or SQL error the system set is sent in a response header. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
2191
+ "source": {
2192
+ "doc": "cobit2019",
2193
+ "retrieved": "2026-09-20",
2194
+ "idsOnly": true
2195
+ }
2196
+ },
2197
+ {
2198
+ "kind": "compliance",
2199
+ "ruleId": "system-response-to-screen",
2200
+ "framework": "cobit-2019",
2201
+ "clause": "DSS06.02",
2202
+ "rationale": "The rule reports: Db2's error message text is shown on the terminal. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
2203
+ "source": {
2204
+ "doc": "cobit2019",
2205
+ "retrieved": "2026-09-20",
2206
+ "idsOnly": true
2207
+ }
2208
+ },
2209
+ {
2210
+ "kind": "compliance",
2211
+ "ruleId": "system-response-to-web-response",
2212
+ "framework": "cobit-2019",
2213
+ "clause": "DSS06.02",
2214
+ "rationale": "The rule reports: A response code or SQL error the system set is sent in a web response. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
2215
+ "source": {
2216
+ "doc": "cobit2019",
2217
+ "retrieved": "2026-09-20",
2218
+ "idsOnly": true
2219
+ }
2220
+ },
2221
+ {
2222
+ "kind": "compliance",
2223
+ "ruleId": "tso-batch-runs-program",
2224
+ "framework": "cobit-2019",
2225
+ "clause": "BAI09.01",
2226
+ "rationale": "The rule reports: A TSO batch step runs another program, CLIST, REXX exec or job from its in-stream commands. That is a component the record of assets does not account for, which this practice requires be identified and recorded.",
2227
+ "source": {
2228
+ "doc": "cobit2019",
2229
+ "retrieved": "2026-09-20",
2230
+ "idsOnly": true
2231
+ }
2232
+ },
2233
+ {
2234
+ "kind": "compliance",
2235
+ "ruleId": "tso-logon-password",
2236
+ "framework": "cobit-2019",
2237
+ "clause": "DSS05.04",
2238
+ "rationale": "The rule reports: Credential pattern: tso logon password. That is access or authentication handled outside the managed identity and logical access this practice requires.",
2239
+ "source": {
2240
+ "doc": "cobit2019",
2241
+ "retrieved": "2026-09-20",
2242
+ "idsOnly": true
2243
+ }
2244
+ },
2245
+ {
2246
+ "kind": "compliance",
2247
+ "ruleId": "vendor-privileged-command",
2248
+ "framework": "cobit-2019",
2249
+ "clause": "DSS05.04",
2250
+ "rationale": "The rule reports: A job issues a vendor product command that creates, grants or alters authority. That is access or authentication handled outside the managed identity and logical access this practice requires.",
2251
+ "source": {
2252
+ "doc": "cobit2019",
2253
+ "retrieved": "2026-09-20",
2254
+ "idsOnly": true
2255
+ }
2256
+ },
2257
+ {
2258
+ "kind": "compliance",
2259
+ "ruleId": "web-cookie-without-secure-attributes",
2260
+ "framework": "cobit-2019",
2261
+ "clause": "DSS06.02",
2262
+ "rationale": "The rule reports: A program sets a cookie without the attributes that keep it off a cleartext hop. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
2263
+ "source": {
2264
+ "doc": "cobit2019",
2265
+ "retrieved": "2026-09-20",
2266
+ "idsOnly": true
2267
+ }
2268
+ },
2269
+ {
2270
+ "kind": "compliance",
2271
+ "ruleId": "web-link-opens-without-noopener",
2272
+ "framework": "cobit-2019",
2273
+ "clause": "DSS06.02",
2274
+ "rationale": "The rule reports: A program writes a link that opens a new window with a handle back to this one. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
2275
+ "source": {
2276
+ "doc": "cobit2019",
2277
+ "retrieved": "2026-09-20",
2278
+ "idsOnly": true
2279
+ }
2280
+ },
2281
+ {
2282
+ "kind": "compliance",
2283
+ "ruleId": "web-request-changes-state-without-a-token",
2284
+ "framework": "cobit-2019",
2285
+ "clause": "DSS06.02",
2286
+ "rationale": "The rule reports: A program changes state on a web request without comparing anything the browser could not forge. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
2287
+ "source": {
2288
+ "doc": "cobit2019",
2289
+ "retrieved": "2026-09-20",
2290
+ "idsOnly": true
2291
+ }
2292
+ },
2293
+ {
2294
+ "kind": "compliance",
2295
+ "ruleId": "web-response-tells-the-caller-what-it-runs",
2296
+ "framework": "cobit-2019",
2297
+ "clause": "DSS06.02",
2298
+ "rationale": "The rule reports: A program writes a header naming the software behind it. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
2299
+ "source": {
2300
+ "doc": "cobit2019",
2301
+ "retrieved": "2026-09-20",
2302
+ "idsOnly": true
2303
+ }
2304
+ },
2305
+ {
2306
+ "kind": "compliance",
2307
+ "ruleId": "web-response-without-protective-headers",
2308
+ "framework": "cobit-2019",
2309
+ "clause": "DSS06.02",
2310
+ "rationale": "The rule reports: A program sends HTML without the headers that say who may frame or reinterpret it. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
2311
+ "source": {
2312
+ "doc": "cobit2019",
2313
+ "retrieved": "2026-09-20",
2314
+ "idsOnly": true
2315
+ }
2316
+ },
2317
+ {
2318
+ "kind": "compliance",
2319
+ "ruleId": "web-uri-carries-a-credential",
2320
+ "framework": "cobit-2019",
2321
+ "clause": "DSS06.02",
2322
+ "rationale": "The rule reports: A program puts a credential in a URI rather than in the request body. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
2323
+ "source": {
2324
+ "doc": "cobit2019",
2325
+ "retrieved": "2026-09-20",
2326
+ "idsOnly": true
2327
+ }
2328
+ },
2329
+ {
2330
+ "kind": "compliance",
2331
+ "ruleId": "zowe-config-cleartext",
2332
+ "framework": "cobit-2019",
2333
+ "clause": "DSS05.02",
2334
+ "rationale": "The rule reports: A Zowe profile for z/OSMF, API ML or RSE connects over plain HTTP. That is information or a credential crossing a connection with nothing protecting it, which this practice requires be secured.",
2335
+ "source": {
2336
+ "doc": "cobit2019",
2337
+ "retrieved": "2026-09-20",
2338
+ "idsOnly": true
2339
+ }
2340
+ },
2341
+ {
2342
+ "kind": "compliance",
2343
+ "ruleId": "zowe-config-secret-in-clear",
2344
+ "framework": "cobit-2019",
2345
+ "clause": "DSS05.04",
2346
+ "rationale": "The rule reports: A Zowe team configuration holds a password or token in the file rather than in the credential vault. That is access or authentication handled outside the managed identity and logical access this practice requires.",
2347
+ "source": {
2348
+ "doc": "cobit2019",
2349
+ "retrieved": "2026-09-20",
2350
+ "idsOnly": true
2351
+ }
2352
+ },
2353
+ {
2354
+ "kind": "compliance",
2355
+ "ruleId": "zowe-config-tls-verify-off",
2356
+ "framework": "cobit-2019",
2357
+ "clause": "DSS05.02",
2358
+ "rationale": "The rule reports: A Zowe profile turns off TLS certificate verification. That is information or a credential crossing a connection with nothing protecting it, which this practice requires be secured.",
2359
+ "source": {
2360
+ "doc": "cobit2019",
2361
+ "retrieved": "2026-09-20",
2362
+ "idsOnly": true
2363
+ }
2364
+ },
2365
+ {
2366
+ "kind": "compliance",
2367
+ "ruleId": "zowe-mcp-data-marking-off",
2368
+ "framework": "cobit-2019",
2369
+ "clause": "DSS06.02",
2370
+ "rationale": "The rule reports: A Zowe MCP server has its untrusted-data marking turned off. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
2371
+ "source": {
2372
+ "doc": "cobit2019",
2373
+ "retrieved": "2026-09-20",
2374
+ "idsOnly": true
2375
+ }
2376
+ },
2377
+ {
2378
+ "kind": "compliance",
2379
+ "ruleId": "zowe-mcp-password-in-config",
2380
+ "framework": "cobit-2019",
2381
+ "clause": "DSS05.04",
2382
+ "rationale": "The rule reports: An MCP client configuration sets a Zowe MCP password, credential map or key passphrase to a literal value. That is access or authentication handled outside the managed identity and logical access this practice requires.",
2383
+ "source": {
2384
+ "doc": "cobit2019",
2385
+ "retrieved": "2026-09-20",
2386
+ "idsOnly": true
2387
+ }
2388
+ },
2389
+ {
2390
+ "kind": "compliance",
2391
+ "ruleId": "zowe-mcp-tier-full",
2392
+ "framework": "cobit-2019",
2393
+ "clause": "DSS05.04",
2394
+ "rationale": "The rule reports: A Zowe MCP server runs at the full capability tier. That is access or authentication handled outside the managed identity and logical access this practice requires.",
2395
+ "source": {
2396
+ "doc": "cobit2019",
2397
+ "retrieved": "2026-09-20",
2398
+ "idsOnly": true
2399
+ }
2400
+ },
2401
+ {
2402
+ "kind": "compliance",
2403
+ "ruleId": "zowe-mcp-tier-writes",
2404
+ "framework": "cobit-2019",
2405
+ "clause": "DSS05.04",
2406
+ "rationale": "The rule reports: A Zowe MCP server runs at a capability tier that lets the agent change or delete mainframe data. That is access or authentication handled outside the managed identity and logical access this practice requires.",
2407
+ "source": {
2408
+ "doc": "cobit2019",
2409
+ "retrieved": "2026-09-20",
2410
+ "idsOnly": true
2411
+ }
2412
+ },
2413
+ {
2414
+ "kind": "compliance",
2415
+ "ruleId": "zowe-mcp-unpinned",
2416
+ "framework": "cobit-2019",
2417
+ "clause": "BAI09.01",
2418
+ "rationale": "The rule reports: A Zowe MCP server is launched from the registry with no pinned version. That is a component the record of assets does not account for, which this practice requires be identified and recorded.",
2419
+ "source": {
2420
+ "doc": "cobit2019",
2421
+ "retrieved": "2026-09-20",
2422
+ "idsOnly": true
2423
+ }
2424
+ },
2425
+ {
2426
+ "kind": "compliance",
2427
+ "ruleId": "zowe-mock-credentials",
2428
+ "framework": "cobit-2019",
2429
+ "clause": "DSS05.04",
2430
+ "rationale": "The rule reports: A Zowe MCP mock systems.json holds a password. That is access or authentication handled outside the managed identity and logical access this practice requires.",
2431
+ "source": {
2432
+ "doc": "cobit2019",
2433
+ "retrieved": "2026-09-20",
2434
+ "idsOnly": true
2435
+ }
2436
+ }
2437
+ ]
2438
+ }