@portll/cobolwork 0.4.0 → 0.5.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 +16 -0
- package/bin/cobolwork.mjs +7 -1
- package/lib/bms.mjs +8 -0
- package/lib/capabilities.mjs +2 -2
- package/lib/consequence.mjs +13 -0
- package/lib/constants.mjs +60 -0
- package/lib/control.mjs +61 -17
- package/lib/csd.mjs +6 -1
- package/lib/dataflow.mjs +58 -9
- package/lib/hlasm.mjs +79 -0
- package/lib/kernel/registry.mjs +4 -0
- package/lib/revision.json +1 -1
- package/lib/sets/abend.mjs +45 -7
- package/lib/sets/crypto.mjs +110 -0
- package/lib/sets/flow.mjs +18 -0
- package/lib/sets/hlasm.mjs +121 -0
- package/lib/sets/jcl.mjs +15 -1
- package/lib/sets/web.mjs +99 -4
- package/lib/sources.mjs +12 -2
- package/package.json +1 -1
- package/rules/compliance-cobit2019.json +132 -0
- package/rules/compliance-dora.json +143 -0
- package/rules/compliance-ffiec.json +143 -0
- package/rules/compliance-nist80053.json +143 -0
- package/rules/gitleaks-mainframe.toml +24 -10
- package/rules/hlasm-operations.json +451 -0
- package/rules/icsf-services.json +1178 -0
|
@@ -1522,6 +1522,102 @@
|
|
|
1522
1522
|
"idsOnly": true
|
|
1523
1523
|
}
|
|
1524
1524
|
},
|
|
1525
|
+
{
|
|
1526
|
+
"kind": "compliance",
|
|
1527
|
+
"ruleId": "hlasm-calls-security-product",
|
|
1528
|
+
"framework": "cobit-2019",
|
|
1529
|
+
"clause": "BAI09.01",
|
|
1530
|
+
"rationale": "The rule reports: Assembler source calls the security product directly. That is a component the record of assets does not account for, which this practice requires be identified and recorded.",
|
|
1531
|
+
"source": {
|
|
1532
|
+
"doc": "cobit2019",
|
|
1533
|
+
"retrieved": "2026-09-20",
|
|
1534
|
+
"idsOnly": true
|
|
1535
|
+
}
|
|
1536
|
+
},
|
|
1537
|
+
{
|
|
1538
|
+
"kind": "compliance",
|
|
1539
|
+
"ruleId": "hlasm-cross-memory-service",
|
|
1540
|
+
"framework": "cobit-2019",
|
|
1541
|
+
"clause": "DSS05.04",
|
|
1542
|
+
"rationale": "The rule reports: Assembler source uses a cross-memory instruction, reaching another address space or another authority. That is access or authentication handled outside the managed identity and logical access this practice requires.",
|
|
1543
|
+
"source": {
|
|
1544
|
+
"doc": "cobit2019",
|
|
1545
|
+
"retrieved": "2026-09-20",
|
|
1546
|
+
"idsOnly": true
|
|
1547
|
+
}
|
|
1548
|
+
},
|
|
1549
|
+
{
|
|
1550
|
+
"kind": "compliance",
|
|
1551
|
+
"ruleId": "hlasm-executes-built-instruction",
|
|
1552
|
+
"framework": "cobit-2019",
|
|
1553
|
+
"clause": "DSS06.02",
|
|
1554
|
+
"rationale": "The rule reports: Assembler source runs an instruction whose length or mask comes from a register at run time. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
|
|
1555
|
+
"source": {
|
|
1556
|
+
"doc": "cobit2019",
|
|
1557
|
+
"retrieved": "2026-09-20",
|
|
1558
|
+
"idsOnly": true
|
|
1559
|
+
}
|
|
1560
|
+
},
|
|
1561
|
+
{
|
|
1562
|
+
"kind": "compliance",
|
|
1563
|
+
"ruleId": "hlasm-provides-called-module",
|
|
1564
|
+
"framework": "cobit-2019",
|
|
1565
|
+
"clause": "BAI09.01",
|
|
1566
|
+
"rationale": "The rule reports: An assembler CSECT or ENTRY is a module a COBOL program in this tree CALLs. That is a component the record of assets does not account for, which this practice requires be identified and recorded.",
|
|
1567
|
+
"source": {
|
|
1568
|
+
"doc": "cobit2019",
|
|
1569
|
+
"retrieved": "2026-09-20",
|
|
1570
|
+
"idsOnly": true
|
|
1571
|
+
}
|
|
1572
|
+
},
|
|
1573
|
+
{
|
|
1574
|
+
"kind": "compliance",
|
|
1575
|
+
"ruleId": "hlasm-supervisor-state-change",
|
|
1576
|
+
"framework": "cobit-2019",
|
|
1577
|
+
"clause": "DSS05.04",
|
|
1578
|
+
"rationale": "The rule reports: Assembler source switches to PSW key zero or supervisor state. That is access or authentication handled outside the managed identity and logical access this practice requires.",
|
|
1579
|
+
"source": {
|
|
1580
|
+
"doc": "cobit2019",
|
|
1581
|
+
"retrieved": "2026-09-20",
|
|
1582
|
+
"idsOnly": true
|
|
1583
|
+
}
|
|
1584
|
+
},
|
|
1585
|
+
{
|
|
1586
|
+
"kind": "compliance",
|
|
1587
|
+
"ruleId": "icsf-fixed-initialization-vector",
|
|
1588
|
+
"framework": "cobit-2019",
|
|
1589
|
+
"clause": "DSS06.06",
|
|
1590
|
+
"rationale": "The rule reports: A program enciphers through ICSF with an initialization vector that never changes. That is information released to people it was never meant for, which this practice requires be secured.",
|
|
1591
|
+
"source": {
|
|
1592
|
+
"doc": "cobit2019",
|
|
1593
|
+
"retrieved": "2026-09-20",
|
|
1594
|
+
"idsOnly": true
|
|
1595
|
+
}
|
|
1596
|
+
},
|
|
1597
|
+
{
|
|
1598
|
+
"kind": "compliance",
|
|
1599
|
+
"ruleId": "icsf-single-length-des-key",
|
|
1600
|
+
"framework": "cobit-2019",
|
|
1601
|
+
"clause": "DSS06.06",
|
|
1602
|
+
"rationale": "The rule reports: A program generates a single-length DES key through ICSF. That is information released to people it was never meant for, which this practice requires be secured.",
|
|
1603
|
+
"source": {
|
|
1604
|
+
"doc": "cobit2019",
|
|
1605
|
+
"retrieved": "2026-09-20",
|
|
1606
|
+
"idsOnly": true
|
|
1607
|
+
}
|
|
1608
|
+
},
|
|
1609
|
+
{
|
|
1610
|
+
"kind": "compliance",
|
|
1611
|
+
"ruleId": "icsf-weak-hash",
|
|
1612
|
+
"framework": "cobit-2019",
|
|
1613
|
+
"clause": "DSS06.06",
|
|
1614
|
+
"rationale": "The rule reports: A program hashes with MD5 or SHA-1 through ICSF. That is information released to people it was never meant for, which this practice requires be secured.",
|
|
1615
|
+
"source": {
|
|
1616
|
+
"doc": "cobit2019",
|
|
1617
|
+
"retrieved": "2026-09-20",
|
|
1618
|
+
"idsOnly": true
|
|
1619
|
+
}
|
|
1620
|
+
},
|
|
1525
1621
|
{
|
|
1526
1622
|
"kind": "compliance",
|
|
1527
1623
|
"ruleId": "input-causes-abend",
|
|
@@ -2002,6 +2098,18 @@
|
|
|
2002
2098
|
"idsOnly": true
|
|
2003
2099
|
}
|
|
2004
2100
|
},
|
|
2101
|
+
{
|
|
2102
|
+
"kind": "compliance",
|
|
2103
|
+
"ruleId": "jcl-racf-new-password",
|
|
2104
|
+
"framework": "cobit-2019",
|
|
2105
|
+
"clause": "DSS05.04",
|
|
2106
|
+
"rationale": "The rule reports: Credential pattern: jcl racf new password. That is access or authentication handled outside the managed identity and logical access this practice requires.",
|
|
2107
|
+
"source": {
|
|
2108
|
+
"doc": "cobit2019",
|
|
2109
|
+
"retrieved": "2026-09-20",
|
|
2110
|
+
"idsOnly": true
|
|
2111
|
+
}
|
|
2112
|
+
},
|
|
2005
2113
|
{
|
|
2006
2114
|
"kind": "compliance",
|
|
2007
2115
|
"ruleId": "job-loads-from-an-authorised-library",
|
|
@@ -2302,6 +2410,18 @@
|
|
|
2302
2410
|
"idsOnly": true
|
|
2303
2411
|
}
|
|
2304
2412
|
},
|
|
2413
|
+
{
|
|
2414
|
+
"kind": "compliance",
|
|
2415
|
+
"ruleId": "web-client-opens-cleartext",
|
|
2416
|
+
"framework": "cobit-2019",
|
|
2417
|
+
"clause": "DSS05.02",
|
|
2418
|
+
"rationale": "The rule reports: A program opens an outbound HTTP connection without TLS. That is information or a credential crossing a connection with nothing protecting it, which this practice requires be secured.",
|
|
2419
|
+
"source": {
|
|
2420
|
+
"doc": "cobit2019",
|
|
2421
|
+
"retrieved": "2026-09-20",
|
|
2422
|
+
"idsOnly": true
|
|
2423
|
+
}
|
|
2424
|
+
},
|
|
2305
2425
|
{
|
|
2306
2426
|
"kind": "compliance",
|
|
2307
2427
|
"ruleId": "web-cookie-without-secure-attributes",
|
|
@@ -2326,6 +2446,18 @@
|
|
|
2326
2446
|
"idsOnly": true
|
|
2327
2447
|
}
|
|
2328
2448
|
},
|
|
2449
|
+
{
|
|
2450
|
+
"kind": "compliance",
|
|
2451
|
+
"ruleId": "web-receive-length-exceeds-area",
|
|
2452
|
+
"framework": "cobit-2019",
|
|
2453
|
+
"clause": "DSS06.02",
|
|
2454
|
+
"rationale": "The rule reports: A web receive lets CICS write more bytes than the area it writes into. That is information processed without the control that keeps it valid, authorised and accurate, which is what this practice asks of business process controls.",
|
|
2455
|
+
"source": {
|
|
2456
|
+
"doc": "cobit2019",
|
|
2457
|
+
"retrieved": "2026-09-20",
|
|
2458
|
+
"idsOnly": true
|
|
2459
|
+
}
|
|
2460
|
+
},
|
|
2329
2461
|
{
|
|
2330
2462
|
"kind": "compliance",
|
|
2331
2463
|
"ruleId": "web-request-changes-state-without-a-token",
|
|
@@ -1640,6 +1640,110 @@
|
|
|
1640
1640
|
"quote": "minimise the risk of corruption or loss of data, unauthorised access and technical flaws that may hinder business activity"
|
|
1641
1641
|
}
|
|
1642
1642
|
},
|
|
1643
|
+
{
|
|
1644
|
+
"kind": "compliance",
|
|
1645
|
+
"ruleId": "hlasm-calls-security-product",
|
|
1646
|
+
"framework": "dora",
|
|
1647
|
+
"clause": "Article 8(4)",
|
|
1648
|
+
"title": "Identification",
|
|
1649
|
+
"rationale": "The rule reports: Assembler source calls the security product directly. That is an interdependency between assets which no single file records, and mapping it is what this clause asks for.",
|
|
1650
|
+
"source": {
|
|
1651
|
+
"doc": "dora",
|
|
1652
|
+
"retrieved": "2026-09-20",
|
|
1653
|
+
"quote": "map the configuration of the information assets and ICT assets and the links and interdependencies between the different information assets and ICT assets"
|
|
1654
|
+
}
|
|
1655
|
+
},
|
|
1656
|
+
{
|
|
1657
|
+
"kind": "compliance",
|
|
1658
|
+
"ruleId": "hlasm-cross-memory-service",
|
|
1659
|
+
"framework": "dora",
|
|
1660
|
+
"clause": "Article 9(4)(c)",
|
|
1661
|
+
"title": "Protection and prevention",
|
|
1662
|
+
"rationale": "The rule reports: Assembler source uses a cross-memory instruction, reaching another address space or another authority. That grants or alters access rights outside the policy controls this clause requires be soundly administered.",
|
|
1663
|
+
"source": {
|
|
1664
|
+
"doc": "dora",
|
|
1665
|
+
"retrieved": "2026-09-20",
|
|
1666
|
+
"quote": "implement policies that limit the physical or logical access to information assets and ICT assets to what is required for legitimate and approved functions and activities only"
|
|
1667
|
+
}
|
|
1668
|
+
},
|
|
1669
|
+
{
|
|
1670
|
+
"kind": "compliance",
|
|
1671
|
+
"ruleId": "hlasm-executes-built-instruction",
|
|
1672
|
+
"framework": "dora",
|
|
1673
|
+
"clause": "Article 9(3)(b)",
|
|
1674
|
+
"title": "Protection and prevention",
|
|
1675
|
+
"rationale": "The rule reports: Assembler source runs an instruction whose length or mask comes from a register at run time. That is a technical flaw permitting unauthorised access or data corruption, which this clause requires be minimised.",
|
|
1676
|
+
"source": {
|
|
1677
|
+
"doc": "dora",
|
|
1678
|
+
"retrieved": "2026-09-20",
|
|
1679
|
+
"quote": "minimise the risk of corruption or loss of data, unauthorised access and technical flaws that may hinder business activity"
|
|
1680
|
+
}
|
|
1681
|
+
},
|
|
1682
|
+
{
|
|
1683
|
+
"kind": "compliance",
|
|
1684
|
+
"ruleId": "hlasm-provides-called-module",
|
|
1685
|
+
"framework": "dora",
|
|
1686
|
+
"clause": "Article 8(4)",
|
|
1687
|
+
"title": "Identification",
|
|
1688
|
+
"rationale": "The rule reports: An assembler CSECT or ENTRY is a module a COBOL program in this tree CALLs. That is an interdependency between assets which no single file records, and mapping it is what this clause asks for.",
|
|
1689
|
+
"source": {
|
|
1690
|
+
"doc": "dora",
|
|
1691
|
+
"retrieved": "2026-09-20",
|
|
1692
|
+
"quote": "map the configuration of the information assets and ICT assets and the links and interdependencies between the different information assets and ICT assets"
|
|
1693
|
+
}
|
|
1694
|
+
},
|
|
1695
|
+
{
|
|
1696
|
+
"kind": "compliance",
|
|
1697
|
+
"ruleId": "hlasm-supervisor-state-change",
|
|
1698
|
+
"framework": "dora",
|
|
1699
|
+
"clause": "Article 9(4)(c)",
|
|
1700
|
+
"title": "Protection and prevention",
|
|
1701
|
+
"rationale": "The rule reports: Assembler source switches to PSW key zero or supervisor state. That grants or alters access rights outside the policy controls this clause requires be soundly administered.",
|
|
1702
|
+
"source": {
|
|
1703
|
+
"doc": "dora",
|
|
1704
|
+
"retrieved": "2026-09-20",
|
|
1705
|
+
"quote": "implement policies that limit the physical or logical access to information assets and ICT assets to what is required for legitimate and approved functions and activities only"
|
|
1706
|
+
}
|
|
1707
|
+
},
|
|
1708
|
+
{
|
|
1709
|
+
"kind": "compliance",
|
|
1710
|
+
"ruleId": "icsf-fixed-initialization-vector",
|
|
1711
|
+
"framework": "dora",
|
|
1712
|
+
"clause": "Article 9(3)(c)",
|
|
1713
|
+
"title": "Protection and prevention",
|
|
1714
|
+
"rationale": "The rule reports: A program enciphers through ICSF with an initialization vector that never changes. That risks the loss of data and the impairment of its integrity, which this clause requires be prevented.",
|
|
1715
|
+
"source": {
|
|
1716
|
+
"doc": "dora",
|
|
1717
|
+
"retrieved": "2026-09-20",
|
|
1718
|
+
"quote": "prevent the lack of availability, the impairment of the authenticity and integrity, the breaches of confidentiality and the loss of data"
|
|
1719
|
+
}
|
|
1720
|
+
},
|
|
1721
|
+
{
|
|
1722
|
+
"kind": "compliance",
|
|
1723
|
+
"ruleId": "icsf-single-length-des-key",
|
|
1724
|
+
"framework": "dora",
|
|
1725
|
+
"clause": "Article 9(3)(c)",
|
|
1726
|
+
"title": "Protection and prevention",
|
|
1727
|
+
"rationale": "The rule reports: A program generates a single-length DES key through ICSF. That risks the loss of data and the impairment of its integrity, which this clause requires be prevented.",
|
|
1728
|
+
"source": {
|
|
1729
|
+
"doc": "dora",
|
|
1730
|
+
"retrieved": "2026-09-20",
|
|
1731
|
+
"quote": "prevent the lack of availability, the impairment of the authenticity and integrity, the breaches of confidentiality and the loss of data"
|
|
1732
|
+
}
|
|
1733
|
+
},
|
|
1734
|
+
{
|
|
1735
|
+
"kind": "compliance",
|
|
1736
|
+
"ruleId": "icsf-weak-hash",
|
|
1737
|
+
"framework": "dora",
|
|
1738
|
+
"clause": "Article 9(3)(c)",
|
|
1739
|
+
"title": "Protection and prevention",
|
|
1740
|
+
"rationale": "The rule reports: A program hashes with MD5 or SHA-1 through ICSF. That risks the loss of data and the impairment of its integrity, which this clause requires be prevented.",
|
|
1741
|
+
"source": {
|
|
1742
|
+
"doc": "dora",
|
|
1743
|
+
"retrieved": "2026-09-20",
|
|
1744
|
+
"quote": "prevent the lack of availability, the impairment of the authenticity and integrity, the breaches of confidentiality and the loss of data"
|
|
1745
|
+
}
|
|
1746
|
+
},
|
|
1643
1747
|
{
|
|
1644
1748
|
"kind": "compliance",
|
|
1645
1749
|
"ruleId": "input-causes-abend",
|
|
@@ -2160,6 +2264,19 @@
|
|
|
2160
2264
|
"quote": "implement policies and protocols for strong authentication mechanisms, based on relevant standards and dedicated control systems, and protection measures of cryptographic keys"
|
|
2161
2265
|
}
|
|
2162
2266
|
},
|
|
2267
|
+
{
|
|
2268
|
+
"kind": "compliance",
|
|
2269
|
+
"ruleId": "jcl-racf-new-password",
|
|
2270
|
+
"framework": "dora",
|
|
2271
|
+
"clause": "Article 9(4)(d)",
|
|
2272
|
+
"title": "Protection and prevention",
|
|
2273
|
+
"rationale": "The rule reports: Credential pattern: jcl racf new password. That exposes an authentication secret in a file, defeating the authentication mechanisms and key protection this clause requires.",
|
|
2274
|
+
"source": {
|
|
2275
|
+
"doc": "dora",
|
|
2276
|
+
"retrieved": "2026-09-20",
|
|
2277
|
+
"quote": "implement policies and protocols for strong authentication mechanisms, based on relevant standards and dedicated control systems, and protection measures of cryptographic keys"
|
|
2278
|
+
}
|
|
2279
|
+
},
|
|
2163
2280
|
{
|
|
2164
2281
|
"kind": "compliance",
|
|
2165
2282
|
"ruleId": "job-loads-from-an-authorised-library",
|
|
@@ -2511,6 +2628,19 @@
|
|
|
2511
2628
|
"quote": "implement policies that limit the physical or logical access to information assets and ICT assets to what is required for legitimate and approved functions and activities only"
|
|
2512
2629
|
}
|
|
2513
2630
|
},
|
|
2631
|
+
{
|
|
2632
|
+
"kind": "compliance",
|
|
2633
|
+
"ruleId": "web-client-opens-cleartext",
|
|
2634
|
+
"framework": "dora",
|
|
2635
|
+
"clause": "Article 9(3)(a)",
|
|
2636
|
+
"title": "Protection and prevention",
|
|
2637
|
+
"rationale": "The rule reports: A program opens an outbound HTTP connection without TLS. That is data leaving through a channel the program opened itself, which bears directly on the security of the means of transfer.",
|
|
2638
|
+
"source": {
|
|
2639
|
+
"doc": "dora",
|
|
2640
|
+
"retrieved": "2026-09-20",
|
|
2641
|
+
"quote": "ensure the security of the means of transfer of data"
|
|
2642
|
+
}
|
|
2643
|
+
},
|
|
2514
2644
|
{
|
|
2515
2645
|
"kind": "compliance",
|
|
2516
2646
|
"ruleId": "web-cookie-without-secure-attributes",
|
|
@@ -2537,6 +2667,19 @@
|
|
|
2537
2667
|
"quote": "minimise the risk of corruption or loss of data, unauthorised access and technical flaws that may hinder business activity"
|
|
2538
2668
|
}
|
|
2539
2669
|
},
|
|
2670
|
+
{
|
|
2671
|
+
"kind": "compliance",
|
|
2672
|
+
"ruleId": "web-receive-length-exceeds-area",
|
|
2673
|
+
"framework": "dora",
|
|
2674
|
+
"clause": "Article 9(3)(b)",
|
|
2675
|
+
"title": "Protection and prevention",
|
|
2676
|
+
"rationale": "The rule reports: A web receive lets CICS write more bytes than the area it writes into. That is a technical flaw permitting unauthorised access or data corruption, which this clause requires be minimised.",
|
|
2677
|
+
"source": {
|
|
2678
|
+
"doc": "dora",
|
|
2679
|
+
"retrieved": "2026-09-20",
|
|
2680
|
+
"quote": "minimise the risk of corruption or loss of data, unauthorised access and technical flaws that may hinder business activity"
|
|
2681
|
+
}
|
|
2682
|
+
},
|
|
2540
2683
|
{
|
|
2541
2684
|
"kind": "compliance",
|
|
2542
2685
|
"ruleId": "web-request-changes-state-without-a-token",
|
|
@@ -1649,6 +1649,110 @@
|
|
|
1649
1649
|
"quote": "Secure coding practices help developers minimize the potential for known source code-related vulnerabilities in the development phase."
|
|
1650
1650
|
}
|
|
1651
1651
|
},
|
|
1652
|
+
{
|
|
1653
|
+
"kind": "compliance",
|
|
1654
|
+
"ruleId": "hlasm-calls-security-product",
|
|
1655
|
+
"framework": "ffiec",
|
|
1656
|
+
"clause": "DA&M IV",
|
|
1657
|
+
"title": "Common Development, Acquisition, and Maintenance Practices",
|
|
1658
|
+
"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.",
|
|
1659
|
+
"source": {
|
|
1660
|
+
"doc": "ffiec",
|
|
1661
|
+
"retrieved": "2026-09-20",
|
|
1662
|
+
"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)."
|
|
1663
|
+
}
|
|
1664
|
+
},
|
|
1665
|
+
{
|
|
1666
|
+
"kind": "compliance",
|
|
1667
|
+
"ruleId": "hlasm-cross-memory-service",
|
|
1668
|
+
"framework": "ffiec",
|
|
1669
|
+
"clause": "IS II.C.7",
|
|
1670
|
+
"title": "User Security Controls",
|
|
1671
|
+
"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.",
|
|
1672
|
+
"source": {
|
|
1673
|
+
"doc": "ffiec",
|
|
1674
|
+
"retrieved": "2026-09-20",
|
|
1675
|
+
"quote": "Principle of least privilege, which recommends minimum user profile privileges for both physical and logical access based on job necessity."
|
|
1676
|
+
}
|
|
1677
|
+
},
|
|
1678
|
+
{
|
|
1679
|
+
"kind": "compliance",
|
|
1680
|
+
"ruleId": "hlasm-executes-built-instruction",
|
|
1681
|
+
"framework": "ffiec",
|
|
1682
|
+
"clause": "DA&M V",
|
|
1683
|
+
"title": "Development",
|
|
1684
|
+
"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.",
|
|
1685
|
+
"source": {
|
|
1686
|
+
"doc": "ffiec",
|
|
1687
|
+
"retrieved": "2026-09-20",
|
|
1688
|
+
"quote": "Secure coding practices help developers minimize the potential for known source code-related vulnerabilities in the development phase."
|
|
1689
|
+
}
|
|
1690
|
+
},
|
|
1691
|
+
{
|
|
1692
|
+
"kind": "compliance",
|
|
1693
|
+
"ruleId": "hlasm-provides-called-module",
|
|
1694
|
+
"framework": "ffiec",
|
|
1695
|
+
"clause": "DA&M IV",
|
|
1696
|
+
"title": "Common Development, Acquisition, and Maintenance Practices",
|
|
1697
|
+
"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.",
|
|
1698
|
+
"source": {
|
|
1699
|
+
"doc": "ffiec",
|
|
1700
|
+
"retrieved": "2026-09-20",
|
|
1701
|
+
"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)."
|
|
1702
|
+
}
|
|
1703
|
+
},
|
|
1704
|
+
{
|
|
1705
|
+
"kind": "compliance",
|
|
1706
|
+
"ruleId": "hlasm-supervisor-state-change",
|
|
1707
|
+
"framework": "ffiec",
|
|
1708
|
+
"clause": "IS II.C.7",
|
|
1709
|
+
"title": "User Security Controls",
|
|
1710
|
+
"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.",
|
|
1711
|
+
"source": {
|
|
1712
|
+
"doc": "ffiec",
|
|
1713
|
+
"retrieved": "2026-09-20",
|
|
1714
|
+
"quote": "Principle of least privilege, which recommends minimum user profile privileges for both physical and logical access based on job necessity."
|
|
1715
|
+
}
|
|
1716
|
+
},
|
|
1717
|
+
{
|
|
1718
|
+
"kind": "compliance",
|
|
1719
|
+
"ruleId": "icsf-fixed-initialization-vector",
|
|
1720
|
+
"framework": "ffiec",
|
|
1721
|
+
"clause": "IS II.C.19",
|
|
1722
|
+
"title": "Encryption",
|
|
1723
|
+
"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.",
|
|
1724
|
+
"source": {
|
|
1725
|
+
"doc": "ffiec",
|
|
1726
|
+
"retrieved": "2026-09-20",
|
|
1727
|
+
"quote": "Encryption is used to secure communications and data storage, particularly authentication credentials and the transmission of sensitive information."
|
|
1728
|
+
}
|
|
1729
|
+
},
|
|
1730
|
+
{
|
|
1731
|
+
"kind": "compliance",
|
|
1732
|
+
"ruleId": "icsf-single-length-des-key",
|
|
1733
|
+
"framework": "ffiec",
|
|
1734
|
+
"clause": "IS II.C.19",
|
|
1735
|
+
"title": "Encryption",
|
|
1736
|
+
"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.",
|
|
1737
|
+
"source": {
|
|
1738
|
+
"doc": "ffiec",
|
|
1739
|
+
"retrieved": "2026-09-20",
|
|
1740
|
+
"quote": "Encryption is used to secure communications and data storage, particularly authentication credentials and the transmission of sensitive information."
|
|
1741
|
+
}
|
|
1742
|
+
},
|
|
1743
|
+
{
|
|
1744
|
+
"kind": "compliance",
|
|
1745
|
+
"ruleId": "icsf-weak-hash",
|
|
1746
|
+
"framework": "ffiec",
|
|
1747
|
+
"clause": "IS II.C.19",
|
|
1748
|
+
"title": "Encryption",
|
|
1749
|
+
"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.",
|
|
1750
|
+
"source": {
|
|
1751
|
+
"doc": "ffiec",
|
|
1752
|
+
"retrieved": "2026-09-20",
|
|
1753
|
+
"quote": "Encryption is used to secure communications and data storage, particularly authentication credentials and the transmission of sensitive information."
|
|
1754
|
+
}
|
|
1755
|
+
},
|
|
1652
1756
|
{
|
|
1653
1757
|
"kind": "compliance",
|
|
1654
1758
|
"ruleId": "input-causes-abend",
|
|
@@ -2169,6 +2273,19 @@
|
|
|
2169
2273
|
"quote": "Encryption is used to secure communications and data storage, particularly authentication credentials and the transmission of sensitive information."
|
|
2170
2274
|
}
|
|
2171
2275
|
},
|
|
2276
|
+
{
|
|
2277
|
+
"kind": "compliance",
|
|
2278
|
+
"ruleId": "jcl-racf-new-password",
|
|
2279
|
+
"framework": "ffiec",
|
|
2280
|
+
"clause": "IS II.C.19",
|
|
2281
|
+
"title": "Encryption",
|
|
2282
|
+
"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.",
|
|
2283
|
+
"source": {
|
|
2284
|
+
"doc": "ffiec",
|
|
2285
|
+
"retrieved": "2026-09-20",
|
|
2286
|
+
"quote": "Encryption is used to secure communications and data storage, particularly authentication credentials and the transmission of sensitive information."
|
|
2287
|
+
}
|
|
2288
|
+
},
|
|
2172
2289
|
{
|
|
2173
2290
|
"kind": "compliance",
|
|
2174
2291
|
"ruleId": "job-loads-from-an-authorised-library",
|
|
@@ -2494,6 +2611,19 @@
|
|
|
2494
2611
|
"quote": "Principle of least privilege, which recommends minimum user profile privileges for both physical and logical access based on job necessity."
|
|
2495
2612
|
}
|
|
2496
2613
|
},
|
|
2614
|
+
{
|
|
2615
|
+
"kind": "compliance",
|
|
2616
|
+
"ruleId": "web-client-opens-cleartext",
|
|
2617
|
+
"framework": "ffiec",
|
|
2618
|
+
"clause": "IS II.C.19",
|
|
2619
|
+
"title": "Encryption",
|
|
2620
|
+
"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.",
|
|
2621
|
+
"source": {
|
|
2622
|
+
"doc": "ffiec",
|
|
2623
|
+
"retrieved": "2026-09-20",
|
|
2624
|
+
"quote": "Encryption is used to secure communications and data storage, particularly authentication credentials and the transmission of sensitive information."
|
|
2625
|
+
}
|
|
2626
|
+
},
|
|
2497
2627
|
{
|
|
2498
2628
|
"kind": "compliance",
|
|
2499
2629
|
"ruleId": "web-cookie-without-secure-attributes",
|
|
@@ -2520,6 +2650,19 @@
|
|
|
2520
2650
|
"quote": "Secure coding practices help developers minimize the potential for known source code-related vulnerabilities in the development phase."
|
|
2521
2651
|
}
|
|
2522
2652
|
},
|
|
2653
|
+
{
|
|
2654
|
+
"kind": "compliance",
|
|
2655
|
+
"ruleId": "web-receive-length-exceeds-area",
|
|
2656
|
+
"framework": "ffiec",
|
|
2657
|
+
"clause": "DA&M V",
|
|
2658
|
+
"title": "Development",
|
|
2659
|
+
"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.",
|
|
2660
|
+
"source": {
|
|
2661
|
+
"doc": "ffiec",
|
|
2662
|
+
"retrieved": "2026-09-20",
|
|
2663
|
+
"quote": "Secure coding practices help developers minimize the potential for known source code-related vulnerabilities in the development phase."
|
|
2664
|
+
}
|
|
2665
|
+
},
|
|
2523
2666
|
{
|
|
2524
2667
|
"kind": "compliance",
|
|
2525
2668
|
"ruleId": "web-request-changes-state-without-a-token",
|
|
@@ -1649,6 +1649,110 @@
|
|
|
1649
1649
|
"quote": "Check the validity of the following information inputs"
|
|
1650
1650
|
}
|
|
1651
1651
|
},
|
|
1652
|
+
{
|
|
1653
|
+
"kind": "compliance",
|
|
1654
|
+
"ruleId": "hlasm-calls-security-product",
|
|
1655
|
+
"framework": "nist-800-53r5",
|
|
1656
|
+
"clause": "CM-8",
|
|
1657
|
+
"title": "System Component Inventory",
|
|
1658
|
+
"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.",
|
|
1659
|
+
"source": {
|
|
1660
|
+
"doc": "nist80053",
|
|
1661
|
+
"retrieved": "2026-09-20",
|
|
1662
|
+
"quote": "Develop and document an inventory of system components"
|
|
1663
|
+
}
|
|
1664
|
+
},
|
|
1665
|
+
{
|
|
1666
|
+
"kind": "compliance",
|
|
1667
|
+
"ruleId": "hlasm-cross-memory-service",
|
|
1668
|
+
"framework": "nist-800-53r5",
|
|
1669
|
+
"clause": "AC-6",
|
|
1670
|
+
"title": "Least Privilege",
|
|
1671
|
+
"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.",
|
|
1672
|
+
"source": {
|
|
1673
|
+
"doc": "nist80053",
|
|
1674
|
+
"retrieved": "2026-09-20",
|
|
1675
|
+
"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."
|
|
1676
|
+
}
|
|
1677
|
+
},
|
|
1678
|
+
{
|
|
1679
|
+
"kind": "compliance",
|
|
1680
|
+
"ruleId": "hlasm-executes-built-instruction",
|
|
1681
|
+
"framework": "nist-800-53r5",
|
|
1682
|
+
"clause": "SI-10",
|
|
1683
|
+
"title": "Information Input Validation",
|
|
1684
|
+
"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.",
|
|
1685
|
+
"source": {
|
|
1686
|
+
"doc": "nist80053",
|
|
1687
|
+
"retrieved": "2026-09-20",
|
|
1688
|
+
"quote": "Check the validity of the following information inputs"
|
|
1689
|
+
}
|
|
1690
|
+
},
|
|
1691
|
+
{
|
|
1692
|
+
"kind": "compliance",
|
|
1693
|
+
"ruleId": "hlasm-provides-called-module",
|
|
1694
|
+
"framework": "nist-800-53r5",
|
|
1695
|
+
"clause": "CM-8",
|
|
1696
|
+
"title": "System Component Inventory",
|
|
1697
|
+
"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.",
|
|
1698
|
+
"source": {
|
|
1699
|
+
"doc": "nist80053",
|
|
1700
|
+
"retrieved": "2026-09-20",
|
|
1701
|
+
"quote": "Develop and document an inventory of system components"
|
|
1702
|
+
}
|
|
1703
|
+
},
|
|
1704
|
+
{
|
|
1705
|
+
"kind": "compliance",
|
|
1706
|
+
"ruleId": "hlasm-supervisor-state-change",
|
|
1707
|
+
"framework": "nist-800-53r5",
|
|
1708
|
+
"clause": "AC-6",
|
|
1709
|
+
"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.",
|
|
1711
|
+
"source": {
|
|
1712
|
+
"doc": "nist80053",
|
|
1713
|
+
"retrieved": "2026-09-20",
|
|
1714
|
+
"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
|
+
}
|
|
1716
|
+
},
|
|
1717
|
+
{
|
|
1718
|
+
"kind": "compliance",
|
|
1719
|
+
"ruleId": "icsf-fixed-initialization-vector",
|
|
1720
|
+
"framework": "nist-800-53r5",
|
|
1721
|
+
"clause": "SC-13",
|
|
1722
|
+
"title": "Cryptographic Protection",
|
|
1723
|
+
"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.",
|
|
1724
|
+
"source": {
|
|
1725
|
+
"doc": "nist80053",
|
|
1726
|
+
"retrieved": "2026-09-20",
|
|
1727
|
+
"quote": "Implement the following types of cryptography required for each specified cryptographic use"
|
|
1728
|
+
}
|
|
1729
|
+
},
|
|
1730
|
+
{
|
|
1731
|
+
"kind": "compliance",
|
|
1732
|
+
"ruleId": "icsf-single-length-des-key",
|
|
1733
|
+
"framework": "nist-800-53r5",
|
|
1734
|
+
"clause": "SC-13",
|
|
1735
|
+
"title": "Cryptographic Protection",
|
|
1736
|
+
"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.",
|
|
1737
|
+
"source": {
|
|
1738
|
+
"doc": "nist80053",
|
|
1739
|
+
"retrieved": "2026-09-20",
|
|
1740
|
+
"quote": "Implement the following types of cryptography required for each specified cryptographic use"
|
|
1741
|
+
}
|
|
1742
|
+
},
|
|
1743
|
+
{
|
|
1744
|
+
"kind": "compliance",
|
|
1745
|
+
"ruleId": "icsf-weak-hash",
|
|
1746
|
+
"framework": "nist-800-53r5",
|
|
1747
|
+
"clause": "SC-13",
|
|
1748
|
+
"title": "Cryptographic Protection",
|
|
1749
|
+
"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.",
|
|
1750
|
+
"source": {
|
|
1751
|
+
"doc": "nist80053",
|
|
1752
|
+
"retrieved": "2026-09-20",
|
|
1753
|
+
"quote": "Implement the following types of cryptography required for each specified cryptographic use"
|
|
1754
|
+
}
|
|
1755
|
+
},
|
|
1652
1756
|
{
|
|
1653
1757
|
"kind": "compliance",
|
|
1654
1758
|
"ruleId": "input-causes-abend",
|
|
@@ -2169,6 +2273,19 @@
|
|
|
2169
2273
|
"quote": "Establishing initial authenticator content for any authenticators issued by the organization"
|
|
2170
2274
|
}
|
|
2171
2275
|
},
|
|
2276
|
+
{
|
|
2277
|
+
"kind": "compliance",
|
|
2278
|
+
"ruleId": "jcl-racf-new-password",
|
|
2279
|
+
"framework": "nist-800-53r5",
|
|
2280
|
+
"clause": "IA-5",
|
|
2281
|
+
"title": "Authenticator Management",
|
|
2282
|
+
"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.",
|
|
2283
|
+
"source": {
|
|
2284
|
+
"doc": "nist80053",
|
|
2285
|
+
"retrieved": "2026-09-20",
|
|
2286
|
+
"quote": "Establishing initial authenticator content for any authenticators issued by the organization"
|
|
2287
|
+
}
|
|
2288
|
+
},
|
|
2172
2289
|
{
|
|
2173
2290
|
"kind": "compliance",
|
|
2174
2291
|
"ruleId": "job-loads-from-an-authorised-library",
|
|
@@ -2494,6 +2611,19 @@
|
|
|
2494
2611
|
"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
2612
|
}
|
|
2496
2613
|
},
|
|
2614
|
+
{
|
|
2615
|
+
"kind": "compliance",
|
|
2616
|
+
"ruleId": "web-client-opens-cleartext",
|
|
2617
|
+
"framework": "nist-800-53r5",
|
|
2618
|
+
"clause": "SC-8",
|
|
2619
|
+
"title": "Transmission Confidentiality and Integrity",
|
|
2620
|
+
"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.",
|
|
2621
|
+
"source": {
|
|
2622
|
+
"doc": "nist80053",
|
|
2623
|
+
"retrieved": "2026-09-20",
|
|
2624
|
+
"quote": "Protect the {{ insert: param, sc-08_odp }} of transmitted information."
|
|
2625
|
+
}
|
|
2626
|
+
},
|
|
2497
2627
|
{
|
|
2498
2628
|
"kind": "compliance",
|
|
2499
2629
|
"ruleId": "web-cookie-without-secure-attributes",
|
|
@@ -2520,6 +2650,19 @@
|
|
|
2520
2650
|
"quote": "Protect the authenticity of communications sessions."
|
|
2521
2651
|
}
|
|
2522
2652
|
},
|
|
2653
|
+
{
|
|
2654
|
+
"kind": "compliance",
|
|
2655
|
+
"ruleId": "web-receive-length-exceeds-area",
|
|
2656
|
+
"framework": "nist-800-53r5",
|
|
2657
|
+
"clause": "SI-10",
|
|
2658
|
+
"title": "Information Input Validation",
|
|
2659
|
+
"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.",
|
|
2660
|
+
"source": {
|
|
2661
|
+
"doc": "nist80053",
|
|
2662
|
+
"retrieved": "2026-09-20",
|
|
2663
|
+
"quote": "Check the validity of the following information inputs"
|
|
2664
|
+
}
|
|
2665
|
+
},
|
|
2523
2666
|
{
|
|
2524
2667
|
"kind": "compliance",
|
|
2525
2668
|
"ruleId": "web-request-changes-state-without-a-token",
|