@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
|
@@ -1454,6 +1454,19 @@
|
|
|
1454
1454
|
"quote": "Check the validity of the following information inputs"
|
|
1455
1455
|
}
|
|
1456
1456
|
},
|
|
1457
|
+
{
|
|
1458
|
+
"kind": "compliance",
|
|
1459
|
+
"ruleId": "cics-queue-to-cics-dynamic-transfer",
|
|
1460
|
+
"framework": "nist-800-53r5",
|
|
1461
|
+
"clause": "SI-10",
|
|
1462
|
+
"title": "Information Input Validation",
|
|
1463
|
+
"rationale": "The rule reports: A CICS queue item decides which program CICS transfers to. That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
1464
|
+
"source": {
|
|
1465
|
+
"doc": "nist80053",
|
|
1466
|
+
"retrieved": "2026-09-20",
|
|
1467
|
+
"quote": "Check the validity of the following information inputs"
|
|
1468
|
+
}
|
|
1469
|
+
},
|
|
1457
1470
|
{
|
|
1458
1471
|
"kind": "compliance",
|
|
1459
1472
|
"ruleId": "file-record-to-cics-sysid",
|
|
@@ -1467,6 +1480,19 @@
|
|
|
1467
1480
|
"quote": "Check the validity of the following information inputs"
|
|
1468
1481
|
}
|
|
1469
1482
|
},
|
|
1483
|
+
{
|
|
1484
|
+
"kind": "compliance",
|
|
1485
|
+
"ruleId": "cics-queue-to-cics-sysid",
|
|
1486
|
+
"framework": "nist-800-53r5",
|
|
1487
|
+
"clause": "SI-10",
|
|
1488
|
+
"title": "Information Input Validation",
|
|
1489
|
+
"rationale": "The rule reports: A CICS queue item decides which region a CICS command is shipped to. That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
1490
|
+
"source": {
|
|
1491
|
+
"doc": "nist80053",
|
|
1492
|
+
"retrieved": "2026-09-20",
|
|
1493
|
+
"quote": "Check the validity of the following information inputs"
|
|
1494
|
+
}
|
|
1495
|
+
},
|
|
1470
1496
|
{
|
|
1471
1497
|
"kind": "compliance",
|
|
1472
1498
|
"ruleId": "file-record-to-cics-system-resource",
|
|
@@ -1480,6 +1506,19 @@
|
|
|
1480
1506
|
"quote": "Check the validity of the following information inputs"
|
|
1481
1507
|
}
|
|
1482
1508
|
},
|
|
1509
|
+
{
|
|
1510
|
+
"kind": "compliance",
|
|
1511
|
+
"ruleId": "cics-queue-to-cics-system-resource",
|
|
1512
|
+
"framework": "nist-800-53r5",
|
|
1513
|
+
"clause": "SI-10",
|
|
1514
|
+
"title": "Information Input Validation",
|
|
1515
|
+
"rationale": "The rule reports: A CICS queue item names the resource an EXEC CICS SET changes. That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
1516
|
+
"source": {
|
|
1517
|
+
"doc": "nist80053",
|
|
1518
|
+
"retrieved": "2026-09-20",
|
|
1519
|
+
"quote": "Check the validity of the following information inputs"
|
|
1520
|
+
}
|
|
1521
|
+
},
|
|
1483
1522
|
{
|
|
1484
1523
|
"kind": "compliance",
|
|
1485
1524
|
"ruleId": "file-record-to-dynamic-file-path",
|
|
@@ -1493,6 +1532,19 @@
|
|
|
1493
1532
|
"quote": "Check the validity of the following information inputs"
|
|
1494
1533
|
}
|
|
1495
1534
|
},
|
|
1535
|
+
{
|
|
1536
|
+
"kind": "compliance",
|
|
1537
|
+
"ruleId": "cics-queue-to-dynamic-file-path",
|
|
1538
|
+
"framework": "nist-800-53r5",
|
|
1539
|
+
"clause": "SI-10",
|
|
1540
|
+
"title": "Information Input Validation",
|
|
1541
|
+
"rationale": "The rule reports: A CICS queue item decides which file is opened. That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
1542
|
+
"source": {
|
|
1543
|
+
"doc": "nist80053",
|
|
1544
|
+
"retrieved": "2026-09-20",
|
|
1545
|
+
"quote": "Check the validity of the following information inputs"
|
|
1546
|
+
}
|
|
1547
|
+
},
|
|
1496
1548
|
{
|
|
1497
1549
|
"kind": "compliance",
|
|
1498
1550
|
"ruleId": "file-record-to-dynamic-program-load",
|
|
@@ -1506,6 +1558,19 @@
|
|
|
1506
1558
|
"quote": "Check the validity of the following information inputs"
|
|
1507
1559
|
}
|
|
1508
1560
|
},
|
|
1561
|
+
{
|
|
1562
|
+
"kind": "compliance",
|
|
1563
|
+
"ruleId": "cics-queue-to-dynamic-program-load",
|
|
1564
|
+
"framework": "nist-800-53r5",
|
|
1565
|
+
"clause": "SI-10",
|
|
1566
|
+
"title": "Information Input Validation",
|
|
1567
|
+
"rationale": "The rule reports: A CICS queue item decides which program is called. That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
1568
|
+
"source": {
|
|
1569
|
+
"doc": "nist80053",
|
|
1570
|
+
"retrieved": "2026-09-20",
|
|
1571
|
+
"quote": "Check the validity of the following information inputs"
|
|
1572
|
+
}
|
|
1573
|
+
},
|
|
1509
1574
|
{
|
|
1510
1575
|
"kind": "compliance",
|
|
1511
1576
|
"ruleId": "file-record-to-dynamic-sql",
|
|
@@ -1519,6 +1584,19 @@
|
|
|
1519
1584
|
"quote": "Check the validity of the following information inputs"
|
|
1520
1585
|
}
|
|
1521
1586
|
},
|
|
1587
|
+
{
|
|
1588
|
+
"kind": "compliance",
|
|
1589
|
+
"ruleId": "cics-queue-to-dynamic-sql",
|
|
1590
|
+
"framework": "nist-800-53r5",
|
|
1591
|
+
"clause": "SI-10",
|
|
1592
|
+
"title": "Information Input Validation",
|
|
1593
|
+
"rationale": "The rule reports: A CICS queue item reaches dynamic SQL. That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
1594
|
+
"source": {
|
|
1595
|
+
"doc": "nist80053",
|
|
1596
|
+
"retrieved": "2026-09-20",
|
|
1597
|
+
"quote": "Check the validity of the following information inputs"
|
|
1598
|
+
}
|
|
1599
|
+
},
|
|
1522
1600
|
{
|
|
1523
1601
|
"kind": "compliance",
|
|
1524
1602
|
"ruleId": "file-record-to-extrapartition-queue",
|
|
@@ -1532,6 +1610,19 @@
|
|
|
1532
1610
|
"quote": "Monitor and control communications at the external managed interfaces to the system and at key internal managed interfaces within the system"
|
|
1533
1611
|
}
|
|
1534
1612
|
},
|
|
1613
|
+
{
|
|
1614
|
+
"kind": "compliance",
|
|
1615
|
+
"ruleId": "cics-queue-to-extrapartition-queue",
|
|
1616
|
+
"framework": "nist-800-53r5",
|
|
1617
|
+
"clause": "SC-7",
|
|
1618
|
+
"title": "Boundary Protection",
|
|
1619
|
+
"rationale": "The rule reports: A CICS queue item is written to a transient-data queue that leaves the region. That is information crossing a managed interface through a channel the program opened itself, which this control requires be monitored and controlled.",
|
|
1620
|
+
"source": {
|
|
1621
|
+
"doc": "nist80053",
|
|
1622
|
+
"retrieved": "2026-09-20",
|
|
1623
|
+
"quote": "Monitor and control communications at the external managed interfaces to the system and at key internal managed interfaces within the system"
|
|
1624
|
+
}
|
|
1625
|
+
},
|
|
1535
1626
|
{
|
|
1536
1627
|
"kind": "compliance",
|
|
1537
1628
|
"ruleId": "file-record-to-http-header",
|
|
@@ -1545,6 +1636,19 @@
|
|
|
1545
1636
|
"quote": "Check the validity of the following information inputs"
|
|
1546
1637
|
}
|
|
1547
1638
|
},
|
|
1639
|
+
{
|
|
1640
|
+
"kind": "compliance",
|
|
1641
|
+
"ruleId": "cics-queue-to-http-header",
|
|
1642
|
+
"framework": "nist-800-53r5",
|
|
1643
|
+
"clause": "SI-10",
|
|
1644
|
+
"title": "Information Input Validation",
|
|
1645
|
+
"rationale": "The rule reports: A CICS queue item is written into a header of the response. That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
1646
|
+
"source": {
|
|
1647
|
+
"doc": "nist80053",
|
|
1648
|
+
"retrieved": "2026-09-20",
|
|
1649
|
+
"quote": "Check the validity of the following information inputs"
|
|
1650
|
+
}
|
|
1651
|
+
},
|
|
1548
1652
|
{
|
|
1549
1653
|
"kind": "compliance",
|
|
1550
1654
|
"ruleId": "file-record-to-internal-reader",
|
|
@@ -1558,6 +1662,19 @@
|
|
|
1558
1662
|
"quote": "Check the validity of the following information inputs"
|
|
1559
1663
|
}
|
|
1560
1664
|
},
|
|
1665
|
+
{
|
|
1666
|
+
"kind": "compliance",
|
|
1667
|
+
"ruleId": "cics-queue-to-internal-reader",
|
|
1668
|
+
"framework": "nist-800-53r5",
|
|
1669
|
+
"clause": "SI-10",
|
|
1670
|
+
"title": "Information Input Validation",
|
|
1671
|
+
"rationale": "The rule reports: A CICS queue item is written into a job the internal reader submits. That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
1672
|
+
"source": {
|
|
1673
|
+
"doc": "nist80053",
|
|
1674
|
+
"retrieved": "2026-09-20",
|
|
1675
|
+
"quote": "Check the validity of the following information inputs"
|
|
1676
|
+
}
|
|
1677
|
+
},
|
|
1561
1678
|
{
|
|
1562
1679
|
"kind": "compliance",
|
|
1563
1680
|
"ruleId": "file-record-to-message-queue",
|
|
@@ -1571,6 +1688,19 @@
|
|
|
1571
1688
|
"quote": "Monitor and control communications at the external managed interfaces to the system and at key internal managed interfaces within the system"
|
|
1572
1689
|
}
|
|
1573
1690
|
},
|
|
1691
|
+
{
|
|
1692
|
+
"kind": "compliance",
|
|
1693
|
+
"ruleId": "cics-queue-to-message-queue",
|
|
1694
|
+
"framework": "nist-800-53r5",
|
|
1695
|
+
"clause": "SC-7",
|
|
1696
|
+
"title": "Boundary Protection",
|
|
1697
|
+
"rationale": "The rule reports: A CICS queue item is put on a message queue. That is information crossing a managed interface through a channel the program opened itself, which this control requires be monitored and controlled.",
|
|
1698
|
+
"source": {
|
|
1699
|
+
"doc": "nist80053",
|
|
1700
|
+
"retrieved": "2026-09-20",
|
|
1701
|
+
"quote": "Monitor and control communications at the external managed interfaces to the system and at key internal managed interfaces within the system"
|
|
1702
|
+
}
|
|
1703
|
+
},
|
|
1574
1704
|
{
|
|
1575
1705
|
"kind": "compliance",
|
|
1576
1706
|
"ruleId": "file-record-to-os-command",
|
|
@@ -1584,6 +1714,19 @@
|
|
|
1584
1714
|
"quote": "Check the validity of the following information inputs"
|
|
1585
1715
|
}
|
|
1586
1716
|
},
|
|
1717
|
+
{
|
|
1718
|
+
"kind": "compliance",
|
|
1719
|
+
"ruleId": "cics-queue-to-os-command",
|
|
1720
|
+
"framework": "nist-800-53r5",
|
|
1721
|
+
"clause": "SI-10",
|
|
1722
|
+
"title": "Information Input Validation",
|
|
1723
|
+
"rationale": "The rule reports: A CICS queue item reaches an operating-system command routine. That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
1724
|
+
"source": {
|
|
1725
|
+
"doc": "nist80053",
|
|
1726
|
+
"retrieved": "2026-09-20",
|
|
1727
|
+
"quote": "Check the validity of the following information inputs"
|
|
1728
|
+
}
|
|
1729
|
+
},
|
|
1587
1730
|
{
|
|
1588
1731
|
"kind": "compliance",
|
|
1589
1732
|
"ruleId": "file-record-to-outbound-host",
|
|
@@ -1597,6 +1740,19 @@
|
|
|
1597
1740
|
"quote": "Check the validity of the following information inputs"
|
|
1598
1741
|
}
|
|
1599
1742
|
},
|
|
1743
|
+
{
|
|
1744
|
+
"kind": "compliance",
|
|
1745
|
+
"ruleId": "cics-queue-to-outbound-host",
|
|
1746
|
+
"framework": "nist-800-53r5",
|
|
1747
|
+
"clause": "SI-10",
|
|
1748
|
+
"title": "Information Input Validation",
|
|
1749
|
+
"rationale": "The rule reports: A CICS queue item decides the host or path this program sends a request to. That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
1750
|
+
"source": {
|
|
1751
|
+
"doc": "nist80053",
|
|
1752
|
+
"retrieved": "2026-09-20",
|
|
1753
|
+
"quote": "Check the validity of the following information inputs"
|
|
1754
|
+
}
|
|
1755
|
+
},
|
|
1600
1756
|
{
|
|
1601
1757
|
"kind": "compliance",
|
|
1602
1758
|
"ruleId": "file-record-to-outbound-http",
|
|
@@ -1610,6 +1766,19 @@
|
|
|
1610
1766
|
"quote": "Monitor and control communications at the external managed interfaces to the system and at key internal managed interfaces within the system"
|
|
1611
1767
|
}
|
|
1612
1768
|
},
|
|
1769
|
+
{
|
|
1770
|
+
"kind": "compliance",
|
|
1771
|
+
"ruleId": "cics-queue-to-outbound-http",
|
|
1772
|
+
"framework": "nist-800-53r5",
|
|
1773
|
+
"clause": "SC-7",
|
|
1774
|
+
"title": "Boundary Protection",
|
|
1775
|
+
"rationale": "The rule reports: A CICS queue item is sent to a remote server over HTTP. That is information crossing a managed interface through a channel the program opened itself, which this control requires be monitored and controlled.",
|
|
1776
|
+
"source": {
|
|
1777
|
+
"doc": "nist80053",
|
|
1778
|
+
"retrieved": "2026-09-20",
|
|
1779
|
+
"quote": "Monitor and control communications at the external managed interfaces to the system and at key internal managed interfaces within the system"
|
|
1780
|
+
}
|
|
1781
|
+
},
|
|
1613
1782
|
{
|
|
1614
1783
|
"kind": "compliance",
|
|
1615
1784
|
"ruleId": "file-record-to-queue-name",
|
|
@@ -1623,6 +1792,19 @@
|
|
|
1623
1792
|
"quote": "Check the validity of the following information inputs"
|
|
1624
1793
|
}
|
|
1625
1794
|
},
|
|
1795
|
+
{
|
|
1796
|
+
"kind": "compliance",
|
|
1797
|
+
"ruleId": "cics-queue-to-queue-name",
|
|
1798
|
+
"framework": "nist-800-53r5",
|
|
1799
|
+
"clause": "SI-10",
|
|
1800
|
+
"title": "Information Input Validation",
|
|
1801
|
+
"rationale": "The rule reports: A CICS queue item names the queue a command reads, writes or deletes. That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
1802
|
+
"source": {
|
|
1803
|
+
"doc": "nist80053",
|
|
1804
|
+
"retrieved": "2026-09-20",
|
|
1805
|
+
"quote": "Check the validity of the following information inputs"
|
|
1806
|
+
}
|
|
1807
|
+
},
|
|
1626
1808
|
{
|
|
1627
1809
|
"kind": "compliance",
|
|
1628
1810
|
"ruleId": "file-record-to-socket-send",
|
|
@@ -1636,6 +1818,19 @@
|
|
|
1636
1818
|
"quote": "Monitor and control communications at the external managed interfaces to the system and at key internal managed interfaces within the system"
|
|
1637
1819
|
}
|
|
1638
1820
|
},
|
|
1821
|
+
{
|
|
1822
|
+
"kind": "compliance",
|
|
1823
|
+
"ruleId": "cics-queue-to-socket-send",
|
|
1824
|
+
"framework": "nist-800-53r5",
|
|
1825
|
+
"clause": "SC-7",
|
|
1826
|
+
"title": "Boundary Protection",
|
|
1827
|
+
"rationale": "The rule reports: A CICS queue item is written to a network socket. That is information crossing a managed interface through a channel the program opened itself, which this control requires be monitored and controlled.",
|
|
1828
|
+
"source": {
|
|
1829
|
+
"doc": "nist80053",
|
|
1830
|
+
"retrieved": "2026-09-20",
|
|
1831
|
+
"quote": "Monitor and control communications at the external managed interfaces to the system and at key internal managed interfaces within the system"
|
|
1832
|
+
}
|
|
1833
|
+
},
|
|
1639
1834
|
{
|
|
1640
1835
|
"kind": "compliance",
|
|
1641
1836
|
"ruleId": "file-record-to-web-response",
|
|
@@ -1649,6 +1844,19 @@
|
|
|
1649
1844
|
"quote": "Check the validity of the following information inputs"
|
|
1650
1845
|
}
|
|
1651
1846
|
},
|
|
1847
|
+
{
|
|
1848
|
+
"kind": "compliance",
|
|
1849
|
+
"ruleId": "cics-queue-to-web-response",
|
|
1850
|
+
"framework": "nist-800-53r5",
|
|
1851
|
+
"clause": "SI-10",
|
|
1852
|
+
"title": "Information Input Validation",
|
|
1853
|
+
"rationale": "The rule reports: A CICS queue item is written into the response this program returns. That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
1854
|
+
"source": {
|
|
1855
|
+
"doc": "nist80053",
|
|
1856
|
+
"retrieved": "2026-09-20",
|
|
1857
|
+
"quote": "Check the validity of the following information inputs"
|
|
1858
|
+
}
|
|
1859
|
+
},
|
|
1652
1860
|
{
|
|
1653
1861
|
"kind": "compliance",
|
|
1654
1862
|
"ruleId": "hidden-payload-in-identification-area",
|
|
@@ -1733,7 +1941,7 @@
|
|
|
1733
1941
|
"framework": "nist-800-53r5",
|
|
1734
1942
|
"clause": "AC-6",
|
|
1735
1943
|
"title": "Least Privilege",
|
|
1736
|
-
"rationale": "The rule reports: Assembler source switches to PSW key zero or supervisor state. That is authority granted or exercised beyond what the task requires, which this control exists to prevent.",
|
|
1944
|
+
"rationale": "The rule reports: Assembler source switches to PSW key zero, another system key, or supervisor state. That is authority granted or exercised beyond what the task requires, which this control exists to prevent.",
|
|
1737
1945
|
"source": {
|
|
1738
1946
|
"doc": "nist80053",
|
|
1739
1947
|
"retrieved": "2026-09-20",
|
|
@@ -2922,6 +3130,263 @@
|
|
|
2922
3130
|
"retrieved": "2026-09-20",
|
|
2923
3131
|
"quote": "Establishing initial authenticator content for any authenticators issued by the organization"
|
|
2924
3132
|
}
|
|
3133
|
+
},
|
|
3134
|
+
{
|
|
3135
|
+
"kind": "compliance",
|
|
3136
|
+
"ruleId": "db2-exit-routine-declared",
|
|
3137
|
+
"framework": "nist-800-53r5",
|
|
3138
|
+
"clause": "CM-8",
|
|
3139
|
+
"title": "System Component Inventory",
|
|
3140
|
+
"rationale": "The rule reports: A table names an exit routine that runs inside Db2. That is a component the inventory does not accurately account for, which this control requires be documented.",
|
|
3141
|
+
"source": {
|
|
3142
|
+
"doc": "nist80053",
|
|
3143
|
+
"retrieved": "2026-09-20",
|
|
3144
|
+
"quote": "Develop and document an inventory of system components"
|
|
3145
|
+
}
|
|
3146
|
+
},
|
|
3147
|
+
{
|
|
3148
|
+
"kind": "compliance",
|
|
3149
|
+
"ruleId": "db2-external-routine",
|
|
3150
|
+
"framework": "nist-800-53r5",
|
|
3151
|
+
"clause": "CM-8",
|
|
3152
|
+
"title": "System Component Inventory",
|
|
3153
|
+
"rationale": "The rule reports: A procedure or function runs an external load module. That is a component the inventory does not accurately account for, which this control requires be documented.",
|
|
3154
|
+
"source": {
|
|
3155
|
+
"doc": "nist80053",
|
|
3156
|
+
"retrieved": "2026-09-20",
|
|
3157
|
+
"quote": "Develop and document an inventory of system components"
|
|
3158
|
+
}
|
|
3159
|
+
},
|
|
3160
|
+
{
|
|
3161
|
+
"kind": "compliance",
|
|
3162
|
+
"ruleId": "db2-grant-to-public",
|
|
3163
|
+
"framework": "nist-800-53r5",
|
|
3164
|
+
"clause": "AC-6",
|
|
3165
|
+
"title": "Least Privilege",
|
|
3166
|
+
"rationale": "The rule reports: A GRANT gives privileges to PUBLIC, every authorization ID. That is authority granted or exercised beyond what the task requires, which this control exists to prevent.",
|
|
3167
|
+
"source": {
|
|
3168
|
+
"doc": "nist80053",
|
|
3169
|
+
"retrieved": "2026-09-20",
|
|
3170
|
+
"quote": "Employ the principle of least privilege, allowing only authorized accesses for users (or processes acting on behalf of users) that are necessary to accomplish assigned organizational tasks."
|
|
3171
|
+
}
|
|
3172
|
+
},
|
|
3173
|
+
{
|
|
3174
|
+
"kind": "compliance",
|
|
3175
|
+
"ruleId": "db2-grant-with-grant-option",
|
|
3176
|
+
"framework": "nist-800-53r5",
|
|
3177
|
+
"clause": "AC-6",
|
|
3178
|
+
"title": "Least Privilege",
|
|
3179
|
+
"rationale": "The rule reports: WITH GRANT OPTION lets the grantee grant the privilege to others. That is authority granted or exercised beyond what the task requires, which this control exists to prevent.",
|
|
3180
|
+
"source": {
|
|
3181
|
+
"doc": "nist80053",
|
|
3182
|
+
"retrieved": "2026-09-20",
|
|
3183
|
+
"quote": "Employ the principle of least privilege, allowing only authorized accesses for users (or processes acting on behalf of users) that are necessary to accomplish assigned organizational tasks."
|
|
3184
|
+
}
|
|
3185
|
+
},
|
|
3186
|
+
{
|
|
3187
|
+
"kind": "compliance",
|
|
3188
|
+
"ruleId": "db2-system-authority-granted",
|
|
3189
|
+
"framework": "nist-800-53r5",
|
|
3190
|
+
"clause": "AC-6",
|
|
3191
|
+
"title": "Least Privilege",
|
|
3192
|
+
"rationale": "The rule reports: A system or database authority is granted. That is authority granted or exercised beyond what the task requires, which this control exists to prevent.",
|
|
3193
|
+
"source": {
|
|
3194
|
+
"doc": "nist80053",
|
|
3195
|
+
"retrieved": "2026-09-20",
|
|
3196
|
+
"quote": "Employ the principle of least privilege, allowing only authorized accesses for users (or processes acting on behalf of users) that are necessary to accomplish assigned organizational tasks."
|
|
3197
|
+
}
|
|
3198
|
+
},
|
|
3199
|
+
{
|
|
3200
|
+
"kind": "compliance",
|
|
3201
|
+
"ruleId": "ims-definition-inconsistent",
|
|
3202
|
+
"framework": "nist-800-53r5",
|
|
3203
|
+
"clause": "SI-2",
|
|
3204
|
+
"title": "Flaw Remediation",
|
|
3205
|
+
"rationale": "The rule reports: A DBD or PSB holds what DBDGEN, PSBGEN or ACBGEN refuses. That is a known system flaw present in the build, which this control requires be identified, reported and corrected.",
|
|
3206
|
+
"source": {
|
|
3207
|
+
"doc": "nist80053",
|
|
3208
|
+
"retrieved": "2026-09-20",
|
|
3209
|
+
"quote": "Identify, report, and correct system flaws"
|
|
3210
|
+
}
|
|
3211
|
+
},
|
|
3212
|
+
{
|
|
3213
|
+
"kind": "compliance",
|
|
3214
|
+
"ruleId": "ims-pcb-procopt-all",
|
|
3215
|
+
"framework": "nist-800-53r5",
|
|
3216
|
+
"clause": "AC-6",
|
|
3217
|
+
"title": "Least Privilege",
|
|
3218
|
+
"rationale": "The rule reports: A database PCB lets the program get, insert, replace and delete its sensitive segments. That is authority granted or exercised beyond what the task requires, which this control exists to prevent.",
|
|
3219
|
+
"source": {
|
|
3220
|
+
"doc": "nist80053",
|
|
3221
|
+
"retrieved": "2026-09-20",
|
|
3222
|
+
"quote": "Employ the principle of least privilege, allowing only authorized accesses for users (or processes acting on behalf of users) that are necessary to accomplish assigned organizational tasks."
|
|
3223
|
+
}
|
|
3224
|
+
},
|
|
3225
|
+
{
|
|
3226
|
+
"kind": "compliance",
|
|
3227
|
+
"ruleId": "ims-senseg-unknown-segment",
|
|
3228
|
+
"framework": "nist-800-53r5",
|
|
3229
|
+
"clause": "SI-2",
|
|
3230
|
+
"title": "Flaw Remediation",
|
|
3231
|
+
"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 a known system flaw present in the build, which this control requires be identified, reported and corrected.",
|
|
3232
|
+
"source": {
|
|
3233
|
+
"doc": "nist80053",
|
|
3234
|
+
"retrieved": "2026-09-20",
|
|
3235
|
+
"quote": "Identify, report, and correct system flaws"
|
|
3236
|
+
}
|
|
3237
|
+
},
|
|
3238
|
+
{
|
|
3239
|
+
"kind": "compliance",
|
|
3240
|
+
"ruleId": "pli-based-storage-addressing",
|
|
3241
|
+
"framework": "nist-800-53r5",
|
|
3242
|
+
"clause": "CM-8",
|
|
3243
|
+
"title": "System Component Inventory",
|
|
3244
|
+
"rationale": "The rule reports: A program addresses storage through a pointer, so data flow through it is not followed. That is a component the inventory does not accurately account for, which this control requires be documented.",
|
|
3245
|
+
"source": {
|
|
3246
|
+
"doc": "nist80053",
|
|
3247
|
+
"retrieved": "2026-09-20",
|
|
3248
|
+
"quote": "Develop and document an inventory of system components"
|
|
3249
|
+
}
|
|
3250
|
+
},
|
|
3251
|
+
{
|
|
3252
|
+
"kind": "compliance",
|
|
3253
|
+
"ruleId": "pli-entry-variable-call",
|
|
3254
|
+
"framework": "nist-800-53r5",
|
|
3255
|
+
"clause": "CM-8",
|
|
3256
|
+
"title": "System Component Inventory",
|
|
3257
|
+
"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 inventory does not accurately account for, which this control requires be documented.",
|
|
3258
|
+
"source": {
|
|
3259
|
+
"doc": "nist80053",
|
|
3260
|
+
"retrieved": "2026-09-20",
|
|
3261
|
+
"quote": "Develop and document an inventory of system components"
|
|
3262
|
+
}
|
|
3263
|
+
},
|
|
3264
|
+
{
|
|
3265
|
+
"kind": "compliance",
|
|
3266
|
+
"ruleId": "pli-error-condition-ignored",
|
|
3267
|
+
"framework": "nist-800-53r5",
|
|
3268
|
+
"clause": "SI-10",
|
|
3269
|
+
"title": "Information Input Validation",
|
|
3270
|
+
"rationale": "The rule reports: An ON unit for a condition does nothing with it, so the condition is silently ignored. That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
3271
|
+
"source": {
|
|
3272
|
+
"doc": "nist80053",
|
|
3273
|
+
"retrieved": "2026-09-20",
|
|
3274
|
+
"quote": "Check the validity of the following information inputs"
|
|
3275
|
+
}
|
|
3276
|
+
},
|
|
3277
|
+
{
|
|
3278
|
+
"kind": "compliance",
|
|
3279
|
+
"ruleId": "pli-fetch-title-variable",
|
|
3280
|
+
"framework": "nist-800-53r5",
|
|
3281
|
+
"clause": "SI-10",
|
|
3282
|
+
"title": "Information Input Validation",
|
|
3283
|
+
"rationale": "The rule reports: A FETCH whose TITLE is not a literal names the module to load at run time. That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
3284
|
+
"source": {
|
|
3285
|
+
"doc": "nist80053",
|
|
3286
|
+
"retrieved": "2026-09-20",
|
|
3287
|
+
"quote": "Check the validity of the following information inputs"
|
|
3288
|
+
}
|
|
3289
|
+
},
|
|
3290
|
+
{
|
|
3291
|
+
"kind": "compliance",
|
|
3292
|
+
"ruleId": "pli-preprocessor-in-use",
|
|
3293
|
+
"framework": "nist-800-53r5",
|
|
3294
|
+
"clause": "CM-8",
|
|
3295
|
+
"title": "System Component Inventory",
|
|
3296
|
+
"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 inventory does not accurately account for, which this control requires be documented.",
|
|
3297
|
+
"source": {
|
|
3298
|
+
"doc": "nist80053",
|
|
3299
|
+
"retrieved": "2026-09-20",
|
|
3300
|
+
"quote": "Develop and document an inventory of system components"
|
|
3301
|
+
}
|
|
3302
|
+
},
|
|
3303
|
+
{
|
|
3304
|
+
"kind": "compliance",
|
|
3305
|
+
"ruleId": "ims-procopt-broader-than-used",
|
|
3306
|
+
"framework": "nist-800-53r5",
|
|
3307
|
+
"clause": "AC-6",
|
|
3308
|
+
"title": "Least Privilege",
|
|
3309
|
+
"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 authority granted or exercised beyond what the task requires, which this control exists to prevent.",
|
|
3310
|
+
"source": {
|
|
3311
|
+
"doc": "nist80053",
|
|
3312
|
+
"retrieved": "2026-09-20",
|
|
3313
|
+
"quote": "Employ the principle of least privilege, allowing only authorized accesses for users (or processes acting on behalf of users) that are necessary to accomplish assigned organizational tasks."
|
|
3314
|
+
}
|
|
3315
|
+
}
|
|
3316
|
+
],
|
|
3317
|
+
"evidence": [
|
|
3318
|
+
{
|
|
3319
|
+
"kind": "evidence",
|
|
3320
|
+
"evidenceId": "journal-records",
|
|
3321
|
+
"tools": [
|
|
3322
|
+
"cobolwork",
|
|
3323
|
+
"ironwork"
|
|
3324
|
+
],
|
|
3325
|
+
"framework": "nist-800-53r5",
|
|
3326
|
+
"clause": "AU-3",
|
|
3327
|
+
"title": "Content of Audit Records",
|
|
3328
|
+
"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. Each record establishes what kind of event occurred, when, where and with what outcome, which is the content this control requires of an audit record.",
|
|
3329
|
+
"source": {
|
|
3330
|
+
"doc": "nist80053",
|
|
3331
|
+
"retrieved": "2026-09-20",
|
|
3332
|
+
"quote": "Ensure that audit records contain information that establishes the following:"
|
|
3333
|
+
}
|
|
3334
|
+
},
|
|
3335
|
+
{
|
|
3336
|
+
"kind": "evidence",
|
|
3337
|
+
"evidenceId": "journal-chain",
|
|
3338
|
+
"tools": [
|
|
3339
|
+
"cobolwork",
|
|
3340
|
+
"ironwork"
|
|
3341
|
+
],
|
|
3342
|
+
"framework": "nist-800-53r5",
|
|
3343
|
+
"clause": "AU-9(3)",
|
|
3344
|
+
"title": "Cryptographic Protection",
|
|
3345
|
+
"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 is a cryptographic mechanism over the audit records, through which a change to one after it was written is detected, which is the integrity this enhancement requires.",
|
|
3346
|
+
"source": {
|
|
3347
|
+
"doc": "nist80053",
|
|
3348
|
+
"retrieved": "2026-09-20",
|
|
3349
|
+
"quote": "Implement cryptographic mechanisms to protect the integrity of audit information and audit tools."
|
|
3350
|
+
}
|
|
3351
|
+
},
|
|
3352
|
+
{
|
|
3353
|
+
"kind": "evidence",
|
|
3354
|
+
"evidenceId": "provenance",
|
|
3355
|
+
"tools": [
|
|
3356
|
+
"cobolwork",
|
|
3357
|
+
"ironwork"
|
|
3358
|
+
],
|
|
3359
|
+
"framework": "nist-800-53r5",
|
|
3360
|
+
"clause": "SR-4",
|
|
3361
|
+
"title": "Provenance",
|
|
3362
|
+
"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 documents the provenance of the output, the sources it came from and the tool that made it, which this control requires be kept valid.",
|
|
3363
|
+
"source": {
|
|
3364
|
+
"doc": "nist80053",
|
|
3365
|
+
"retrieved": "2026-09-20",
|
|
3366
|
+
"quote": "Document, monitor, and maintain valid provenance of the following systems, system components, and associated data"
|
|
3367
|
+
}
|
|
3368
|
+
},
|
|
3369
|
+
{
|
|
3370
|
+
"kind": "evidence",
|
|
3371
|
+
"evidenceId": "options-in-force",
|
|
3372
|
+
"tools": [
|
|
3373
|
+
"ironwork"
|
|
3374
|
+
],
|
|
3375
|
+
"framework": "nist-800-53r5",
|
|
3376
|
+
"clause": "CM-6",
|
|
3377
|
+
"title": "Configuration Settings",
|
|
3378
|
+
"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 documents the configuration settings in force for each compile and run, against which the settings an organisation established can be checked.",
|
|
3379
|
+
"source": {
|
|
3380
|
+
"doc": "nist80053",
|
|
3381
|
+
"retrieved": "2026-09-20",
|
|
3382
|
+
"quote": "Establish and document configuration settings for components employed within the system that reflect the most restrictive mode consistent with operational requirements"
|
|
3383
|
+
}
|
|
3384
|
+
}
|
|
3385
|
+
],
|
|
3386
|
+
"unmappedEvidence": [
|
|
3387
|
+
{
|
|
3388
|
+
"evidenceId": "assumptions-register",
|
|
3389
|
+
"why": "The register records how a compiler resolves what its language leaves open. SA-5 asks for administrator documentation of secure configuration and use, and CM-6 for settings an organisation chooses; neither is about an implementation's own design choices, and mapping to either would be a near miss."
|
|
2925
3390
|
}
|
|
2926
3391
|
]
|
|
2927
3392
|
}
|