@portll/cobolwork 0.4.0 → 0.6.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 +53 -5
- package/bin/cobolwork.mjs +34 -9
- package/lib/baseline.mjs +9 -0
- package/lib/bms.mjs +8 -0
- package/lib/build.mjs +33 -8
- package/lib/capabilities.mjs +6 -3
- package/lib/consequence.mjs +17 -0
- package/lib/constants.mjs +60 -0
- package/lib/control-reuse.mjs +113 -0
- package/lib/control.mjs +86 -18
- package/lib/csd.mjs +6 -1
- package/lib/dataflow.mjs +343 -95
- package/lib/equivalence.mjs +44 -5
- package/lib/evidence/cli.mjs +13 -5
- package/lib/evidence/record.mjs +16 -6
- package/lib/evidence/seal.mjs +17 -0
- package/lib/evidence/store.mjs +30 -14
- package/lib/evidence/timestamp.mjs +83 -0
- package/lib/evidence/verify.mjs +120 -42
- package/lib/hlasm/asm/data.mjs +116 -0
- package/lib/hlasm/asm/listing.mjs +43 -0
- package/lib/hlasm/asm/output.mjs +45 -0
- package/lib/hlasm/asm/sections.mjs +159 -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 +48 -0
- package/lib/hlasm/locate.mjs +333 -0
- package/lib/hlasm/macro/authorization.mjs +126 -0
- package/lib/hlasm/macro/datasets.mjs +94 -0
- package/lib/hlasm/macro/io.mjs +139 -0
- package/lib/hlasm/macro/le.mjs +53 -0
- package/lib/hlasm/macro/linkage.mjs +143 -0
- package/lib/hlasm/macro/operator.mjs +66 -0
- package/lib/hlasm/macro/program.mjs +142 -0
- package/lib/hlasm/macro/recovery.mjs +80 -0
- package/lib/hlasm/macro/storage.mjs +117 -0
- package/lib/hlasm/macro/structured.mjs +131 -0
- package/lib/hlasm/model.mjs +72 -0
- package/lib/hlasm/operands.mjs +49 -0
- package/lib/hlasm/read.mjs +116 -0
- package/lib/hlasm.mjs +79 -0
- package/lib/inventory.mjs +10 -7
- package/lib/ironwork-ids.mjs +24 -0
- package/lib/ironwork.mjs +4 -1
- package/lib/kernel/registry.mjs +24 -17
- package/lib/kernel/shared-pass.mjs +138 -0
- package/lib/options.mjs +26 -4
- package/lib/policy.mjs +6 -0
- package/lib/precompile-cics.mjs +1 -1
- package/lib/revision.json +1 -1
- package/lib/sarif.mjs +3 -0
- package/lib/scan.mjs +21 -11
- package/lib/sets/abend.mjs +115 -13
- package/lib/sets/build.mjs +43 -37
- package/lib/sets/cics.mjs +5 -3
- package/lib/sets/compile.mjs +5 -3
- package/lib/sets/copybook.mjs +5 -3
- package/lib/sets/crypto.mjs +110 -0
- package/lib/sets/flow.mjs +32 -7
- package/lib/sets/hlasm.mjs +177 -0
- package/lib/sets/jcl.mjs +15 -1
- package/lib/sets/log.mjs +5 -3
- package/lib/sets/priv.mjs +5 -3
- package/lib/sets/secrets.mjs +110 -0
- package/lib/sets/semantics.mjs +5 -3
- package/lib/sets/web.mjs +104 -7
- package/lib/sources.mjs +12 -2
- package/package.json +1 -1
- package/rules/compliance-cobit2019.json +216 -0
- package/rules/compliance-dora.json +234 -0
- package/rules/compliance-ffiec.json +234 -0
- package/rules/compliance-nist80053.json +234 -0
- package/rules/gitleaks-mainframe.toml +61 -16
- package/rules/hlasm-instructions.json +2396 -0
- package/rules/hlasm-operations.json +451 -0
- package/rules/icsf-services.json +1178 -0
- package/schema/cobolwork.policy.schema.json +7 -0
|
@@ -388,6 +388,19 @@
|
|
|
388
388
|
"quote": "Secure coding practices help developers minimize the potential for known source code-related vulnerabilities in the development phase."
|
|
389
389
|
}
|
|
390
390
|
},
|
|
391
|
+
{
|
|
392
|
+
"kind": "compliance",
|
|
393
|
+
"ruleId": "cics-new-password",
|
|
394
|
+
"framework": "ffiec",
|
|
395
|
+
"clause": "IS II.C.19",
|
|
396
|
+
"title": "Encryption",
|
|
397
|
+
"rationale": "The rule reports: Credential pattern: cics new password. That is an authentication credential or sensitive data left unprotected, which this control requires be encrypted in storage and in transit.",
|
|
398
|
+
"source": {
|
|
399
|
+
"doc": "ffiec",
|
|
400
|
+
"retrieved": "2026-09-20",
|
|
401
|
+
"quote": "Encryption is used to secure communications and data storage, particularly authentication credentials and the transmission of sensitive information."
|
|
402
|
+
}
|
|
403
|
+
},
|
|
391
404
|
{
|
|
392
405
|
"kind": "compliance",
|
|
393
406
|
"ruleId": "cics-protected-field-to-record-key",
|
|
@@ -1077,6 +1090,19 @@
|
|
|
1077
1090
|
"quote": "Inventory of all systems and components (e.g., open-source, proprietary, application programming interfaces [API], and container images and registries), including related licenses, and data as part of IT asset management (ITAM)."
|
|
1078
1091
|
}
|
|
1079
1092
|
},
|
|
1093
|
+
{
|
|
1094
|
+
"kind": "compliance",
|
|
1095
|
+
"ruleId": "credential-in-source",
|
|
1096
|
+
"framework": "ffiec",
|
|
1097
|
+
"clause": "IS II.C.19",
|
|
1098
|
+
"title": "Encryption",
|
|
1099
|
+
"rationale": "The rule reports: A credential is written into the source. That is an authentication credential or sensitive data left unprotected, which this control requires be encrypted in storage and in transit.",
|
|
1100
|
+
"source": {
|
|
1101
|
+
"doc": "ffiec",
|
|
1102
|
+
"retrieved": "2026-09-20",
|
|
1103
|
+
"quote": "Encryption is used to secure communications and data storage, particularly authentication credentials and the transmission of sensitive information."
|
|
1104
|
+
}
|
|
1105
|
+
},
|
|
1080
1106
|
{
|
|
1081
1107
|
"kind": "compliance",
|
|
1082
1108
|
"ruleId": "csd-defines-diagnostic-transaction",
|
|
@@ -1649,6 +1675,123 @@
|
|
|
1649
1675
|
"quote": "Secure coding practices help developers minimize the potential for known source code-related vulnerabilities in the development phase."
|
|
1650
1676
|
}
|
|
1651
1677
|
},
|
|
1678
|
+
{
|
|
1679
|
+
"kind": "compliance",
|
|
1680
|
+
"ruleId": "hlasm-calls-security-product",
|
|
1681
|
+
"framework": "ffiec",
|
|
1682
|
+
"clause": "DA&M IV",
|
|
1683
|
+
"title": "Common Development, Acquisition, and Maintenance Practices",
|
|
1684
|
+
"rationale": "The rule reports: Assembler source calls the security product directly. That is a component or dependency the inventory does not accurately account for, which this practice requires be catalogued.",
|
|
1685
|
+
"source": {
|
|
1686
|
+
"doc": "ffiec",
|
|
1687
|
+
"retrieved": "2026-09-20",
|
|
1688
|
+
"quote": "Inventory of all systems and components (e.g., open-source, proprietary, application programming interfaces [API], and container images and registries), including related licenses, and data as part of IT asset management (ITAM)."
|
|
1689
|
+
}
|
|
1690
|
+
},
|
|
1691
|
+
{
|
|
1692
|
+
"kind": "compliance",
|
|
1693
|
+
"ruleId": "hlasm-cross-memory-service",
|
|
1694
|
+
"framework": "ffiec",
|
|
1695
|
+
"clause": "IS II.C.7",
|
|
1696
|
+
"title": "User Security Controls",
|
|
1697
|
+
"rationale": "The rule reports: Assembler source uses a cross-memory instruction, reaching another address space or another authority. That is authority granted or exercised beyond job necessity, which the principle of least privilege exists to constrain.",
|
|
1698
|
+
"source": {
|
|
1699
|
+
"doc": "ffiec",
|
|
1700
|
+
"retrieved": "2026-09-20",
|
|
1701
|
+
"quote": "Principle of least privilege, which recommends minimum user profile privileges for both physical and logical access based on job necessity."
|
|
1702
|
+
}
|
|
1703
|
+
},
|
|
1704
|
+
{
|
|
1705
|
+
"kind": "compliance",
|
|
1706
|
+
"ruleId": "hlasm-executes-built-instruction",
|
|
1707
|
+
"framework": "ffiec",
|
|
1708
|
+
"clause": "DA&M V",
|
|
1709
|
+
"title": "Development",
|
|
1710
|
+
"rationale": "The rule reports: Assembler source runs an instruction whose length or mask comes from a register at run time. That is a source code-related vulnerability of the kind secure coding practices exist to minimise.",
|
|
1711
|
+
"source": {
|
|
1712
|
+
"doc": "ffiec",
|
|
1713
|
+
"retrieved": "2026-09-20",
|
|
1714
|
+
"quote": "Secure coding practices help developers minimize the potential for known source code-related vulnerabilities in the development phase."
|
|
1715
|
+
}
|
|
1716
|
+
},
|
|
1717
|
+
{
|
|
1718
|
+
"kind": "compliance",
|
|
1719
|
+
"ruleId": "hlasm-provides-called-module",
|
|
1720
|
+
"framework": "ffiec",
|
|
1721
|
+
"clause": "DA&M IV",
|
|
1722
|
+
"title": "Common Development, Acquisition, and Maintenance Practices",
|
|
1723
|
+
"rationale": "The rule reports: An assembler CSECT or ENTRY is a module a COBOL program in this tree CALLs. That is a component or dependency the inventory does not accurately account for, which this practice requires be catalogued.",
|
|
1724
|
+
"source": {
|
|
1725
|
+
"doc": "ffiec",
|
|
1726
|
+
"retrieved": "2026-09-20",
|
|
1727
|
+
"quote": "Inventory of all systems and components (e.g., open-source, proprietary, application programming interfaces [API], and container images and registries), including related licenses, and data as part of IT asset management (ITAM)."
|
|
1728
|
+
}
|
|
1729
|
+
},
|
|
1730
|
+
{
|
|
1731
|
+
"kind": "compliance",
|
|
1732
|
+
"ruleId": "hlasm-supervisor-state-change",
|
|
1733
|
+
"framework": "ffiec",
|
|
1734
|
+
"clause": "IS II.C.7",
|
|
1735
|
+
"title": "User Security Controls",
|
|
1736
|
+
"rationale": "The rule reports: Assembler source switches to PSW key zero or supervisor state. That is authority granted or exercised beyond job necessity, which the principle of least privilege exists to constrain.",
|
|
1737
|
+
"source": {
|
|
1738
|
+
"doc": "ffiec",
|
|
1739
|
+
"retrieved": "2026-09-20",
|
|
1740
|
+
"quote": "Principle of least privilege, which recommends minimum user profile privileges for both physical and logical access based on job necessity."
|
|
1741
|
+
}
|
|
1742
|
+
},
|
|
1743
|
+
{
|
|
1744
|
+
"kind": "compliance",
|
|
1745
|
+
"ruleId": "hlasm-runtime-module-name",
|
|
1746
|
+
"framework": "ffiec",
|
|
1747
|
+
"clause": "DA&M V",
|
|
1748
|
+
"title": "Development",
|
|
1749
|
+
"rationale": "The rule reports: Assembler source loads or calls a module whose name it reads from storage at run time. That is a source code-related vulnerability of the kind secure coding practices exist to minimise.",
|
|
1750
|
+
"source": {
|
|
1751
|
+
"doc": "ffiec",
|
|
1752
|
+
"retrieved": "2026-09-20",
|
|
1753
|
+
"quote": "Secure coding practices help developers minimize the potential for known source code-related vulnerabilities in the development phase."
|
|
1754
|
+
}
|
|
1755
|
+
},
|
|
1756
|
+
{
|
|
1757
|
+
"kind": "compliance",
|
|
1758
|
+
"ruleId": "icsf-fixed-initialization-vector",
|
|
1759
|
+
"framework": "ffiec",
|
|
1760
|
+
"clause": "IS II.C.19",
|
|
1761
|
+
"title": "Encryption",
|
|
1762
|
+
"rationale": "The rule reports: A program enciphers through ICSF with an initialization vector that never changes. That is an authentication credential or sensitive data left unprotected, which this control requires be encrypted in storage and in transit.",
|
|
1763
|
+
"source": {
|
|
1764
|
+
"doc": "ffiec",
|
|
1765
|
+
"retrieved": "2026-09-20",
|
|
1766
|
+
"quote": "Encryption is used to secure communications and data storage, particularly authentication credentials and the transmission of sensitive information."
|
|
1767
|
+
}
|
|
1768
|
+
},
|
|
1769
|
+
{
|
|
1770
|
+
"kind": "compliance",
|
|
1771
|
+
"ruleId": "icsf-single-length-des-key",
|
|
1772
|
+
"framework": "ffiec",
|
|
1773
|
+
"clause": "IS II.C.19",
|
|
1774
|
+
"title": "Encryption",
|
|
1775
|
+
"rationale": "The rule reports: A program generates a single-length DES key through ICSF. That is an authentication credential or sensitive data left unprotected, which this control requires be encrypted in storage and in transit.",
|
|
1776
|
+
"source": {
|
|
1777
|
+
"doc": "ffiec",
|
|
1778
|
+
"retrieved": "2026-09-20",
|
|
1779
|
+
"quote": "Encryption is used to secure communications and data storage, particularly authentication credentials and the transmission of sensitive information."
|
|
1780
|
+
}
|
|
1781
|
+
},
|
|
1782
|
+
{
|
|
1783
|
+
"kind": "compliance",
|
|
1784
|
+
"ruleId": "icsf-weak-hash",
|
|
1785
|
+
"framework": "ffiec",
|
|
1786
|
+
"clause": "IS II.C.19",
|
|
1787
|
+
"title": "Encryption",
|
|
1788
|
+
"rationale": "The rule reports: A program hashes with MD5 or SHA-1 through ICSF. That is an authentication credential or sensitive data left unprotected, which this control requires be encrypted in storage and in transit.",
|
|
1789
|
+
"source": {
|
|
1790
|
+
"doc": "ffiec",
|
|
1791
|
+
"retrieved": "2026-09-20",
|
|
1792
|
+
"quote": "Encryption is used to secure communications and data storage, particularly authentication credentials and the transmission of sensitive information."
|
|
1793
|
+
}
|
|
1794
|
+
},
|
|
1652
1795
|
{
|
|
1653
1796
|
"kind": "compliance",
|
|
1654
1797
|
"ruleId": "input-causes-abend",
|
|
@@ -1662,6 +1805,32 @@
|
|
|
1662
1805
|
"quote": "Secure coding practices help developers minimize the potential for known source code-related vulnerabilities in the development phase."
|
|
1663
1806
|
}
|
|
1664
1807
|
},
|
|
1808
|
+
{
|
|
1809
|
+
"kind": "compliance",
|
|
1810
|
+
"ruleId": "input-causes-hang",
|
|
1811
|
+
"framework": "ffiec",
|
|
1812
|
+
"clause": "DA&M V",
|
|
1813
|
+
"title": "Development",
|
|
1814
|
+
"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 a source code-related vulnerability of the kind secure coding practices exist to minimise.",
|
|
1815
|
+
"source": {
|
|
1816
|
+
"doc": "ffiec",
|
|
1817
|
+
"retrieved": "2026-09-20",
|
|
1818
|
+
"quote": "Secure coding practices help developers minimize the potential for known source code-related vulnerabilities in the development phase."
|
|
1819
|
+
}
|
|
1820
|
+
},
|
|
1821
|
+
{
|
|
1822
|
+
"kind": "compliance",
|
|
1823
|
+
"ruleId": "input-selects-program",
|
|
1824
|
+
"framework": "ffiec",
|
|
1825
|
+
"clause": "DA&M V",
|
|
1826
|
+
"title": "Development",
|
|
1827
|
+
"rationale": "The rule reports: An input the program accepts chooses the program a CALL loads. That is a source code-related vulnerability of the kind secure coding practices exist to minimise.",
|
|
1828
|
+
"source": {
|
|
1829
|
+
"doc": "ffiec",
|
|
1830
|
+
"retrieved": "2026-09-20",
|
|
1831
|
+
"quote": "Secure coding practices help developers minimize the potential for known source code-related vulnerabilities in the development phase."
|
|
1832
|
+
}
|
|
1833
|
+
},
|
|
1665
1834
|
{
|
|
1666
1835
|
"kind": "compliance",
|
|
1667
1836
|
"ruleId": "input-causes-abend-s0c4",
|
|
@@ -2169,6 +2338,19 @@
|
|
|
2169
2338
|
"quote": "Encryption is used to secure communications and data storage, particularly authentication credentials and the transmission of sensitive information."
|
|
2170
2339
|
}
|
|
2171
2340
|
},
|
|
2341
|
+
{
|
|
2342
|
+
"kind": "compliance",
|
|
2343
|
+
"ruleId": "jcl-racf-new-password",
|
|
2344
|
+
"framework": "ffiec",
|
|
2345
|
+
"clause": "IS II.C.19",
|
|
2346
|
+
"title": "Encryption",
|
|
2347
|
+
"rationale": "The rule reports: Credential pattern: jcl racf new password. That is an authentication credential or sensitive data left unprotected, which this control requires be encrypted in storage and in transit.",
|
|
2348
|
+
"source": {
|
|
2349
|
+
"doc": "ffiec",
|
|
2350
|
+
"retrieved": "2026-09-20",
|
|
2351
|
+
"quote": "Encryption is used to secure communications and data storage, particularly authentication credentials and the transmission of sensitive information."
|
|
2352
|
+
}
|
|
2353
|
+
},
|
|
2172
2354
|
{
|
|
2173
2355
|
"kind": "compliance",
|
|
2174
2356
|
"ruleId": "job-loads-from-an-authorised-library",
|
|
@@ -2351,6 +2533,19 @@
|
|
|
2351
2533
|
"quote": "Secure coding practices help developers minimize the potential for known source code-related vulnerabilities in the development phase."
|
|
2352
2534
|
}
|
|
2353
2535
|
},
|
|
2536
|
+
{
|
|
2537
|
+
"kind": "compliance",
|
|
2538
|
+
"ruleId": "racf-command-new-password",
|
|
2539
|
+
"framework": "ffiec",
|
|
2540
|
+
"clause": "IS II.C.19",
|
|
2541
|
+
"title": "Encryption",
|
|
2542
|
+
"rationale": "The rule reports: Credential pattern: racf command new password. That is an authentication credential or sensitive data left unprotected, which this control requires be encrypted in storage and in transit.",
|
|
2543
|
+
"source": {
|
|
2544
|
+
"doc": "ffiec",
|
|
2545
|
+
"retrieved": "2026-09-20",
|
|
2546
|
+
"quote": "Encryption is used to secure communications and data storage, particularly authentication credentials and the transmission of sensitive information."
|
|
2547
|
+
}
|
|
2548
|
+
},
|
|
2354
2549
|
{
|
|
2355
2550
|
"kind": "compliance",
|
|
2356
2551
|
"ruleId": "racf-command-password",
|
|
@@ -2468,6 +2663,19 @@
|
|
|
2468
2663
|
"quote": "Inventory of all systems and components (e.g., open-source, proprietary, application programming interfaces [API], and container images and registries), including related licenses, and data as part of IT asset management (ITAM)."
|
|
2469
2664
|
}
|
|
2470
2665
|
},
|
|
2666
|
+
{
|
|
2667
|
+
"kind": "compliance",
|
|
2668
|
+
"ruleId": "tso-logon-new-password",
|
|
2669
|
+
"framework": "ffiec",
|
|
2670
|
+
"clause": "IS II.C.19",
|
|
2671
|
+
"title": "Encryption",
|
|
2672
|
+
"rationale": "The rule reports: Credential pattern: tso logon new password. That is an authentication credential or sensitive data left unprotected, which this control requires be encrypted in storage and in transit.",
|
|
2673
|
+
"source": {
|
|
2674
|
+
"doc": "ffiec",
|
|
2675
|
+
"retrieved": "2026-09-20",
|
|
2676
|
+
"quote": "Encryption is used to secure communications and data storage, particularly authentication credentials and the transmission of sensitive information."
|
|
2677
|
+
}
|
|
2678
|
+
},
|
|
2471
2679
|
{
|
|
2472
2680
|
"kind": "compliance",
|
|
2473
2681
|
"ruleId": "tso-logon-password",
|
|
@@ -2494,6 +2702,19 @@
|
|
|
2494
2702
|
"quote": "Principle of least privilege, which recommends minimum user profile privileges for both physical and logical access based on job necessity."
|
|
2495
2703
|
}
|
|
2496
2704
|
},
|
|
2705
|
+
{
|
|
2706
|
+
"kind": "compliance",
|
|
2707
|
+
"ruleId": "web-client-opens-cleartext",
|
|
2708
|
+
"framework": "ffiec",
|
|
2709
|
+
"clause": "IS II.C.19",
|
|
2710
|
+
"title": "Encryption",
|
|
2711
|
+
"rationale": "The rule reports: A program opens an outbound HTTP connection without TLS. That is an authentication credential or sensitive data left unprotected, which this control requires be encrypted in storage and in transit.",
|
|
2712
|
+
"source": {
|
|
2713
|
+
"doc": "ffiec",
|
|
2714
|
+
"retrieved": "2026-09-20",
|
|
2715
|
+
"quote": "Encryption is used to secure communications and data storage, particularly authentication credentials and the transmission of sensitive information."
|
|
2716
|
+
}
|
|
2717
|
+
},
|
|
2497
2718
|
{
|
|
2498
2719
|
"kind": "compliance",
|
|
2499
2720
|
"ruleId": "web-cookie-without-secure-attributes",
|
|
@@ -2520,6 +2741,19 @@
|
|
|
2520
2741
|
"quote": "Secure coding practices help developers minimize the potential for known source code-related vulnerabilities in the development phase."
|
|
2521
2742
|
}
|
|
2522
2743
|
},
|
|
2744
|
+
{
|
|
2745
|
+
"kind": "compliance",
|
|
2746
|
+
"ruleId": "web-receive-length-exceeds-area",
|
|
2747
|
+
"framework": "ffiec",
|
|
2748
|
+
"clause": "DA&M V",
|
|
2749
|
+
"title": "Development",
|
|
2750
|
+
"rationale": "The rule reports: A web receive lets CICS write more bytes than the area it writes into. That is a source code-related vulnerability of the kind secure coding practices exist to minimise.",
|
|
2751
|
+
"source": {
|
|
2752
|
+
"doc": "ffiec",
|
|
2753
|
+
"retrieved": "2026-09-20",
|
|
2754
|
+
"quote": "Secure coding practices help developers minimize the potential for known source code-related vulnerabilities in the development phase."
|
|
2755
|
+
}
|
|
2756
|
+
},
|
|
2523
2757
|
{
|
|
2524
2758
|
"kind": "compliance",
|
|
2525
2759
|
"ruleId": "web-request-changes-state-without-a-token",
|
|
@@ -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",
|
|
@@ -1649,6 +1675,123 @@
|
|
|
1649
1675
|
"quote": "Check the validity of the following information inputs"
|
|
1650
1676
|
}
|
|
1651
1677
|
},
|
|
1678
|
+
{
|
|
1679
|
+
"kind": "compliance",
|
|
1680
|
+
"ruleId": "hlasm-calls-security-product",
|
|
1681
|
+
"framework": "nist-800-53r5",
|
|
1682
|
+
"clause": "CM-8",
|
|
1683
|
+
"title": "System Component Inventory",
|
|
1684
|
+
"rationale": "The rule reports: Assembler source calls the security product directly. That is a component the inventory does not accurately account for, which this control requires be documented.",
|
|
1685
|
+
"source": {
|
|
1686
|
+
"doc": "nist80053",
|
|
1687
|
+
"retrieved": "2026-09-20",
|
|
1688
|
+
"quote": "Develop and document an inventory of system components"
|
|
1689
|
+
}
|
|
1690
|
+
},
|
|
1691
|
+
{
|
|
1692
|
+
"kind": "compliance",
|
|
1693
|
+
"ruleId": "hlasm-cross-memory-service",
|
|
1694
|
+
"framework": "nist-800-53r5",
|
|
1695
|
+
"clause": "AC-6",
|
|
1696
|
+
"title": "Least Privilege",
|
|
1697
|
+
"rationale": "The rule reports: Assembler source uses a cross-memory instruction, reaching another address space or another authority. That is authority granted or exercised beyond what the task requires, which this control exists to prevent.",
|
|
1698
|
+
"source": {
|
|
1699
|
+
"doc": "nist80053",
|
|
1700
|
+
"retrieved": "2026-09-20",
|
|
1701
|
+
"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."
|
|
1702
|
+
}
|
|
1703
|
+
},
|
|
1704
|
+
{
|
|
1705
|
+
"kind": "compliance",
|
|
1706
|
+
"ruleId": "hlasm-executes-built-instruction",
|
|
1707
|
+
"framework": "nist-800-53r5",
|
|
1708
|
+
"clause": "SI-10",
|
|
1709
|
+
"title": "Information Input Validation",
|
|
1710
|
+
"rationale": "The rule reports: Assembler source runs an instruction whose length or mask comes from a register at run time. That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
1711
|
+
"source": {
|
|
1712
|
+
"doc": "nist80053",
|
|
1713
|
+
"retrieved": "2026-09-20",
|
|
1714
|
+
"quote": "Check the validity of the following information inputs"
|
|
1715
|
+
}
|
|
1716
|
+
},
|
|
1717
|
+
{
|
|
1718
|
+
"kind": "compliance",
|
|
1719
|
+
"ruleId": "hlasm-provides-called-module",
|
|
1720
|
+
"framework": "nist-800-53r5",
|
|
1721
|
+
"clause": "CM-8",
|
|
1722
|
+
"title": "System Component Inventory",
|
|
1723
|
+
"rationale": "The rule reports: An assembler CSECT or ENTRY is a module a COBOL program in this tree CALLs. That is a component the inventory does not accurately account for, which this control requires be documented.",
|
|
1724
|
+
"source": {
|
|
1725
|
+
"doc": "nist80053",
|
|
1726
|
+
"retrieved": "2026-09-20",
|
|
1727
|
+
"quote": "Develop and document an inventory of system components"
|
|
1728
|
+
}
|
|
1729
|
+
},
|
|
1730
|
+
{
|
|
1731
|
+
"kind": "compliance",
|
|
1732
|
+
"ruleId": "hlasm-supervisor-state-change",
|
|
1733
|
+
"framework": "nist-800-53r5",
|
|
1734
|
+
"clause": "AC-6",
|
|
1735
|
+
"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.",
|
|
1737
|
+
"source": {
|
|
1738
|
+
"doc": "nist80053",
|
|
1739
|
+
"retrieved": "2026-09-20",
|
|
1740
|
+
"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."
|
|
1741
|
+
}
|
|
1742
|
+
},
|
|
1743
|
+
{
|
|
1744
|
+
"kind": "compliance",
|
|
1745
|
+
"ruleId": "hlasm-runtime-module-name",
|
|
1746
|
+
"framework": "nist-800-53r5",
|
|
1747
|
+
"clause": "SI-10",
|
|
1748
|
+
"title": "Information Input Validation",
|
|
1749
|
+
"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.",
|
|
1750
|
+
"source": {
|
|
1751
|
+
"doc": "nist80053",
|
|
1752
|
+
"retrieved": "2026-09-20",
|
|
1753
|
+
"quote": "Check the validity of the following information inputs"
|
|
1754
|
+
}
|
|
1755
|
+
},
|
|
1756
|
+
{
|
|
1757
|
+
"kind": "compliance",
|
|
1758
|
+
"ruleId": "icsf-fixed-initialization-vector",
|
|
1759
|
+
"framework": "nist-800-53r5",
|
|
1760
|
+
"clause": "SC-13",
|
|
1761
|
+
"title": "Cryptographic Protection",
|
|
1762
|
+
"rationale": "The rule reports: A program enciphers through ICSF with an initialization vector that never changes. That is cryptography too weak for the use it is put to, which this control requires be chosen for each use and implemented.",
|
|
1763
|
+
"source": {
|
|
1764
|
+
"doc": "nist80053",
|
|
1765
|
+
"retrieved": "2026-09-20",
|
|
1766
|
+
"quote": "Implement the following types of cryptography required for each specified cryptographic use"
|
|
1767
|
+
}
|
|
1768
|
+
},
|
|
1769
|
+
{
|
|
1770
|
+
"kind": "compliance",
|
|
1771
|
+
"ruleId": "icsf-single-length-des-key",
|
|
1772
|
+
"framework": "nist-800-53r5",
|
|
1773
|
+
"clause": "SC-13",
|
|
1774
|
+
"title": "Cryptographic Protection",
|
|
1775
|
+
"rationale": "The rule reports: A program generates a single-length DES key through ICSF. That is cryptography too weak for the use it is put to, which this control requires be chosen for each use and implemented.",
|
|
1776
|
+
"source": {
|
|
1777
|
+
"doc": "nist80053",
|
|
1778
|
+
"retrieved": "2026-09-20",
|
|
1779
|
+
"quote": "Implement the following types of cryptography required for each specified cryptographic use"
|
|
1780
|
+
}
|
|
1781
|
+
},
|
|
1782
|
+
{
|
|
1783
|
+
"kind": "compliance",
|
|
1784
|
+
"ruleId": "icsf-weak-hash",
|
|
1785
|
+
"framework": "nist-800-53r5",
|
|
1786
|
+
"clause": "SC-13",
|
|
1787
|
+
"title": "Cryptographic Protection",
|
|
1788
|
+
"rationale": "The rule reports: A program hashes with MD5 or SHA-1 through ICSF. That is cryptography too weak for the use it is put to, which this control requires be chosen for each use and implemented.",
|
|
1789
|
+
"source": {
|
|
1790
|
+
"doc": "nist80053",
|
|
1791
|
+
"retrieved": "2026-09-20",
|
|
1792
|
+
"quote": "Implement the following types of cryptography required for each specified cryptographic use"
|
|
1793
|
+
}
|
|
1794
|
+
},
|
|
1652
1795
|
{
|
|
1653
1796
|
"kind": "compliance",
|
|
1654
1797
|
"ruleId": "input-causes-abend",
|
|
@@ -1662,6 +1805,32 @@
|
|
|
1662
1805
|
"quote": "Check the validity of the following information inputs"
|
|
1663
1806
|
}
|
|
1664
1807
|
},
|
|
1808
|
+
{
|
|
1809
|
+
"kind": "compliance",
|
|
1810
|
+
"ruleId": "input-causes-hang",
|
|
1811
|
+
"framework": "nist-800-53r5",
|
|
1812
|
+
"clause": "SI-10",
|
|
1813
|
+
"title": "Information Input Validation",
|
|
1814
|
+
"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.",
|
|
1815
|
+
"source": {
|
|
1816
|
+
"doc": "nist80053",
|
|
1817
|
+
"retrieved": "2026-09-20",
|
|
1818
|
+
"quote": "Check the validity of the following information inputs"
|
|
1819
|
+
}
|
|
1820
|
+
},
|
|
1821
|
+
{
|
|
1822
|
+
"kind": "compliance",
|
|
1823
|
+
"ruleId": "input-selects-program",
|
|
1824
|
+
"framework": "nist-800-53r5",
|
|
1825
|
+
"clause": "SI-10",
|
|
1826
|
+
"title": "Information Input Validation",
|
|
1827
|
+
"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.",
|
|
1828
|
+
"source": {
|
|
1829
|
+
"doc": "nist80053",
|
|
1830
|
+
"retrieved": "2026-09-20",
|
|
1831
|
+
"quote": "Check the validity of the following information inputs"
|
|
1832
|
+
}
|
|
1833
|
+
},
|
|
1665
1834
|
{
|
|
1666
1835
|
"kind": "compliance",
|
|
1667
1836
|
"ruleId": "input-causes-abend-s0c4",
|
|
@@ -2169,6 +2338,19 @@
|
|
|
2169
2338
|
"quote": "Establishing initial authenticator content for any authenticators issued by the organization"
|
|
2170
2339
|
}
|
|
2171
2340
|
},
|
|
2341
|
+
{
|
|
2342
|
+
"kind": "compliance",
|
|
2343
|
+
"ruleId": "jcl-racf-new-password",
|
|
2344
|
+
"framework": "nist-800-53r5",
|
|
2345
|
+
"clause": "IA-5",
|
|
2346
|
+
"title": "Authenticator Management",
|
|
2347
|
+
"rationale": "The rule reports: Credential pattern: jcl racf new password. That is authenticator content established in a file rather than managed, which is what this control governs.",
|
|
2348
|
+
"source": {
|
|
2349
|
+
"doc": "nist80053",
|
|
2350
|
+
"retrieved": "2026-09-20",
|
|
2351
|
+
"quote": "Establishing initial authenticator content for any authenticators issued by the organization"
|
|
2352
|
+
}
|
|
2353
|
+
},
|
|
2172
2354
|
{
|
|
2173
2355
|
"kind": "compliance",
|
|
2174
2356
|
"ruleId": "job-loads-from-an-authorised-library",
|
|
@@ -2351,6 +2533,19 @@
|
|
|
2351
2533
|
"quote": "Check the validity of the following information inputs"
|
|
2352
2534
|
}
|
|
2353
2535
|
},
|
|
2536
|
+
{
|
|
2537
|
+
"kind": "compliance",
|
|
2538
|
+
"ruleId": "racf-command-new-password",
|
|
2539
|
+
"framework": "nist-800-53r5",
|
|
2540
|
+
"clause": "IA-5",
|
|
2541
|
+
"title": "Authenticator Management",
|
|
2542
|
+
"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.",
|
|
2543
|
+
"source": {
|
|
2544
|
+
"doc": "nist80053",
|
|
2545
|
+
"retrieved": "2026-09-20",
|
|
2546
|
+
"quote": "Establishing initial authenticator content for any authenticators issued by the organization"
|
|
2547
|
+
}
|
|
2548
|
+
},
|
|
2354
2549
|
{
|
|
2355
2550
|
"kind": "compliance",
|
|
2356
2551
|
"ruleId": "racf-command-password",
|
|
@@ -2468,6 +2663,19 @@
|
|
|
2468
2663
|
"quote": "Develop and document an inventory of system components"
|
|
2469
2664
|
}
|
|
2470
2665
|
},
|
|
2666
|
+
{
|
|
2667
|
+
"kind": "compliance",
|
|
2668
|
+
"ruleId": "tso-logon-new-password",
|
|
2669
|
+
"framework": "nist-800-53r5",
|
|
2670
|
+
"clause": "IA-5",
|
|
2671
|
+
"title": "Authenticator Management",
|
|
2672
|
+
"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.",
|
|
2673
|
+
"source": {
|
|
2674
|
+
"doc": "nist80053",
|
|
2675
|
+
"retrieved": "2026-09-20",
|
|
2676
|
+
"quote": "Establishing initial authenticator content for any authenticators issued by the organization"
|
|
2677
|
+
}
|
|
2678
|
+
},
|
|
2471
2679
|
{
|
|
2472
2680
|
"kind": "compliance",
|
|
2473
2681
|
"ruleId": "tso-logon-password",
|
|
@@ -2494,6 +2702,19 @@
|
|
|
2494
2702
|
"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."
|
|
2495
2703
|
}
|
|
2496
2704
|
},
|
|
2705
|
+
{
|
|
2706
|
+
"kind": "compliance",
|
|
2707
|
+
"ruleId": "web-client-opens-cleartext",
|
|
2708
|
+
"framework": "nist-800-53r5",
|
|
2709
|
+
"clause": "SC-8",
|
|
2710
|
+
"title": "Transmission Confidentiality and Integrity",
|
|
2711
|
+
"rationale": "The rule reports: A program opens an outbound HTTP connection without TLS. That is information crossing a network with nothing protecting it, which this control requires be protected in transit.",
|
|
2712
|
+
"source": {
|
|
2713
|
+
"doc": "nist80053",
|
|
2714
|
+
"retrieved": "2026-09-20",
|
|
2715
|
+
"quote": "Protect the {{ insert: param, sc-08_odp }} of transmitted information."
|
|
2716
|
+
}
|
|
2717
|
+
},
|
|
2497
2718
|
{
|
|
2498
2719
|
"kind": "compliance",
|
|
2499
2720
|
"ruleId": "web-cookie-without-secure-attributes",
|
|
@@ -2520,6 +2741,19 @@
|
|
|
2520
2741
|
"quote": "Protect the authenticity of communications sessions."
|
|
2521
2742
|
}
|
|
2522
2743
|
},
|
|
2744
|
+
{
|
|
2745
|
+
"kind": "compliance",
|
|
2746
|
+
"ruleId": "web-receive-length-exceeds-area",
|
|
2747
|
+
"framework": "nist-800-53r5",
|
|
2748
|
+
"clause": "SI-10",
|
|
2749
|
+
"title": "Information Input Validation",
|
|
2750
|
+
"rationale": "The rule reports: A web receive lets CICS write more bytes than the area it writes into. That is an information input reaching an operation without its validity having been checked, which is what this control requires.",
|
|
2751
|
+
"source": {
|
|
2752
|
+
"doc": "nist80053",
|
|
2753
|
+
"retrieved": "2026-09-20",
|
|
2754
|
+
"quote": "Check the validity of the following information inputs"
|
|
2755
|
+
}
|
|
2756
|
+
},
|
|
2523
2757
|
{
|
|
2524
2758
|
"kind": "compliance",
|
|
2525
2759
|
"ruleId": "web-request-changes-state-without-a-token",
|