@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
|
@@ -358,6 +358,18 @@
|
|
|
358
358
|
"idsOnly": true
|
|
359
359
|
}
|
|
360
360
|
},
|
|
361
|
+
{
|
|
362
|
+
"kind": "compliance",
|
|
363
|
+
"ruleId": "cics-new-password",
|
|
364
|
+
"framework": "cobit-2019",
|
|
365
|
+
"clause": "DSS05.04",
|
|
366
|
+
"rationale": "The rule reports: Credential pattern: cics new password. That is access or authentication handled outside the managed identity and logical access this practice requires.",
|
|
367
|
+
"source": {
|
|
368
|
+
"doc": "cobit2019",
|
|
369
|
+
"retrieved": "2026-09-20",
|
|
370
|
+
"idsOnly": true
|
|
371
|
+
}
|
|
372
|
+
},
|
|
361
373
|
{
|
|
362
374
|
"kind": "compliance",
|
|
363
375
|
"ruleId": "cics-protected-field-to-record-key",
|
|
@@ -994,6 +1006,18 @@
|
|
|
994
1006
|
"idsOnly": true
|
|
995
1007
|
}
|
|
996
1008
|
},
|
|
1009
|
+
{
|
|
1010
|
+
"kind": "compliance",
|
|
1011
|
+
"ruleId": "credential-in-source",
|
|
1012
|
+
"framework": "cobit-2019",
|
|
1013
|
+
"clause": "DSS05.04",
|
|
1014
|
+
"rationale": "The rule reports: A credential is written into the source. That is access or authentication handled outside the managed identity and logical access this practice requires.",
|
|
1015
|
+
"source": {
|
|
1016
|
+
"doc": "cobit2019",
|
|
1017
|
+
"retrieved": "2026-09-20",
|
|
1018
|
+
"idsOnly": true
|
|
1019
|
+
}
|
|
1020
|
+
},
|
|
997
1021
|
{
|
|
998
1022
|
"kind": "compliance",
|
|
999
1023
|
"ruleId": "csd-defines-diagnostic-transaction",
|
|
@@ -1522,6 +1546,114 @@
|
|
|
1522
1546
|
"idsOnly": true
|
|
1523
1547
|
}
|
|
1524
1548
|
},
|
|
1549
|
+
{
|
|
1550
|
+
"kind": "compliance",
|
|
1551
|
+
"ruleId": "hlasm-calls-security-product",
|
|
1552
|
+
"framework": "cobit-2019",
|
|
1553
|
+
"clause": "BAI09.01",
|
|
1554
|
+
"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.",
|
|
1555
|
+
"source": {
|
|
1556
|
+
"doc": "cobit2019",
|
|
1557
|
+
"retrieved": "2026-09-20",
|
|
1558
|
+
"idsOnly": true
|
|
1559
|
+
}
|
|
1560
|
+
},
|
|
1561
|
+
{
|
|
1562
|
+
"kind": "compliance",
|
|
1563
|
+
"ruleId": "hlasm-cross-memory-service",
|
|
1564
|
+
"framework": "cobit-2019",
|
|
1565
|
+
"clause": "DSS05.04",
|
|
1566
|
+
"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.",
|
|
1567
|
+
"source": {
|
|
1568
|
+
"doc": "cobit2019",
|
|
1569
|
+
"retrieved": "2026-09-20",
|
|
1570
|
+
"idsOnly": true
|
|
1571
|
+
}
|
|
1572
|
+
},
|
|
1573
|
+
{
|
|
1574
|
+
"kind": "compliance",
|
|
1575
|
+
"ruleId": "hlasm-executes-built-instruction",
|
|
1576
|
+
"framework": "cobit-2019",
|
|
1577
|
+
"clause": "DSS06.02",
|
|
1578
|
+
"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.",
|
|
1579
|
+
"source": {
|
|
1580
|
+
"doc": "cobit2019",
|
|
1581
|
+
"retrieved": "2026-09-20",
|
|
1582
|
+
"idsOnly": true
|
|
1583
|
+
}
|
|
1584
|
+
},
|
|
1585
|
+
{
|
|
1586
|
+
"kind": "compliance",
|
|
1587
|
+
"ruleId": "hlasm-provides-called-module",
|
|
1588
|
+
"framework": "cobit-2019",
|
|
1589
|
+
"clause": "BAI09.01",
|
|
1590
|
+
"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.",
|
|
1591
|
+
"source": {
|
|
1592
|
+
"doc": "cobit2019",
|
|
1593
|
+
"retrieved": "2026-09-20",
|
|
1594
|
+
"idsOnly": true
|
|
1595
|
+
}
|
|
1596
|
+
},
|
|
1597
|
+
{
|
|
1598
|
+
"kind": "compliance",
|
|
1599
|
+
"ruleId": "hlasm-supervisor-state-change",
|
|
1600
|
+
"framework": "cobit-2019",
|
|
1601
|
+
"clause": "DSS05.04",
|
|
1602
|
+
"rationale": "The rule reports: Assembler source switches to PSW key zero or supervisor state. That is access or authentication handled outside the managed identity and logical access this practice requires.",
|
|
1603
|
+
"source": {
|
|
1604
|
+
"doc": "cobit2019",
|
|
1605
|
+
"retrieved": "2026-09-20",
|
|
1606
|
+
"idsOnly": true
|
|
1607
|
+
}
|
|
1608
|
+
},
|
|
1609
|
+
{
|
|
1610
|
+
"kind": "compliance",
|
|
1611
|
+
"ruleId": "hlasm-runtime-module-name",
|
|
1612
|
+
"framework": "cobit-2019",
|
|
1613
|
+
"clause": "DSS06.02",
|
|
1614
|
+
"rationale": "The rule reports: Assembler source loads or calls a module whose name it reads from storage 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.",
|
|
1615
|
+
"source": {
|
|
1616
|
+
"doc": "cobit2019",
|
|
1617
|
+
"retrieved": "2026-09-20",
|
|
1618
|
+
"idsOnly": true
|
|
1619
|
+
}
|
|
1620
|
+
},
|
|
1621
|
+
{
|
|
1622
|
+
"kind": "compliance",
|
|
1623
|
+
"ruleId": "icsf-fixed-initialization-vector",
|
|
1624
|
+
"framework": "cobit-2019",
|
|
1625
|
+
"clause": "DSS06.06",
|
|
1626
|
+
"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.",
|
|
1627
|
+
"source": {
|
|
1628
|
+
"doc": "cobit2019",
|
|
1629
|
+
"retrieved": "2026-09-20",
|
|
1630
|
+
"idsOnly": true
|
|
1631
|
+
}
|
|
1632
|
+
},
|
|
1633
|
+
{
|
|
1634
|
+
"kind": "compliance",
|
|
1635
|
+
"ruleId": "icsf-single-length-des-key",
|
|
1636
|
+
"framework": "cobit-2019",
|
|
1637
|
+
"clause": "DSS06.06",
|
|
1638
|
+
"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.",
|
|
1639
|
+
"source": {
|
|
1640
|
+
"doc": "cobit2019",
|
|
1641
|
+
"retrieved": "2026-09-20",
|
|
1642
|
+
"idsOnly": true
|
|
1643
|
+
}
|
|
1644
|
+
},
|
|
1645
|
+
{
|
|
1646
|
+
"kind": "compliance",
|
|
1647
|
+
"ruleId": "icsf-weak-hash",
|
|
1648
|
+
"framework": "cobit-2019",
|
|
1649
|
+
"clause": "DSS06.06",
|
|
1650
|
+
"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.",
|
|
1651
|
+
"source": {
|
|
1652
|
+
"doc": "cobit2019",
|
|
1653
|
+
"retrieved": "2026-09-20",
|
|
1654
|
+
"idsOnly": true
|
|
1655
|
+
}
|
|
1656
|
+
},
|
|
1525
1657
|
{
|
|
1526
1658
|
"kind": "compliance",
|
|
1527
1659
|
"ruleId": "input-causes-abend",
|
|
@@ -1534,6 +1666,30 @@
|
|
|
1534
1666
|
"idsOnly": true
|
|
1535
1667
|
}
|
|
1536
1668
|
},
|
|
1669
|
+
{
|
|
1670
|
+
"kind": "compliance",
|
|
1671
|
+
"ruleId": "input-causes-hang",
|
|
1672
|
+
"framework": "cobit-2019",
|
|
1673
|
+
"clause": "DSS06.02",
|
|
1674
|
+
"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 information processed without the control that keeps the processing complete and within its bounds, which is what this practice asks of business process controls.",
|
|
1675
|
+
"source": {
|
|
1676
|
+
"doc": "cobit2019",
|
|
1677
|
+
"retrieved": "2026-09-20",
|
|
1678
|
+
"idsOnly": true
|
|
1679
|
+
}
|
|
1680
|
+
},
|
|
1681
|
+
{
|
|
1682
|
+
"kind": "compliance",
|
|
1683
|
+
"ruleId": "input-selects-program",
|
|
1684
|
+
"framework": "cobit-2019",
|
|
1685
|
+
"clause": "DSS06.02",
|
|
1686
|
+
"rationale": "The rule reports: An input the program accepts chooses the program a CALL loads. That is information processed without the control that keeps it valid and authorised: the input decides what code runs, which this practice asks business process controls to prevent.",
|
|
1687
|
+
"source": {
|
|
1688
|
+
"doc": "cobit2019",
|
|
1689
|
+
"retrieved": "2026-09-20",
|
|
1690
|
+
"idsOnly": true
|
|
1691
|
+
}
|
|
1692
|
+
},
|
|
1537
1693
|
{
|
|
1538
1694
|
"kind": "compliance",
|
|
1539
1695
|
"ruleId": "input-causes-abend-s0c4",
|
|
@@ -1990,6 +2146,18 @@
|
|
|
1990
2146
|
"idsOnly": true
|
|
1991
2147
|
}
|
|
1992
2148
|
},
|
|
2149
|
+
{
|
|
2150
|
+
"kind": "compliance",
|
|
2151
|
+
"ruleId": "jcl-racf-new-password",
|
|
2152
|
+
"framework": "cobit-2019",
|
|
2153
|
+
"clause": "DSS05.04",
|
|
2154
|
+
"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.",
|
|
2155
|
+
"source": {
|
|
2156
|
+
"doc": "cobit2019",
|
|
2157
|
+
"retrieved": "2026-09-20",
|
|
2158
|
+
"idsOnly": true
|
|
2159
|
+
}
|
|
2160
|
+
},
|
|
1993
2161
|
{
|
|
1994
2162
|
"kind": "compliance",
|
|
1995
2163
|
"ruleId": "jcl-racf-password",
|
|
@@ -2170,6 +2338,18 @@
|
|
|
2170
2338
|
"idsOnly": true
|
|
2171
2339
|
}
|
|
2172
2340
|
},
|
|
2341
|
+
{
|
|
2342
|
+
"kind": "compliance",
|
|
2343
|
+
"ruleId": "racf-command-new-password",
|
|
2344
|
+
"framework": "cobit-2019",
|
|
2345
|
+
"clause": "DSS05.04",
|
|
2346
|
+
"rationale": "The rule reports: Credential pattern: racf command new password. That is access or authentication handled outside the managed identity and logical access this practice requires.",
|
|
2347
|
+
"source": {
|
|
2348
|
+
"doc": "cobit2019",
|
|
2349
|
+
"retrieved": "2026-09-20",
|
|
2350
|
+
"idsOnly": true
|
|
2351
|
+
}
|
|
2352
|
+
},
|
|
2173
2353
|
{
|
|
2174
2354
|
"kind": "compliance",
|
|
2175
2355
|
"ruleId": "racf-command-password",
|
|
@@ -2278,6 +2458,18 @@
|
|
|
2278
2458
|
"idsOnly": true
|
|
2279
2459
|
}
|
|
2280
2460
|
},
|
|
2461
|
+
{
|
|
2462
|
+
"kind": "compliance",
|
|
2463
|
+
"ruleId": "tso-logon-new-password",
|
|
2464
|
+
"framework": "cobit-2019",
|
|
2465
|
+
"clause": "DSS05.04",
|
|
2466
|
+
"rationale": "The rule reports: Credential pattern: tso logon new password. That is access or authentication handled outside the managed identity and logical access this practice requires.",
|
|
2467
|
+
"source": {
|
|
2468
|
+
"doc": "cobit2019",
|
|
2469
|
+
"retrieved": "2026-09-20",
|
|
2470
|
+
"idsOnly": true
|
|
2471
|
+
}
|
|
2472
|
+
},
|
|
2281
2473
|
{
|
|
2282
2474
|
"kind": "compliance",
|
|
2283
2475
|
"ruleId": "tso-logon-password",
|
|
@@ -2302,6 +2494,18 @@
|
|
|
2302
2494
|
"idsOnly": true
|
|
2303
2495
|
}
|
|
2304
2496
|
},
|
|
2497
|
+
{
|
|
2498
|
+
"kind": "compliance",
|
|
2499
|
+
"ruleId": "web-client-opens-cleartext",
|
|
2500
|
+
"framework": "cobit-2019",
|
|
2501
|
+
"clause": "DSS05.02",
|
|
2502
|
+
"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.",
|
|
2503
|
+
"source": {
|
|
2504
|
+
"doc": "cobit2019",
|
|
2505
|
+
"retrieved": "2026-09-20",
|
|
2506
|
+
"idsOnly": true
|
|
2507
|
+
}
|
|
2508
|
+
},
|
|
2305
2509
|
{
|
|
2306
2510
|
"kind": "compliance",
|
|
2307
2511
|
"ruleId": "web-cookie-without-secure-attributes",
|
|
@@ -2326,6 +2530,18 @@
|
|
|
2326
2530
|
"idsOnly": true
|
|
2327
2531
|
}
|
|
2328
2532
|
},
|
|
2533
|
+
{
|
|
2534
|
+
"kind": "compliance",
|
|
2535
|
+
"ruleId": "web-receive-length-exceeds-area",
|
|
2536
|
+
"framework": "cobit-2019",
|
|
2537
|
+
"clause": "DSS06.02",
|
|
2538
|
+
"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.",
|
|
2539
|
+
"source": {
|
|
2540
|
+
"doc": "cobit2019",
|
|
2541
|
+
"retrieved": "2026-09-20",
|
|
2542
|
+
"idsOnly": true
|
|
2543
|
+
}
|
|
2544
|
+
},
|
|
2329
2545
|
{
|
|
2330
2546
|
"kind": "compliance",
|
|
2331
2547
|
"ruleId": "web-request-changes-state-without-a-token",
|
|
@@ -379,6 +379,19 @@
|
|
|
379
379
|
"quote": "minimise the risk of corruption or loss of data, unauthorised access and technical flaws that may hinder business activity"
|
|
380
380
|
}
|
|
381
381
|
},
|
|
382
|
+
{
|
|
383
|
+
"kind": "compliance",
|
|
384
|
+
"ruleId": "cics-new-password",
|
|
385
|
+
"framework": "dora",
|
|
386
|
+
"clause": "Article 9(4)(d)",
|
|
387
|
+
"title": "Protection and prevention",
|
|
388
|
+
"rationale": "The rule reports: Credential pattern: cics new password. That exposes an authentication secret in a file, defeating the authentication mechanisms and key protection this clause requires.",
|
|
389
|
+
"source": {
|
|
390
|
+
"doc": "dora",
|
|
391
|
+
"retrieved": "2026-09-20",
|
|
392
|
+
"quote": "implement policies and protocols for strong authentication mechanisms, based on relevant standards and dedicated control systems, and protection measures of cryptographic keys"
|
|
393
|
+
}
|
|
394
|
+
},
|
|
382
395
|
{
|
|
383
396
|
"kind": "compliance",
|
|
384
397
|
"ruleId": "cics-protected-field-to-record-key",
|
|
@@ -1068,6 +1081,19 @@
|
|
|
1068
1081
|
"quote": "map the configuration of the information assets and ICT assets and the links and interdependencies between the different information assets and ICT assets"
|
|
1069
1082
|
}
|
|
1070
1083
|
},
|
|
1084
|
+
{
|
|
1085
|
+
"kind": "compliance",
|
|
1086
|
+
"ruleId": "credential-in-source",
|
|
1087
|
+
"framework": "dora",
|
|
1088
|
+
"clause": "Article 9(4)(d)",
|
|
1089
|
+
"title": "Protection and prevention",
|
|
1090
|
+
"rationale": "The rule reports: A credential is written into the source. That exposes an authentication secret in a file, defeating the authentication mechanisms and key protection this clause requires.",
|
|
1091
|
+
"source": {
|
|
1092
|
+
"doc": "dora",
|
|
1093
|
+
"retrieved": "2026-09-20",
|
|
1094
|
+
"quote": "implement policies and protocols for strong authentication mechanisms, based on relevant standards and dedicated control systems, and protection measures of cryptographic keys"
|
|
1095
|
+
}
|
|
1096
|
+
},
|
|
1071
1097
|
{
|
|
1072
1098
|
"kind": "compliance",
|
|
1073
1099
|
"ruleId": "csd-defines-diagnostic-transaction",
|
|
@@ -1640,6 +1666,123 @@
|
|
|
1640
1666
|
"quote": "minimise the risk of corruption or loss of data, unauthorised access and technical flaws that may hinder business activity"
|
|
1641
1667
|
}
|
|
1642
1668
|
},
|
|
1669
|
+
{
|
|
1670
|
+
"kind": "compliance",
|
|
1671
|
+
"ruleId": "hlasm-calls-security-product",
|
|
1672
|
+
"framework": "dora",
|
|
1673
|
+
"clause": "Article 8(4)",
|
|
1674
|
+
"title": "Identification",
|
|
1675
|
+
"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.",
|
|
1676
|
+
"source": {
|
|
1677
|
+
"doc": "dora",
|
|
1678
|
+
"retrieved": "2026-09-20",
|
|
1679
|
+
"quote": "map the configuration of the information assets and ICT assets and the links and interdependencies between the different information assets and ICT assets"
|
|
1680
|
+
}
|
|
1681
|
+
},
|
|
1682
|
+
{
|
|
1683
|
+
"kind": "compliance",
|
|
1684
|
+
"ruleId": "hlasm-cross-memory-service",
|
|
1685
|
+
"framework": "dora",
|
|
1686
|
+
"clause": "Article 9(4)(c)",
|
|
1687
|
+
"title": "Protection and prevention",
|
|
1688
|
+
"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.",
|
|
1689
|
+
"source": {
|
|
1690
|
+
"doc": "dora",
|
|
1691
|
+
"retrieved": "2026-09-20",
|
|
1692
|
+
"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"
|
|
1693
|
+
}
|
|
1694
|
+
},
|
|
1695
|
+
{
|
|
1696
|
+
"kind": "compliance",
|
|
1697
|
+
"ruleId": "hlasm-executes-built-instruction",
|
|
1698
|
+
"framework": "dora",
|
|
1699
|
+
"clause": "Article 9(3)(b)",
|
|
1700
|
+
"title": "Protection and prevention",
|
|
1701
|
+
"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.",
|
|
1702
|
+
"source": {
|
|
1703
|
+
"doc": "dora",
|
|
1704
|
+
"retrieved": "2026-09-20",
|
|
1705
|
+
"quote": "minimise the risk of corruption or loss of data, unauthorised access and technical flaws that may hinder business activity"
|
|
1706
|
+
}
|
|
1707
|
+
},
|
|
1708
|
+
{
|
|
1709
|
+
"kind": "compliance",
|
|
1710
|
+
"ruleId": "hlasm-provides-called-module",
|
|
1711
|
+
"framework": "dora",
|
|
1712
|
+
"clause": "Article 8(4)",
|
|
1713
|
+
"title": "Identification",
|
|
1714
|
+
"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.",
|
|
1715
|
+
"source": {
|
|
1716
|
+
"doc": "dora",
|
|
1717
|
+
"retrieved": "2026-09-20",
|
|
1718
|
+
"quote": "map the configuration of the information assets and ICT assets and the links and interdependencies between the different information assets and ICT assets"
|
|
1719
|
+
}
|
|
1720
|
+
},
|
|
1721
|
+
{
|
|
1722
|
+
"kind": "compliance",
|
|
1723
|
+
"ruleId": "hlasm-supervisor-state-change",
|
|
1724
|
+
"framework": "dora",
|
|
1725
|
+
"clause": "Article 9(4)(c)",
|
|
1726
|
+
"title": "Protection and prevention",
|
|
1727
|
+
"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.",
|
|
1728
|
+
"source": {
|
|
1729
|
+
"doc": "dora",
|
|
1730
|
+
"retrieved": "2026-09-20",
|
|
1731
|
+
"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"
|
|
1732
|
+
}
|
|
1733
|
+
},
|
|
1734
|
+
{
|
|
1735
|
+
"kind": "compliance",
|
|
1736
|
+
"ruleId": "hlasm-runtime-module-name",
|
|
1737
|
+
"framework": "dora",
|
|
1738
|
+
"clause": "Article 9(3)(b)",
|
|
1739
|
+
"title": "Protection and prevention",
|
|
1740
|
+
"rationale": "The rule reports: Assembler source loads or calls a module whose name it reads from storage at run time. That is a technical flaw permitting unauthorised access or data corruption, which this clause requires be minimised.",
|
|
1741
|
+
"source": {
|
|
1742
|
+
"doc": "dora",
|
|
1743
|
+
"retrieved": "2026-09-20",
|
|
1744
|
+
"quote": "minimise the risk of corruption or loss of data, unauthorised access and technical flaws that may hinder business activity"
|
|
1745
|
+
}
|
|
1746
|
+
},
|
|
1747
|
+
{
|
|
1748
|
+
"kind": "compliance",
|
|
1749
|
+
"ruleId": "icsf-fixed-initialization-vector",
|
|
1750
|
+
"framework": "dora",
|
|
1751
|
+
"clause": "Article 9(3)(c)",
|
|
1752
|
+
"title": "Protection and prevention",
|
|
1753
|
+
"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.",
|
|
1754
|
+
"source": {
|
|
1755
|
+
"doc": "dora",
|
|
1756
|
+
"retrieved": "2026-09-20",
|
|
1757
|
+
"quote": "prevent the lack of availability, the impairment of the authenticity and integrity, the breaches of confidentiality and the loss of data"
|
|
1758
|
+
}
|
|
1759
|
+
},
|
|
1760
|
+
{
|
|
1761
|
+
"kind": "compliance",
|
|
1762
|
+
"ruleId": "icsf-single-length-des-key",
|
|
1763
|
+
"framework": "dora",
|
|
1764
|
+
"clause": "Article 9(3)(c)",
|
|
1765
|
+
"title": "Protection and prevention",
|
|
1766
|
+
"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.",
|
|
1767
|
+
"source": {
|
|
1768
|
+
"doc": "dora",
|
|
1769
|
+
"retrieved": "2026-09-20",
|
|
1770
|
+
"quote": "prevent the lack of availability, the impairment of the authenticity and integrity, the breaches of confidentiality and the loss of data"
|
|
1771
|
+
}
|
|
1772
|
+
},
|
|
1773
|
+
{
|
|
1774
|
+
"kind": "compliance",
|
|
1775
|
+
"ruleId": "icsf-weak-hash",
|
|
1776
|
+
"framework": "dora",
|
|
1777
|
+
"clause": "Article 9(3)(c)",
|
|
1778
|
+
"title": "Protection and prevention",
|
|
1779
|
+
"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.",
|
|
1780
|
+
"source": {
|
|
1781
|
+
"doc": "dora",
|
|
1782
|
+
"retrieved": "2026-09-20",
|
|
1783
|
+
"quote": "prevent the lack of availability, the impairment of the authenticity and integrity, the breaches of confidentiality and the loss of data"
|
|
1784
|
+
}
|
|
1785
|
+
},
|
|
1643
1786
|
{
|
|
1644
1787
|
"kind": "compliance",
|
|
1645
1788
|
"ruleId": "input-causes-abend",
|
|
@@ -1653,6 +1796,32 @@
|
|
|
1653
1796
|
"quote": "minimise the risk of corruption or loss of data, unauthorised access and technical flaws that may hinder business activity"
|
|
1654
1797
|
}
|
|
1655
1798
|
},
|
|
1799
|
+
{
|
|
1800
|
+
"kind": "compliance",
|
|
1801
|
+
"ruleId": "input-causes-hang",
|
|
1802
|
+
"framework": "dora",
|
|
1803
|
+
"clause": "Article 9(3)(b)",
|
|
1804
|
+
"title": "Protection and prevention",
|
|
1805
|
+
"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 technical flaw that may hinder business activity, which this clause requires be minimised.",
|
|
1806
|
+
"source": {
|
|
1807
|
+
"doc": "dora",
|
|
1808
|
+
"retrieved": "2026-09-20",
|
|
1809
|
+
"quote": "minimise the risk of corruption or loss of data, unauthorised access and technical flaws that may hinder business activity"
|
|
1810
|
+
}
|
|
1811
|
+
},
|
|
1812
|
+
{
|
|
1813
|
+
"kind": "compliance",
|
|
1814
|
+
"ruleId": "input-selects-program",
|
|
1815
|
+
"framework": "dora",
|
|
1816
|
+
"clause": "Article 9(3)(b)",
|
|
1817
|
+
"title": "Protection and prevention",
|
|
1818
|
+
"rationale": "The rule reports: An input the program accepts chooses the program a CALL loads. That is a technical flaw permitting unauthorised access, which this clause requires be minimised.",
|
|
1819
|
+
"source": {
|
|
1820
|
+
"doc": "dora",
|
|
1821
|
+
"retrieved": "2026-09-20",
|
|
1822
|
+
"quote": "minimise the risk of corruption or loss of data, unauthorised access and technical flaws that may hinder business activity"
|
|
1823
|
+
}
|
|
1824
|
+
},
|
|
1656
1825
|
{
|
|
1657
1826
|
"kind": "compliance",
|
|
1658
1827
|
"ruleId": "input-causes-abend-s0c4",
|
|
@@ -2147,6 +2316,19 @@
|
|
|
2147
2316
|
"quote": "minimise the risk of corruption or loss of data, unauthorised access and technical flaws that may hinder business activity"
|
|
2148
2317
|
}
|
|
2149
2318
|
},
|
|
2319
|
+
{
|
|
2320
|
+
"kind": "compliance",
|
|
2321
|
+
"ruleId": "jcl-racf-new-password",
|
|
2322
|
+
"framework": "dora",
|
|
2323
|
+
"clause": "Article 9(4)(d)",
|
|
2324
|
+
"title": "Protection and prevention",
|
|
2325
|
+
"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.",
|
|
2326
|
+
"source": {
|
|
2327
|
+
"doc": "dora",
|
|
2328
|
+
"retrieved": "2026-09-20",
|
|
2329
|
+
"quote": "implement policies and protocols for strong authentication mechanisms, based on relevant standards and dedicated control systems, and protection measures of cryptographic keys"
|
|
2330
|
+
}
|
|
2331
|
+
},
|
|
2150
2332
|
{
|
|
2151
2333
|
"kind": "compliance",
|
|
2152
2334
|
"ruleId": "jcl-racf-password",
|
|
@@ -2342,6 +2524,19 @@
|
|
|
2342
2524
|
"quote": "minimise the risk of corruption or loss of data, unauthorised access and technical flaws that may hinder business activity"
|
|
2343
2525
|
}
|
|
2344
2526
|
},
|
|
2527
|
+
{
|
|
2528
|
+
"kind": "compliance",
|
|
2529
|
+
"ruleId": "racf-command-new-password",
|
|
2530
|
+
"framework": "dora",
|
|
2531
|
+
"clause": "Article 9(4)(d)",
|
|
2532
|
+
"title": "Protection and prevention",
|
|
2533
|
+
"rationale": "The rule reports: Credential pattern: racf command new password. That exposes an authentication secret in a file, defeating the authentication mechanisms and key protection this clause requires.",
|
|
2534
|
+
"source": {
|
|
2535
|
+
"doc": "dora",
|
|
2536
|
+
"retrieved": "2026-09-20",
|
|
2537
|
+
"quote": "implement policies and protocols for strong authentication mechanisms, based on relevant standards and dedicated control systems, and protection measures of cryptographic keys"
|
|
2538
|
+
}
|
|
2539
|
+
},
|
|
2345
2540
|
{
|
|
2346
2541
|
"kind": "compliance",
|
|
2347
2542
|
"ruleId": "racf-command-password",
|
|
@@ -2485,6 +2680,19 @@
|
|
|
2485
2680
|
"quote": "maintain relevant inventories and update them periodically and every time any major change as referred to in paragraph 3 occurs"
|
|
2486
2681
|
}
|
|
2487
2682
|
},
|
|
2683
|
+
{
|
|
2684
|
+
"kind": "compliance",
|
|
2685
|
+
"ruleId": "tso-logon-new-password",
|
|
2686
|
+
"framework": "dora",
|
|
2687
|
+
"clause": "Article 9(4)(d)",
|
|
2688
|
+
"title": "Protection and prevention",
|
|
2689
|
+
"rationale": "The rule reports: Credential pattern: tso logon new password. That exposes an authentication secret in a file, defeating the authentication mechanisms and key protection this clause requires.",
|
|
2690
|
+
"source": {
|
|
2691
|
+
"doc": "dora",
|
|
2692
|
+
"retrieved": "2026-09-20",
|
|
2693
|
+
"quote": "implement policies and protocols for strong authentication mechanisms, based on relevant standards and dedicated control systems, and protection measures of cryptographic keys"
|
|
2694
|
+
}
|
|
2695
|
+
},
|
|
2488
2696
|
{
|
|
2489
2697
|
"kind": "compliance",
|
|
2490
2698
|
"ruleId": "tso-logon-password",
|
|
@@ -2511,6 +2719,19 @@
|
|
|
2511
2719
|
"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
2720
|
}
|
|
2513
2721
|
},
|
|
2722
|
+
{
|
|
2723
|
+
"kind": "compliance",
|
|
2724
|
+
"ruleId": "web-client-opens-cleartext",
|
|
2725
|
+
"framework": "dora",
|
|
2726
|
+
"clause": "Article 9(3)(a)",
|
|
2727
|
+
"title": "Protection and prevention",
|
|
2728
|
+
"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.",
|
|
2729
|
+
"source": {
|
|
2730
|
+
"doc": "dora",
|
|
2731
|
+
"retrieved": "2026-09-20",
|
|
2732
|
+
"quote": "ensure the security of the means of transfer of data"
|
|
2733
|
+
}
|
|
2734
|
+
},
|
|
2514
2735
|
{
|
|
2515
2736
|
"kind": "compliance",
|
|
2516
2737
|
"ruleId": "web-cookie-without-secure-attributes",
|
|
@@ -2537,6 +2758,19 @@
|
|
|
2537
2758
|
"quote": "minimise the risk of corruption or loss of data, unauthorised access and technical flaws that may hinder business activity"
|
|
2538
2759
|
}
|
|
2539
2760
|
},
|
|
2761
|
+
{
|
|
2762
|
+
"kind": "compliance",
|
|
2763
|
+
"ruleId": "web-receive-length-exceeds-area",
|
|
2764
|
+
"framework": "dora",
|
|
2765
|
+
"clause": "Article 9(3)(b)",
|
|
2766
|
+
"title": "Protection and prevention",
|
|
2767
|
+
"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.",
|
|
2768
|
+
"source": {
|
|
2769
|
+
"doc": "dora",
|
|
2770
|
+
"retrieved": "2026-09-20",
|
|
2771
|
+
"quote": "minimise the risk of corruption or loss of data, unauthorised access and technical flaws that may hinder business activity"
|
|
2772
|
+
}
|
|
2773
|
+
},
|
|
2540
2774
|
{
|
|
2541
2775
|
"kind": "compliance",
|
|
2542
2776
|
"ruleId": "web-request-changes-state-without-a-token",
|