@portll/cobolwork 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +49 -18
- package/STABILITY.md +76 -0
- package/bin/cobolwork.mjs +30 -7
- package/lib/bms.mjs +21 -7
- package/lib/build.mjs +108 -53
- package/lib/capabilities.mjs +9 -10
- package/lib/cics-commands.mjs +501 -9
- package/lib/compliance.mjs +11 -0
- package/lib/consequence.mjs +13 -0
- package/lib/control-workers.mjs +161 -0
- package/lib/control.mjs +52 -3
- package/lib/dataflow.mjs +176 -125
- package/lib/db2/cursor.mjs +15 -0
- package/lib/db2/read.mjs +170 -0
- package/lib/db2/rules.mjs +77 -0
- package/lib/db2/stmt/alter.mjs +473 -0
- package/lib/db2/stmt/grant.mjs +125 -0
- package/lib/db2/stmt/index.mjs +141 -0
- package/lib/db2/stmt/misc.mjs +325 -0
- package/lib/db2/stmt/routine.mjs +564 -0
- package/lib/db2/stmt/storage.mjs +146 -0
- package/lib/db2/stmt/table.mjs +540 -0
- package/lib/db2/stmt/view.mjs +146 -0
- package/lib/diff.mjs +17 -5
- package/lib/evidence/cli.mjs +14 -3
- package/lib/evidence/record.mjs +1 -1
- package/lib/evidence/store.mjs +44 -31
- package/lib/exec-reading.mjs +51 -0
- package/lib/execution.mjs +3 -2
- package/lib/explain.mjs +2 -0
- package/lib/exploitability.mjs +11 -2
- package/lib/hlasm/asm/data.mjs +13 -1
- package/lib/hlasm/asm/sections.mjs +3 -1
- package/lib/hlasm/instr.mjs +25 -0
- package/lib/hlasm/macro/authorization.mjs +24 -4
- package/lib/hlasm/macro/datasets.mjs +30 -17
- package/lib/hlasm/macro/io.mjs +68 -45
- package/lib/hlasm/macro/le.mjs +2 -2
- package/lib/hlasm/macro/operator.mjs +32 -21
- package/lib/hlasm/macro/program.mjs +126 -84
- package/lib/hlasm/macro/recovery.mjs +10 -5
- package/lib/hlasm/macro/storage.mjs +64 -14
- package/lib/hlasm/macro/structured.mjs +1 -1
- package/lib/hlasm/model.mjs +35 -10
- package/lib/hlasm/mvs38.mjs +47 -0
- package/lib/hlasm/operands.mjs +10 -0
- package/lib/hlasm/optable.mjs +61 -0
- package/lib/hlasm/read.mjs +22 -8
- package/lib/hlasm.mjs +44 -7
- package/lib/ims/dli.mjs +37 -0
- package/lib/ims/macro/dbd.mjs +299 -0
- package/lib/ims/macro/psb.mjs +286 -0
- package/lib/ims/model.mjs +149 -0
- package/lib/ims/operands.mjs +23 -0
- package/lib/ims/read.mjs +37 -0
- package/lib/ims/rules.mjs +135 -0
- package/lib/ironwork.mjs +17 -13
- package/lib/kernel/pds-archive.mjs +256 -0
- package/lib/kernel/registry.mjs +14 -8
- package/lib/kernel/shared-pass.mjs +34 -9
- package/lib/kernel/source-tree.mjs +104 -36
- package/lib/kernel/version-key.mjs +17 -0
- package/lib/layout.mjs +26 -31
- package/lib/parser.mjs +136 -17
- package/lib/pli/cursor.mjs +15 -0
- package/lib/pli/expr.mjs +101 -0
- package/lib/pli/include.mjs +82 -0
- package/lib/pli/layout.mjs +125 -0
- package/lib/pli/lex.mjs +198 -0
- package/lib/pli/program.mjs +280 -0
- package/lib/pli/rules/based.mjs +95 -0
- package/lib/pli/rules/conditions.mjs +68 -0
- package/lib/pli/rules/entry.mjs +130 -0
- package/lib/pli/rules/index.mjs +24 -0
- package/lib/pli/rules/preprocessor.mjs +55 -0
- package/lib/pli/statements.mjs +130 -0
- package/lib/pli/stmt/alloc.mjs +45 -0
- package/lib/pli/stmt/assignment.mjs +56 -0
- package/lib/pli/stmt/call.mjs +104 -0
- package/lib/pli/stmt/conditions.mjs +94 -0
- package/lib/pli/stmt/control.mjs +219 -0
- package/lib/pli/stmt/declare.mjs +149 -0
- package/lib/pli/stmt/exec.mjs +55 -0
- package/lib/pli/stmt/io.mjs +239 -0
- package/lib/pli/stmt/misc.mjs +4 -0
- package/lib/pli/stmt/preprocessor.mjs +242 -0
- package/lib/pli/stmt/procedure.mjs +258 -0
- package/lib/pli/stmt/stream.mjs +283 -0
- package/lib/pli/storage.mjs +129 -0
- package/lib/precompile-check.mjs +124 -0
- package/lib/precompile-cics.mjs +7 -3
- package/lib/reach.mjs +11 -2
- package/lib/revision.json +1 -1
- package/lib/sarif.mjs +41 -3
- package/lib/scan.mjs +7 -1
- package/lib/sets/abend.mjs +16 -6
- package/lib/sets/cics.mjs +15 -35
- package/lib/sets/compile.mjs +41 -15
- package/lib/sets/crypto.mjs +5 -3
- package/lib/sets/ddl.mjs +36 -0
- package/lib/sets/flow.mjs +18 -1
- package/lib/sets/hidden.mjs +5 -3
- package/lib/sets/hlasm.mjs +72 -12
- package/lib/sets/ims.mjs +139 -0
- package/lib/sets/log.mjs +6 -6
- package/lib/sets/opaque.mjs +27 -7
- package/lib/sets/pli.mjs +40 -0
- package/lib/sets/recon.mjs +5 -3
- package/lib/sets/secrets.mjs +5 -3
- package/lib/sets/semantics.mjs +3 -0
- package/lib/sets/web.mjs +36 -22
- package/lib/site.mjs +10 -0
- package/lib/sources.mjs +80 -20
- package/lib/statement-cursor.mjs +67 -0
- package/lib/verify.mjs +3 -2
- package/lib/version.mjs +6 -0
- package/package.json +3 -2
- package/rules/compliance-cobit2019.json +432 -1
- package/rules/compliance-dora.json +414 -1
- package/rules/compliance-ffiec.json +414 -1
- package/rules/compliance-nist80053.json +466 -1
- package/rules/hlasm-optables.json +8024 -0
- package/schema/cobolwork-baseline.schema.json +36 -0
- package/schema/cobolwork-build-provenance.schema.json +187 -0
- package/schema/cobolwork-build.schema.json +382 -0
- package/schema/cobolwork-capabilities.schema.json +239 -0
- package/schema/cobolwork-diff.schema.json +217 -0
- package/schema/cobolwork-evidence.schema.json +161 -0
- package/schema/cobolwork-execution.schema.json +53 -0
- package/schema/cobolwork-explain.schema.json +360 -0
- package/schema/cobolwork-finding.schema.json +465 -0
- package/schema/cobolwork-flow.schema.json +465 -0
- package/schema/cobolwork-gate.schema.json +211 -0
- package/schema/cobolwork-inventory.schema.json +206 -0
- package/schema/cobolwork-parse.schema.json +105 -0
- package/schema/cobolwork-reach.schema.json +74 -0
- package/schema/cobolwork-report.schema.json +559 -0
- package/schema/cobolwork-witness.schema.json +107 -0
- package/schema/cobolwork.baseline.schema.json +101 -0
- package/schema/cobolwork.site.schema.json +116 -0
|
@@ -1342,6 +1342,18 @@
|
|
|
1342
1342
|
"idsOnly": true
|
|
1343
1343
|
}
|
|
1344
1344
|
},
|
|
1345
|
+
{
|
|
1346
|
+
"kind": "compliance",
|
|
1347
|
+
"ruleId": "cics-queue-to-cics-dynamic-transfer",
|
|
1348
|
+
"framework": "cobit-2019",
|
|
1349
|
+
"clause": "DSS06.02",
|
|
1350
|
+
"rationale": "The rule reports: A CICS queue item 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.",
|
|
1351
|
+
"source": {
|
|
1352
|
+
"doc": "cobit2019",
|
|
1353
|
+
"retrieved": "2026-09-20",
|
|
1354
|
+
"idsOnly": true
|
|
1355
|
+
}
|
|
1356
|
+
},
|
|
1345
1357
|
{
|
|
1346
1358
|
"kind": "compliance",
|
|
1347
1359
|
"ruleId": "file-record-to-cics-sysid",
|
|
@@ -1354,6 +1366,18 @@
|
|
|
1354
1366
|
"idsOnly": true
|
|
1355
1367
|
}
|
|
1356
1368
|
},
|
|
1369
|
+
{
|
|
1370
|
+
"kind": "compliance",
|
|
1371
|
+
"ruleId": "cics-queue-to-cics-sysid",
|
|
1372
|
+
"framework": "cobit-2019",
|
|
1373
|
+
"clause": "DSS06.02",
|
|
1374
|
+
"rationale": "The rule reports: A CICS queue item 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.",
|
|
1375
|
+
"source": {
|
|
1376
|
+
"doc": "cobit2019",
|
|
1377
|
+
"retrieved": "2026-09-20",
|
|
1378
|
+
"idsOnly": true
|
|
1379
|
+
}
|
|
1380
|
+
},
|
|
1357
1381
|
{
|
|
1358
1382
|
"kind": "compliance",
|
|
1359
1383
|
"ruleId": "file-record-to-cics-system-resource",
|
|
@@ -1366,6 +1390,18 @@
|
|
|
1366
1390
|
"idsOnly": true
|
|
1367
1391
|
}
|
|
1368
1392
|
},
|
|
1393
|
+
{
|
|
1394
|
+
"kind": "compliance",
|
|
1395
|
+
"ruleId": "cics-queue-to-cics-system-resource",
|
|
1396
|
+
"framework": "cobit-2019",
|
|
1397
|
+
"clause": "DSS06.02",
|
|
1398
|
+
"rationale": "The rule reports: A CICS queue item 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.",
|
|
1399
|
+
"source": {
|
|
1400
|
+
"doc": "cobit2019",
|
|
1401
|
+
"retrieved": "2026-09-20",
|
|
1402
|
+
"idsOnly": true
|
|
1403
|
+
}
|
|
1404
|
+
},
|
|
1369
1405
|
{
|
|
1370
1406
|
"kind": "compliance",
|
|
1371
1407
|
"ruleId": "file-record-to-dynamic-file-path",
|
|
@@ -1378,6 +1414,18 @@
|
|
|
1378
1414
|
"idsOnly": true
|
|
1379
1415
|
}
|
|
1380
1416
|
},
|
|
1417
|
+
{
|
|
1418
|
+
"kind": "compliance",
|
|
1419
|
+
"ruleId": "cics-queue-to-dynamic-file-path",
|
|
1420
|
+
"framework": "cobit-2019",
|
|
1421
|
+
"clause": "DSS06.02",
|
|
1422
|
+
"rationale": "The rule reports: A CICS queue item 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.",
|
|
1423
|
+
"source": {
|
|
1424
|
+
"doc": "cobit2019",
|
|
1425
|
+
"retrieved": "2026-09-20",
|
|
1426
|
+
"idsOnly": true
|
|
1427
|
+
}
|
|
1428
|
+
},
|
|
1381
1429
|
{
|
|
1382
1430
|
"kind": "compliance",
|
|
1383
1431
|
"ruleId": "file-record-to-dynamic-program-load",
|
|
@@ -1390,6 +1438,18 @@
|
|
|
1390
1438
|
"idsOnly": true
|
|
1391
1439
|
}
|
|
1392
1440
|
},
|
|
1441
|
+
{
|
|
1442
|
+
"kind": "compliance",
|
|
1443
|
+
"ruleId": "cics-queue-to-dynamic-program-load",
|
|
1444
|
+
"framework": "cobit-2019",
|
|
1445
|
+
"clause": "DSS06.02",
|
|
1446
|
+
"rationale": "The rule reports: A CICS queue item 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.",
|
|
1447
|
+
"source": {
|
|
1448
|
+
"doc": "cobit2019",
|
|
1449
|
+
"retrieved": "2026-09-20",
|
|
1450
|
+
"idsOnly": true
|
|
1451
|
+
}
|
|
1452
|
+
},
|
|
1393
1453
|
{
|
|
1394
1454
|
"kind": "compliance",
|
|
1395
1455
|
"ruleId": "file-record-to-dynamic-sql",
|
|
@@ -1402,6 +1462,18 @@
|
|
|
1402
1462
|
"idsOnly": true
|
|
1403
1463
|
}
|
|
1404
1464
|
},
|
|
1465
|
+
{
|
|
1466
|
+
"kind": "compliance",
|
|
1467
|
+
"ruleId": "cics-queue-to-dynamic-sql",
|
|
1468
|
+
"framework": "cobit-2019",
|
|
1469
|
+
"clause": "DSS06.02",
|
|
1470
|
+
"rationale": "The rule reports: A CICS queue item 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.",
|
|
1471
|
+
"source": {
|
|
1472
|
+
"doc": "cobit2019",
|
|
1473
|
+
"retrieved": "2026-09-20",
|
|
1474
|
+
"idsOnly": true
|
|
1475
|
+
}
|
|
1476
|
+
},
|
|
1405
1477
|
{
|
|
1406
1478
|
"kind": "compliance",
|
|
1407
1479
|
"ruleId": "file-record-to-extrapartition-queue",
|
|
@@ -1414,6 +1486,18 @@
|
|
|
1414
1486
|
"idsOnly": true
|
|
1415
1487
|
}
|
|
1416
1488
|
},
|
|
1489
|
+
{
|
|
1490
|
+
"kind": "compliance",
|
|
1491
|
+
"ruleId": "cics-queue-to-extrapartition-queue",
|
|
1492
|
+
"framework": "cobit-2019",
|
|
1493
|
+
"clause": "DSS05.02",
|
|
1494
|
+
"rationale": "The rule reports: A CICS queue item 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.",
|
|
1495
|
+
"source": {
|
|
1496
|
+
"doc": "cobit2019",
|
|
1497
|
+
"retrieved": "2026-09-20",
|
|
1498
|
+
"idsOnly": true
|
|
1499
|
+
}
|
|
1500
|
+
},
|
|
1417
1501
|
{
|
|
1418
1502
|
"kind": "compliance",
|
|
1419
1503
|
"ruleId": "file-record-to-http-header",
|
|
@@ -1426,6 +1510,18 @@
|
|
|
1426
1510
|
"idsOnly": true
|
|
1427
1511
|
}
|
|
1428
1512
|
},
|
|
1513
|
+
{
|
|
1514
|
+
"kind": "compliance",
|
|
1515
|
+
"ruleId": "cics-queue-to-http-header",
|
|
1516
|
+
"framework": "cobit-2019",
|
|
1517
|
+
"clause": "DSS06.02",
|
|
1518
|
+
"rationale": "The rule reports: A CICS queue item 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.",
|
|
1519
|
+
"source": {
|
|
1520
|
+
"doc": "cobit2019",
|
|
1521
|
+
"retrieved": "2026-09-20",
|
|
1522
|
+
"idsOnly": true
|
|
1523
|
+
}
|
|
1524
|
+
},
|
|
1429
1525
|
{
|
|
1430
1526
|
"kind": "compliance",
|
|
1431
1527
|
"ruleId": "file-record-to-internal-reader",
|
|
@@ -1438,6 +1534,18 @@
|
|
|
1438
1534
|
"idsOnly": true
|
|
1439
1535
|
}
|
|
1440
1536
|
},
|
|
1537
|
+
{
|
|
1538
|
+
"kind": "compliance",
|
|
1539
|
+
"ruleId": "cics-queue-to-internal-reader",
|
|
1540
|
+
"framework": "cobit-2019",
|
|
1541
|
+
"clause": "DSS06.02",
|
|
1542
|
+
"rationale": "The rule reports: A CICS queue item 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.",
|
|
1543
|
+
"source": {
|
|
1544
|
+
"doc": "cobit2019",
|
|
1545
|
+
"retrieved": "2026-09-20",
|
|
1546
|
+
"idsOnly": true
|
|
1547
|
+
}
|
|
1548
|
+
},
|
|
1441
1549
|
{
|
|
1442
1550
|
"kind": "compliance",
|
|
1443
1551
|
"ruleId": "file-record-to-message-queue",
|
|
@@ -1450,6 +1558,18 @@
|
|
|
1450
1558
|
"idsOnly": true
|
|
1451
1559
|
}
|
|
1452
1560
|
},
|
|
1561
|
+
{
|
|
1562
|
+
"kind": "compliance",
|
|
1563
|
+
"ruleId": "cics-queue-to-message-queue",
|
|
1564
|
+
"framework": "cobit-2019",
|
|
1565
|
+
"clause": "DSS05.02",
|
|
1566
|
+
"rationale": "The rule reports: A CICS queue item 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.",
|
|
1567
|
+
"source": {
|
|
1568
|
+
"doc": "cobit2019",
|
|
1569
|
+
"retrieved": "2026-09-20",
|
|
1570
|
+
"idsOnly": true
|
|
1571
|
+
}
|
|
1572
|
+
},
|
|
1453
1573
|
{
|
|
1454
1574
|
"kind": "compliance",
|
|
1455
1575
|
"ruleId": "file-record-to-os-command",
|
|
@@ -1462,6 +1582,18 @@
|
|
|
1462
1582
|
"idsOnly": true
|
|
1463
1583
|
}
|
|
1464
1584
|
},
|
|
1585
|
+
{
|
|
1586
|
+
"kind": "compliance",
|
|
1587
|
+
"ruleId": "cics-queue-to-os-command",
|
|
1588
|
+
"framework": "cobit-2019",
|
|
1589
|
+
"clause": "DSS06.02",
|
|
1590
|
+
"rationale": "The rule reports: A CICS queue item 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.",
|
|
1591
|
+
"source": {
|
|
1592
|
+
"doc": "cobit2019",
|
|
1593
|
+
"retrieved": "2026-09-20",
|
|
1594
|
+
"idsOnly": true
|
|
1595
|
+
}
|
|
1596
|
+
},
|
|
1465
1597
|
{
|
|
1466
1598
|
"kind": "compliance",
|
|
1467
1599
|
"ruleId": "file-record-to-outbound-host",
|
|
@@ -1474,6 +1606,18 @@
|
|
|
1474
1606
|
"idsOnly": true
|
|
1475
1607
|
}
|
|
1476
1608
|
},
|
|
1609
|
+
{
|
|
1610
|
+
"kind": "compliance",
|
|
1611
|
+
"ruleId": "cics-queue-to-outbound-host",
|
|
1612
|
+
"framework": "cobit-2019",
|
|
1613
|
+
"clause": "DSS06.02",
|
|
1614
|
+
"rationale": "The rule reports: A CICS queue item 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.",
|
|
1615
|
+
"source": {
|
|
1616
|
+
"doc": "cobit2019",
|
|
1617
|
+
"retrieved": "2026-09-20",
|
|
1618
|
+
"idsOnly": true
|
|
1619
|
+
}
|
|
1620
|
+
},
|
|
1477
1621
|
{
|
|
1478
1622
|
"kind": "compliance",
|
|
1479
1623
|
"ruleId": "file-record-to-outbound-http",
|
|
@@ -1486,6 +1630,18 @@
|
|
|
1486
1630
|
"idsOnly": true
|
|
1487
1631
|
}
|
|
1488
1632
|
},
|
|
1633
|
+
{
|
|
1634
|
+
"kind": "compliance",
|
|
1635
|
+
"ruleId": "cics-queue-to-outbound-http",
|
|
1636
|
+
"framework": "cobit-2019",
|
|
1637
|
+
"clause": "DSS05.02",
|
|
1638
|
+
"rationale": "The rule reports: A CICS queue item 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.",
|
|
1639
|
+
"source": {
|
|
1640
|
+
"doc": "cobit2019",
|
|
1641
|
+
"retrieved": "2026-09-20",
|
|
1642
|
+
"idsOnly": true
|
|
1643
|
+
}
|
|
1644
|
+
},
|
|
1489
1645
|
{
|
|
1490
1646
|
"kind": "compliance",
|
|
1491
1647
|
"ruleId": "file-record-to-queue-name",
|
|
@@ -1498,6 +1654,18 @@
|
|
|
1498
1654
|
"idsOnly": true
|
|
1499
1655
|
}
|
|
1500
1656
|
},
|
|
1657
|
+
{
|
|
1658
|
+
"kind": "compliance",
|
|
1659
|
+
"ruleId": "cics-queue-to-queue-name",
|
|
1660
|
+
"framework": "cobit-2019",
|
|
1661
|
+
"clause": "DSS06.02",
|
|
1662
|
+
"rationale": "The rule reports: A CICS queue item 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.",
|
|
1663
|
+
"source": {
|
|
1664
|
+
"doc": "cobit2019",
|
|
1665
|
+
"retrieved": "2026-09-20",
|
|
1666
|
+
"idsOnly": true
|
|
1667
|
+
}
|
|
1668
|
+
},
|
|
1501
1669
|
{
|
|
1502
1670
|
"kind": "compliance",
|
|
1503
1671
|
"ruleId": "file-record-to-socket-send",
|
|
@@ -1510,6 +1678,18 @@
|
|
|
1510
1678
|
"idsOnly": true
|
|
1511
1679
|
}
|
|
1512
1680
|
},
|
|
1681
|
+
{
|
|
1682
|
+
"kind": "compliance",
|
|
1683
|
+
"ruleId": "cics-queue-to-socket-send",
|
|
1684
|
+
"framework": "cobit-2019",
|
|
1685
|
+
"clause": "DSS05.02",
|
|
1686
|
+
"rationale": "The rule reports: A CICS queue item 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.",
|
|
1687
|
+
"source": {
|
|
1688
|
+
"doc": "cobit2019",
|
|
1689
|
+
"retrieved": "2026-09-20",
|
|
1690
|
+
"idsOnly": true
|
|
1691
|
+
}
|
|
1692
|
+
},
|
|
1513
1693
|
{
|
|
1514
1694
|
"kind": "compliance",
|
|
1515
1695
|
"ruleId": "file-record-to-web-response",
|
|
@@ -1522,6 +1702,18 @@
|
|
|
1522
1702
|
"idsOnly": true
|
|
1523
1703
|
}
|
|
1524
1704
|
},
|
|
1705
|
+
{
|
|
1706
|
+
"kind": "compliance",
|
|
1707
|
+
"ruleId": "cics-queue-to-web-response",
|
|
1708
|
+
"framework": "cobit-2019",
|
|
1709
|
+
"clause": "DSS06.02",
|
|
1710
|
+
"rationale": "The rule reports: A CICS queue item 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.",
|
|
1711
|
+
"source": {
|
|
1712
|
+
"doc": "cobit2019",
|
|
1713
|
+
"retrieved": "2026-09-20",
|
|
1714
|
+
"idsOnly": true
|
|
1715
|
+
}
|
|
1716
|
+
},
|
|
1525
1717
|
{
|
|
1526
1718
|
"kind": "compliance",
|
|
1527
1719
|
"ruleId": "hidden-payload-in-identification-area",
|
|
@@ -1599,7 +1791,7 @@
|
|
|
1599
1791
|
"ruleId": "hlasm-supervisor-state-change",
|
|
1600
1792
|
"framework": "cobit-2019",
|
|
1601
1793
|
"clause": "DSS05.04",
|
|
1602
|
-
"rationale": "The rule reports: Assembler source switches to PSW key zero or supervisor state. That is access or authentication handled outside the managed identity and logical access this practice requires.",
|
|
1794
|
+
"rationale": "The rule reports: Assembler source switches to PSW key zero, another system key, or supervisor state. That is access or authentication handled outside the managed identity and logical access this practice requires.",
|
|
1603
1795
|
"source": {
|
|
1604
1796
|
"doc": "cobit2019",
|
|
1605
1797
|
"retrieved": "2026-09-20",
|
|
@@ -2697,6 +2889,245 @@
|
|
|
2697
2889
|
"retrieved": "2026-09-20",
|
|
2698
2890
|
"idsOnly": true
|
|
2699
2891
|
}
|
|
2892
|
+
},
|
|
2893
|
+
{
|
|
2894
|
+
"kind": "compliance",
|
|
2895
|
+
"ruleId": "db2-exit-routine-declared",
|
|
2896
|
+
"framework": "cobit-2019",
|
|
2897
|
+
"clause": "BAI09.01",
|
|
2898
|
+
"rationale": "The rule reports: A table names an exit routine that runs inside Db2. That is a component the record of assets does not account for, which this practice requires be identified and recorded.",
|
|
2899
|
+
"source": {
|
|
2900
|
+
"doc": "cobit2019",
|
|
2901
|
+
"retrieved": "2026-09-20",
|
|
2902
|
+
"idsOnly": true
|
|
2903
|
+
}
|
|
2904
|
+
},
|
|
2905
|
+
{
|
|
2906
|
+
"kind": "compliance",
|
|
2907
|
+
"ruleId": "db2-external-routine",
|
|
2908
|
+
"framework": "cobit-2019",
|
|
2909
|
+
"clause": "BAI09.01",
|
|
2910
|
+
"rationale": "The rule reports: A procedure or function runs an external load module. That is a component the record of assets does not account for, which this practice requires be identified and recorded.",
|
|
2911
|
+
"source": {
|
|
2912
|
+
"doc": "cobit2019",
|
|
2913
|
+
"retrieved": "2026-09-20",
|
|
2914
|
+
"idsOnly": true
|
|
2915
|
+
}
|
|
2916
|
+
},
|
|
2917
|
+
{
|
|
2918
|
+
"kind": "compliance",
|
|
2919
|
+
"ruleId": "db2-grant-to-public",
|
|
2920
|
+
"framework": "cobit-2019",
|
|
2921
|
+
"clause": "DSS05.04",
|
|
2922
|
+
"rationale": "The rule reports: A GRANT gives privileges to PUBLIC, every authorization ID. That is access or authentication handled outside the managed identity and logical access this practice requires.",
|
|
2923
|
+
"source": {
|
|
2924
|
+
"doc": "cobit2019",
|
|
2925
|
+
"retrieved": "2026-09-20",
|
|
2926
|
+
"idsOnly": true
|
|
2927
|
+
}
|
|
2928
|
+
},
|
|
2929
|
+
{
|
|
2930
|
+
"kind": "compliance",
|
|
2931
|
+
"ruleId": "db2-grant-with-grant-option",
|
|
2932
|
+
"framework": "cobit-2019",
|
|
2933
|
+
"clause": "DSS05.04",
|
|
2934
|
+
"rationale": "The rule reports: WITH GRANT OPTION lets the grantee grant the privilege to others. That is access or authentication handled outside the managed identity and logical access this practice requires.",
|
|
2935
|
+
"source": {
|
|
2936
|
+
"doc": "cobit2019",
|
|
2937
|
+
"retrieved": "2026-09-20",
|
|
2938
|
+
"idsOnly": true
|
|
2939
|
+
}
|
|
2940
|
+
},
|
|
2941
|
+
{
|
|
2942
|
+
"kind": "compliance",
|
|
2943
|
+
"ruleId": "db2-system-authority-granted",
|
|
2944
|
+
"framework": "cobit-2019",
|
|
2945
|
+
"clause": "DSS05.04",
|
|
2946
|
+
"rationale": "The rule reports: A system or database authority is granted. That is access or authentication handled outside the managed identity and logical access this practice requires.",
|
|
2947
|
+
"source": {
|
|
2948
|
+
"doc": "cobit2019",
|
|
2949
|
+
"retrieved": "2026-09-20",
|
|
2950
|
+
"idsOnly": true
|
|
2951
|
+
}
|
|
2952
|
+
},
|
|
2953
|
+
{
|
|
2954
|
+
"kind": "compliance",
|
|
2955
|
+
"ruleId": "ims-definition-inconsistent",
|
|
2956
|
+
"framework": "cobit-2019",
|
|
2957
|
+
"clause": "DSS06.02",
|
|
2958
|
+
"rationale": "The rule reports: A DBD or PSB holds what DBDGEN, PSBGEN or ACBGEN refuses. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
|
|
2959
|
+
"source": {
|
|
2960
|
+
"doc": "cobit2019",
|
|
2961
|
+
"retrieved": "2026-09-20",
|
|
2962
|
+
"idsOnly": true
|
|
2963
|
+
}
|
|
2964
|
+
},
|
|
2965
|
+
{
|
|
2966
|
+
"kind": "compliance",
|
|
2967
|
+
"ruleId": "ims-pcb-procopt-all",
|
|
2968
|
+
"framework": "cobit-2019",
|
|
2969
|
+
"clause": "DSS05.04",
|
|
2970
|
+
"rationale": "The rule reports: A database PCB lets the program get, insert, replace and delete its sensitive segments. That is access or authentication handled outside the managed identity and logical access this practice requires.",
|
|
2971
|
+
"source": {
|
|
2972
|
+
"doc": "cobit2019",
|
|
2973
|
+
"retrieved": "2026-09-20",
|
|
2974
|
+
"idsOnly": true
|
|
2975
|
+
}
|
|
2976
|
+
},
|
|
2977
|
+
{
|
|
2978
|
+
"kind": "compliance",
|
|
2979
|
+
"ruleId": "ims-senseg-unknown-segment",
|
|
2980
|
+
"framework": "cobit-2019",
|
|
2981
|
+
"clause": "DSS06.02",
|
|
2982
|
+
"rationale": "The rule reports: A SENSEG names a segment its PCB's DBD does not define, which ends the program with abend U0914. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
|
|
2983
|
+
"source": {
|
|
2984
|
+
"doc": "cobit2019",
|
|
2985
|
+
"retrieved": "2026-09-20",
|
|
2986
|
+
"idsOnly": true
|
|
2987
|
+
}
|
|
2988
|
+
},
|
|
2989
|
+
{
|
|
2990
|
+
"kind": "compliance",
|
|
2991
|
+
"ruleId": "pli-based-storage-addressing",
|
|
2992
|
+
"framework": "cobit-2019",
|
|
2993
|
+
"clause": "BAI09.01",
|
|
2994
|
+
"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.",
|
|
2995
|
+
"source": {
|
|
2996
|
+
"doc": "cobit2019",
|
|
2997
|
+
"retrieved": "2026-09-20",
|
|
2998
|
+
"idsOnly": true
|
|
2999
|
+
}
|
|
3000
|
+
},
|
|
3001
|
+
{
|
|
3002
|
+
"kind": "compliance",
|
|
3003
|
+
"ruleId": "pli-entry-variable-call",
|
|
3004
|
+
"framework": "cobit-2019",
|
|
3005
|
+
"clause": "BAI09.01",
|
|
3006
|
+
"rationale": "The rule reports: A CALL through an entry variable dispatches to a procedure chosen at run time, 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.",
|
|
3007
|
+
"source": {
|
|
3008
|
+
"doc": "cobit2019",
|
|
3009
|
+
"retrieved": "2026-09-20",
|
|
3010
|
+
"idsOnly": true
|
|
3011
|
+
}
|
|
3012
|
+
},
|
|
3013
|
+
{
|
|
3014
|
+
"kind": "compliance",
|
|
3015
|
+
"ruleId": "pli-error-condition-ignored",
|
|
3016
|
+
"framework": "cobit-2019",
|
|
3017
|
+
"clause": "DSS06.02",
|
|
3018
|
+
"rationale": "The rule reports: An ON unit for a condition does nothing with it, so the condition is silently ignored. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
|
|
3019
|
+
"source": {
|
|
3020
|
+
"doc": "cobit2019",
|
|
3021
|
+
"retrieved": "2026-09-20",
|
|
3022
|
+
"idsOnly": true
|
|
3023
|
+
}
|
|
3024
|
+
},
|
|
3025
|
+
{
|
|
3026
|
+
"kind": "compliance",
|
|
3027
|
+
"ruleId": "pli-fetch-title-variable",
|
|
3028
|
+
"framework": "cobit-2019",
|
|
3029
|
+
"clause": "DSS06.02",
|
|
3030
|
+
"rationale": "The rule reports: A FETCH whose TITLE is not a literal names the module to load at run time. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
|
|
3031
|
+
"source": {
|
|
3032
|
+
"doc": "cobit2019",
|
|
3033
|
+
"retrieved": "2026-09-20",
|
|
3034
|
+
"idsOnly": true
|
|
3035
|
+
}
|
|
3036
|
+
},
|
|
3037
|
+
{
|
|
3038
|
+
"kind": "compliance",
|
|
3039
|
+
"ruleId": "pli-preprocessor-in-use",
|
|
3040
|
+
"framework": "cobit-2019",
|
|
3041
|
+
"clause": "BAI09.01",
|
|
3042
|
+
"rationale": "The rule reports: A program uses PL/I preprocessor directives, so the source text is not the code that is compiled. That is a component the record of assets does not account for, which this practice requires be identified and recorded.",
|
|
3043
|
+
"source": {
|
|
3044
|
+
"doc": "cobit2019",
|
|
3045
|
+
"retrieved": "2026-09-20",
|
|
3046
|
+
"idsOnly": true
|
|
3047
|
+
}
|
|
3048
|
+
},
|
|
3049
|
+
{
|
|
3050
|
+
"kind": "compliance",
|
|
3051
|
+
"ruleId": "ims-procopt-broader-than-used",
|
|
3052
|
+
"framework": "cobit-2019",
|
|
3053
|
+
"clause": "DSS05.04",
|
|
3054
|
+
"rationale": "The rule reports: A PSB grants a processing option that no DL/I call of the program it is named for uses. That is access or authentication handled outside the managed identity and logical access this practice requires.",
|
|
3055
|
+
"source": {
|
|
3056
|
+
"doc": "cobit2019",
|
|
3057
|
+
"retrieved": "2026-09-20",
|
|
3058
|
+
"idsOnly": true
|
|
3059
|
+
}
|
|
3060
|
+
}
|
|
3061
|
+
],
|
|
3062
|
+
"evidence": [
|
|
3063
|
+
{
|
|
3064
|
+
"kind": "evidence",
|
|
3065
|
+
"evidenceId": "journal-records",
|
|
3066
|
+
"tools": [
|
|
3067
|
+
"cobolwork",
|
|
3068
|
+
"ironwork"
|
|
3069
|
+
],
|
|
3070
|
+
"framework": "cobit-2019",
|
|
3071
|
+
"clause": "DSS06.05",
|
|
3072
|
+
"rationale": "The evidence is a run journal's records, one per event: what ran and with which arguments, the inputs and DD files it read, the programs it called, where data left it, and how and when it ended. That makes the events of a run traceable afterwards, to what ran, on what and with what result, which this practice requires of information events.",
|
|
3073
|
+
"source": {
|
|
3074
|
+
"doc": "cobit2019",
|
|
3075
|
+
"retrieved": "2026-09-20",
|
|
3076
|
+
"idsOnly": true
|
|
3077
|
+
}
|
|
3078
|
+
},
|
|
3079
|
+
{
|
|
3080
|
+
"kind": "evidence",
|
|
3081
|
+
"evidenceId": "journal-chain",
|
|
3082
|
+
"tools": [
|
|
3083
|
+
"cobolwork",
|
|
3084
|
+
"ironwork"
|
|
3085
|
+
],
|
|
3086
|
+
"framework": "cobit-2019",
|
|
3087
|
+
"clause": "DSS06.05",
|
|
3088
|
+
"rationale": "The evidence is the SHA-256 chain through each run journal and the ledger that names every run, which `cobolwork evidence verify` recomputes, so a record changed, removed or reordered after it was written is found. That makes the events of a run traceable afterwards, to what ran, on what and with what result, which this practice requires of information events.",
|
|
3089
|
+
"source": {
|
|
3090
|
+
"doc": "cobit2019",
|
|
3091
|
+
"retrieved": "2026-09-20",
|
|
3092
|
+
"idsOnly": true
|
|
3093
|
+
}
|
|
3094
|
+
},
|
|
3095
|
+
{
|
|
3096
|
+
"kind": "evidence",
|
|
3097
|
+
"evidenceId": "provenance",
|
|
3098
|
+
"tools": [
|
|
3099
|
+
"cobolwork",
|
|
3100
|
+
"ironwork"
|
|
3101
|
+
],
|
|
3102
|
+
"framework": "cobit-2019",
|
|
3103
|
+
"clause": "DSS06.05",
|
|
3104
|
+
"rationale": "The evidence is the in-toto SLSA provenance statement of a run, naming its output and the sources it was built from by digest, the tool, and the tip of its journal. That makes the events of a run traceable afterwards, to what ran, on what and with what result, which this practice requires of information events.",
|
|
3105
|
+
"source": {
|
|
3106
|
+
"doc": "cobit2019",
|
|
3107
|
+
"retrieved": "2026-09-20",
|
|
3108
|
+
"idsOnly": true
|
|
3109
|
+
}
|
|
3110
|
+
},
|
|
3111
|
+
{
|
|
3112
|
+
"kind": "evidence",
|
|
3113
|
+
"evidenceId": "options-in-force",
|
|
3114
|
+
"tools": [
|
|
3115
|
+
"ironwork"
|
|
3116
|
+
],
|
|
3117
|
+
"framework": "cobit-2019",
|
|
3118
|
+
"clause": "BAI10.04",
|
|
3119
|
+
"rationale": "The evidence is the options a compile or run used, its compliance level and dialect among them, in the provenance statement's optionsInForce and the journal's open record. That reports the configuration each compile and run used, which this practice requires be produced.",
|
|
3120
|
+
"source": {
|
|
3121
|
+
"doc": "cobit2019",
|
|
3122
|
+
"retrieved": "2026-09-20",
|
|
3123
|
+
"idsOnly": true
|
|
3124
|
+
}
|
|
3125
|
+
}
|
|
3126
|
+
],
|
|
3127
|
+
"unmappedEvidence": [
|
|
3128
|
+
{
|
|
3129
|
+
"evidenceId": "assumptions-register",
|
|
3130
|
+
"why": "No COBIT 2019 practice is about how a compiler resolves what its language leaves open, for the reason NIST declines it."
|
|
2700
3131
|
}
|
|
2701
3132
|
]
|
|
2702
3133
|
}
|