@portll/cobolwork 0.5.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 +89 -26
- package/STABILITY.md +76 -0
- package/bin/cobolwork.mjs +56 -14
- package/lib/baseline.mjs +9 -0
- package/lib/bms.mjs +21 -7
- package/lib/build.mjs +133 -53
- package/lib/capabilities.mjs +13 -11
- package/lib/cics-commands.mjs +501 -9
- package/lib/compliance.mjs +11 -0
- package/lib/consequence.mjs +17 -0
- package/lib/control-reuse.mjs +113 -0
- package/lib/control-workers.mjs +161 -0
- package/lib/control.mjs +77 -4
- package/lib/dataflow.mjs +402 -152
- 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/equivalence.mjs +44 -5
- package/lib/evidence/cli.mjs +26 -7
- package/lib/evidence/record.mjs +16 -6
- package/lib/evidence/seal.mjs +17 -0
- package/lib/evidence/store.mjs +44 -15
- package/lib/evidence/timestamp.mjs +83 -0
- package/lib/evidence/verify.mjs +120 -42
- 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 +128 -0
- package/lib/hlasm/asm/listing.mjs +43 -0
- package/lib/hlasm/asm/output.mjs +45 -0
- package/lib/hlasm/asm/sections.mjs +161 -0
- package/lib/hlasm/asm/symbols.mjs +78 -0
- package/lib/hlasm/exec.mjs +27 -0
- package/lib/hlasm/expr.mjs +167 -0
- package/lib/hlasm/instr.mjs +73 -0
- package/lib/hlasm/locate.mjs +333 -0
- package/lib/hlasm/macro/authorization.mjs +146 -0
- package/lib/hlasm/macro/datasets.mjs +107 -0
- package/lib/hlasm/macro/io.mjs +162 -0
- package/lib/hlasm/macro/le.mjs +53 -0
- package/lib/hlasm/macro/linkage.mjs +143 -0
- package/lib/hlasm/macro/operator.mjs +77 -0
- package/lib/hlasm/macro/program.mjs +184 -0
- package/lib/hlasm/macro/recovery.mjs +85 -0
- package/lib/hlasm/macro/storage.mjs +167 -0
- package/lib/hlasm/macro/structured.mjs +131 -0
- package/lib/hlasm/model.mjs +97 -0
- package/lib/hlasm/mvs38.mjs +47 -0
- package/lib/hlasm/operands.mjs +59 -0
- package/lib/hlasm/optable.mjs +61 -0
- package/lib/hlasm/read.mjs +130 -0
- 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/inventory.mjs +10 -7
- package/lib/ironwork-ids.mjs +24 -0
- package/lib/ironwork.mjs +20 -13
- package/lib/kernel/pds-archive.mjs +256 -0
- package/lib/kernel/registry.mjs +32 -23
- package/lib/kernel/shared-pass.mjs +163 -0
- package/lib/kernel/source-tree.mjs +104 -36
- package/lib/kernel/version-key.mjs +17 -0
- package/lib/layout.mjs +26 -31
- package/lib/options.mjs +26 -4
- 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/policy.mjs +6 -0
- package/lib/precompile-check.mjs +124 -0
- package/lib/precompile-cics.mjs +8 -4
- package/lib/reach.mjs +11 -2
- package/lib/revision.json +1 -1
- package/lib/sarif.mjs +44 -3
- package/lib/scan.mjs +28 -12
- package/lib/sets/abend.mjs +82 -8
- package/lib/sets/build.mjs +43 -37
- package/lib/sets/cics.mjs +20 -38
- package/lib/sets/compile.mjs +46 -18
- package/lib/sets/copybook.mjs +5 -3
- package/lib/sets/crypto.mjs +5 -3
- package/lib/sets/ddl.mjs +36 -0
- package/lib/sets/flow.mjs +32 -8
- package/lib/sets/hidden.mjs +5 -3
- package/lib/sets/hlasm.mjs +124 -8
- package/lib/sets/ims.mjs +139 -0
- package/lib/sets/log.mjs +11 -9
- package/lib/sets/opaque.mjs +27 -7
- package/lib/sets/pli.mjs +40 -0
- package/lib/sets/priv.mjs +5 -3
- package/lib/sets/recon.mjs +5 -3
- package/lib/sets/secrets.mjs +112 -0
- package/lib/sets/semantics.mjs +8 -3
- package/lib/sets/web.mjs +39 -23
- 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 +520 -5
- package/rules/compliance-dora.json +509 -5
- package/rules/compliance-ffiec.json +505 -1
- package/rules/compliance-nist80053.json +557 -1
- package/rules/gitleaks-mainframe.toml +46 -15
- package/rules/hlasm-instructions.json +2396 -0
- 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.policy.schema.json +7 -0
- package/schema/cobolwork.site.schema.json +116 -0
|
@@ -388,6 +388,19 @@
|
|
|
388
388
|
"quote": "Protect the {{ insert: param, sc-08_odp }} of transmitted information."
|
|
389
389
|
}
|
|
390
390
|
},
|
|
391
|
+
{
|
|
392
|
+
"kind": "compliance",
|
|
393
|
+
"ruleId": "cics-new-password",
|
|
394
|
+
"framework": "nist-800-53r5",
|
|
395
|
+
"clause": "IA-5",
|
|
396
|
+
"title": "Authenticator Management",
|
|
397
|
+
"rationale": "The rule reports: Credential pattern: cics new password. That is authenticator content established in a file rather than managed, which is what this control governs.",
|
|
398
|
+
"source": {
|
|
399
|
+
"doc": "nist80053",
|
|
400
|
+
"retrieved": "2026-09-20",
|
|
401
|
+
"quote": "Establishing initial authenticator content for any authenticators issued by the organization"
|
|
402
|
+
}
|
|
403
|
+
},
|
|
391
404
|
{
|
|
392
405
|
"kind": "compliance",
|
|
393
406
|
"ruleId": "cics-protected-field-to-record-key",
|
|
@@ -1077,6 +1090,19 @@
|
|
|
1077
1090
|
"quote": "Develop and document an inventory of system components"
|
|
1078
1091
|
}
|
|
1079
1092
|
},
|
|
1093
|
+
{
|
|
1094
|
+
"kind": "compliance",
|
|
1095
|
+
"ruleId": "credential-in-source",
|
|
1096
|
+
"framework": "nist-800-53r5",
|
|
1097
|
+
"clause": "IA-5",
|
|
1098
|
+
"title": "Authenticator Management",
|
|
1099
|
+
"rationale": "The rule reports: A credential is written into the source. That is authenticator content established in a file rather than managed, which is what this control governs.",
|
|
1100
|
+
"source": {
|
|
1101
|
+
"doc": "nist80053",
|
|
1102
|
+
"retrieved": "2026-09-20",
|
|
1103
|
+
"quote": "Establishing initial authenticator content for any authenticators issued by the organization"
|
|
1104
|
+
}
|
|
1105
|
+
},
|
|
1080
1106
|
{
|
|
1081
1107
|
"kind": "compliance",
|
|
1082
1108
|
"ruleId": "csd-defines-diagnostic-transaction",
|
|
@@ -1428,6 +1454,19 @@
|
|
|
1428
1454
|
"quote": "Check the validity of the following information inputs"
|
|
1429
1455
|
}
|
|
1430
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
|
+
},
|
|
1431
1470
|
{
|
|
1432
1471
|
"kind": "compliance",
|
|
1433
1472
|
"ruleId": "file-record-to-cics-sysid",
|
|
@@ -1441,6 +1480,19 @@
|
|
|
1441
1480
|
"quote": "Check the validity of the following information inputs"
|
|
1442
1481
|
}
|
|
1443
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
|
+
},
|
|
1444
1496
|
{
|
|
1445
1497
|
"kind": "compliance",
|
|
1446
1498
|
"ruleId": "file-record-to-cics-system-resource",
|
|
@@ -1454,6 +1506,19 @@
|
|
|
1454
1506
|
"quote": "Check the validity of the following information inputs"
|
|
1455
1507
|
}
|
|
1456
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
|
+
},
|
|
1457
1522
|
{
|
|
1458
1523
|
"kind": "compliance",
|
|
1459
1524
|
"ruleId": "file-record-to-dynamic-file-path",
|
|
@@ -1467,6 +1532,19 @@
|
|
|
1467
1532
|
"quote": "Check the validity of the following information inputs"
|
|
1468
1533
|
}
|
|
1469
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
|
+
},
|
|
1470
1548
|
{
|
|
1471
1549
|
"kind": "compliance",
|
|
1472
1550
|
"ruleId": "file-record-to-dynamic-program-load",
|
|
@@ -1480,6 +1558,19 @@
|
|
|
1480
1558
|
"quote": "Check the validity of the following information inputs"
|
|
1481
1559
|
}
|
|
1482
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
|
+
},
|
|
1483
1574
|
{
|
|
1484
1575
|
"kind": "compliance",
|
|
1485
1576
|
"ruleId": "file-record-to-dynamic-sql",
|
|
@@ -1493,6 +1584,19 @@
|
|
|
1493
1584
|
"quote": "Check the validity of the following information inputs"
|
|
1494
1585
|
}
|
|
1495
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
|
+
},
|
|
1496
1600
|
{
|
|
1497
1601
|
"kind": "compliance",
|
|
1498
1602
|
"ruleId": "file-record-to-extrapartition-queue",
|
|
@@ -1506,6 +1610,19 @@
|
|
|
1506
1610
|
"quote": "Monitor and control communications at the external managed interfaces to the system and at key internal managed interfaces within the system"
|
|
1507
1611
|
}
|
|
1508
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
|
+
},
|
|
1509
1626
|
{
|
|
1510
1627
|
"kind": "compliance",
|
|
1511
1628
|
"ruleId": "file-record-to-http-header",
|
|
@@ -1519,6 +1636,19 @@
|
|
|
1519
1636
|
"quote": "Check the validity of the following information inputs"
|
|
1520
1637
|
}
|
|
1521
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
|
+
},
|
|
1522
1652
|
{
|
|
1523
1653
|
"kind": "compliance",
|
|
1524
1654
|
"ruleId": "file-record-to-internal-reader",
|
|
@@ -1532,6 +1662,19 @@
|
|
|
1532
1662
|
"quote": "Check the validity of the following information inputs"
|
|
1533
1663
|
}
|
|
1534
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
|
+
},
|
|
1535
1678
|
{
|
|
1536
1679
|
"kind": "compliance",
|
|
1537
1680
|
"ruleId": "file-record-to-message-queue",
|
|
@@ -1545,6 +1688,19 @@
|
|
|
1545
1688
|
"quote": "Monitor and control communications at the external managed interfaces to the system and at key internal managed interfaces within the system"
|
|
1546
1689
|
}
|
|
1547
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
|
+
},
|
|
1548
1704
|
{
|
|
1549
1705
|
"kind": "compliance",
|
|
1550
1706
|
"ruleId": "file-record-to-os-command",
|
|
@@ -1558,6 +1714,19 @@
|
|
|
1558
1714
|
"quote": "Check the validity of the following information inputs"
|
|
1559
1715
|
}
|
|
1560
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
|
+
},
|
|
1561
1730
|
{
|
|
1562
1731
|
"kind": "compliance",
|
|
1563
1732
|
"ruleId": "file-record-to-outbound-host",
|
|
@@ -1571,6 +1740,19 @@
|
|
|
1571
1740
|
"quote": "Check the validity of the following information inputs"
|
|
1572
1741
|
}
|
|
1573
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
|
+
},
|
|
1574
1756
|
{
|
|
1575
1757
|
"kind": "compliance",
|
|
1576
1758
|
"ruleId": "file-record-to-outbound-http",
|
|
@@ -1584,6 +1766,19 @@
|
|
|
1584
1766
|
"quote": "Monitor and control communications at the external managed interfaces to the system and at key internal managed interfaces within the system"
|
|
1585
1767
|
}
|
|
1586
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
|
+
},
|
|
1587
1782
|
{
|
|
1588
1783
|
"kind": "compliance",
|
|
1589
1784
|
"ruleId": "file-record-to-queue-name",
|
|
@@ -1597,6 +1792,19 @@
|
|
|
1597
1792
|
"quote": "Check the validity of the following information inputs"
|
|
1598
1793
|
}
|
|
1599
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
|
+
},
|
|
1600
1808
|
{
|
|
1601
1809
|
"kind": "compliance",
|
|
1602
1810
|
"ruleId": "file-record-to-socket-send",
|
|
@@ -1610,6 +1818,19 @@
|
|
|
1610
1818
|
"quote": "Monitor and control communications at the external managed interfaces to the system and at key internal managed interfaces within the system"
|
|
1611
1819
|
}
|
|
1612
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
|
+
},
|
|
1613
1834
|
{
|
|
1614
1835
|
"kind": "compliance",
|
|
1615
1836
|
"ruleId": "file-record-to-web-response",
|
|
@@ -1623,6 +1844,19 @@
|
|
|
1623
1844
|
"quote": "Check the validity of the following information inputs"
|
|
1624
1845
|
}
|
|
1625
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
|
+
},
|
|
1626
1860
|
{
|
|
1627
1861
|
"kind": "compliance",
|
|
1628
1862
|
"ruleId": "hidden-payload-in-identification-area",
|
|
@@ -1707,13 +1941,26 @@
|
|
|
1707
1941
|
"framework": "nist-800-53r5",
|
|
1708
1942
|
"clause": "AC-6",
|
|
1709
1943
|
"title": "Least Privilege",
|
|
1710
|
-
"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.",
|
|
1711
1945
|
"source": {
|
|
1712
1946
|
"doc": "nist80053",
|
|
1713
1947
|
"retrieved": "2026-09-20",
|
|
1714
1948
|
"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."
|
|
1715
1949
|
}
|
|
1716
1950
|
},
|
|
1951
|
+
{
|
|
1952
|
+
"kind": "compliance",
|
|
1953
|
+
"ruleId": "hlasm-runtime-module-name",
|
|
1954
|
+
"framework": "nist-800-53r5",
|
|
1955
|
+
"clause": "SI-10",
|
|
1956
|
+
"title": "Information Input Validation",
|
|
1957
|
+
"rationale": "The rule reports: Assembler source loads or calls a module whose name it reads from storage at run time. That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
1958
|
+
"source": {
|
|
1959
|
+
"doc": "nist80053",
|
|
1960
|
+
"retrieved": "2026-09-20",
|
|
1961
|
+
"quote": "Check the validity of the following information inputs"
|
|
1962
|
+
}
|
|
1963
|
+
},
|
|
1717
1964
|
{
|
|
1718
1965
|
"kind": "compliance",
|
|
1719
1966
|
"ruleId": "icsf-fixed-initialization-vector",
|
|
@@ -1766,6 +2013,32 @@
|
|
|
1766
2013
|
"quote": "Check the validity of the following information inputs"
|
|
1767
2014
|
}
|
|
1768
2015
|
},
|
|
2016
|
+
{
|
|
2017
|
+
"kind": "compliance",
|
|
2018
|
+
"ruleId": "input-causes-hang",
|
|
2019
|
+
"framework": "nist-800-53r5",
|
|
2020
|
+
"clause": "SI-10",
|
|
2021
|
+
"title": "Information Input Validation",
|
|
2022
|
+
"rationale": "The rule reports: An input the program accepts keeps a loop running past the statement limit that stands in for its time limit (S322). That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
2023
|
+
"source": {
|
|
2024
|
+
"doc": "nist80053",
|
|
2025
|
+
"retrieved": "2026-09-20",
|
|
2026
|
+
"quote": "Check the validity of the following information inputs"
|
|
2027
|
+
}
|
|
2028
|
+
},
|
|
2029
|
+
{
|
|
2030
|
+
"kind": "compliance",
|
|
2031
|
+
"ruleId": "input-selects-program",
|
|
2032
|
+
"framework": "nist-800-53r5",
|
|
2033
|
+
"clause": "SI-10",
|
|
2034
|
+
"title": "Information Input Validation",
|
|
2035
|
+
"rationale": "The rule reports: An input the program accepts chooses the program a CALL loads. That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
2036
|
+
"source": {
|
|
2037
|
+
"doc": "nist80053",
|
|
2038
|
+
"retrieved": "2026-09-20",
|
|
2039
|
+
"quote": "Check the validity of the following information inputs"
|
|
2040
|
+
}
|
|
2041
|
+
},
|
|
1769
2042
|
{
|
|
1770
2043
|
"kind": "compliance",
|
|
1771
2044
|
"ruleId": "input-causes-abend-s0c4",
|
|
@@ -2468,6 +2741,19 @@
|
|
|
2468
2741
|
"quote": "Check the validity of the following information inputs"
|
|
2469
2742
|
}
|
|
2470
2743
|
},
|
|
2744
|
+
{
|
|
2745
|
+
"kind": "compliance",
|
|
2746
|
+
"ruleId": "racf-command-new-password",
|
|
2747
|
+
"framework": "nist-800-53r5",
|
|
2748
|
+
"clause": "IA-5",
|
|
2749
|
+
"title": "Authenticator Management",
|
|
2750
|
+
"rationale": "The rule reports: Credential pattern: racf command new password. That is authenticator content established in a file rather than managed, which is what this control governs.",
|
|
2751
|
+
"source": {
|
|
2752
|
+
"doc": "nist80053",
|
|
2753
|
+
"retrieved": "2026-09-20",
|
|
2754
|
+
"quote": "Establishing initial authenticator content for any authenticators issued by the organization"
|
|
2755
|
+
}
|
|
2756
|
+
},
|
|
2471
2757
|
{
|
|
2472
2758
|
"kind": "compliance",
|
|
2473
2759
|
"ruleId": "racf-command-password",
|
|
@@ -2585,6 +2871,19 @@
|
|
|
2585
2871
|
"quote": "Develop and document an inventory of system components"
|
|
2586
2872
|
}
|
|
2587
2873
|
},
|
|
2874
|
+
{
|
|
2875
|
+
"kind": "compliance",
|
|
2876
|
+
"ruleId": "tso-logon-new-password",
|
|
2877
|
+
"framework": "nist-800-53r5",
|
|
2878
|
+
"clause": "IA-5",
|
|
2879
|
+
"title": "Authenticator Management",
|
|
2880
|
+
"rationale": "The rule reports: Credential pattern: tso logon new password. That is authenticator content established in a file rather than managed, which is what this control governs.",
|
|
2881
|
+
"source": {
|
|
2882
|
+
"doc": "nist80053",
|
|
2883
|
+
"retrieved": "2026-09-20",
|
|
2884
|
+
"quote": "Establishing initial authenticator content for any authenticators issued by the organization"
|
|
2885
|
+
}
|
|
2886
|
+
},
|
|
2588
2887
|
{
|
|
2589
2888
|
"kind": "compliance",
|
|
2590
2889
|
"ruleId": "tso-logon-password",
|
|
@@ -2831,6 +3130,263 @@
|
|
|
2831
3130
|
"retrieved": "2026-09-20",
|
|
2832
3131
|
"quote": "Establishing initial authenticator content for any authenticators issued by the organization"
|
|
2833
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."
|
|
2834
3390
|
}
|
|
2835
3391
|
]
|
|
2836
3392
|
}
|