@portll/cobolwork 0.2.75 → 0.2.117
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 +69 -15
- package/bin/cobolwork.mjs +126 -9
- package/lib/arith.mjs +235 -0
- package/lib/baseline.mjs +5 -0
- package/lib/build.mjs +112 -30
- package/lib/capabilities.mjs +12 -7
- package/lib/consequence.mjs +29 -0
- package/lib/control.mjs +1052 -91
- package/lib/csd.mjs +17 -2
- package/lib/dataflow.mjs +245 -78
- package/lib/enterprise-options.mjs +255 -0
- package/lib/equivalence.mjs +124 -0
- package/lib/evidence/cli.mjs +65 -0
- package/lib/evidence/journal.mjs +85 -0
- package/lib/evidence/record.mjs +110 -0
- package/lib/evidence/run.mjs +111 -0
- package/lib/evidence/seal.mjs +177 -0
- package/lib/evidence/slsa.mjs +64 -0
- package/lib/evidence/sshsig.mjs +172 -0
- package/lib/evidence/store.mjs +170 -0
- package/lib/evidence/verify.mjs +167 -0
- package/lib/explain.mjs +4 -1
- package/lib/exploitability.mjs +263 -0
- package/lib/ironwork.mjs +111 -0
- package/lib/kernel/findings.mjs +11 -0
- package/lib/kernel/registry.mjs +4 -0
- package/lib/option-diff.mjs +49 -0
- package/lib/options.mjs +109 -46
- package/lib/parser.mjs +29 -7
- package/lib/policy.mjs +8 -3
- package/lib/precompile.mjs +4 -0
- package/lib/reach.mjs +29 -12
- package/lib/revision.json +1 -1
- package/lib/sarif.mjs +1 -0
- package/lib/sbom.mjs +147 -0
- package/lib/scan.mjs +93 -27
- package/lib/sets/cics.mjs +114 -0
- package/lib/sets/flow.mjs +82 -2
- package/lib/sets/jcl.mjs +67 -0
- package/lib/sets/semantics.mjs +377 -0
- package/lib/sets/web.mjs +34 -10
- package/lib/sets/zowe.mjs +220 -0
- package/lib/sources.mjs +10 -0
- package/lib/tui/app.mjs +31 -13
- package/lib/tui/model.mjs +17 -2
- package/lib/utilities.mjs +85 -13
- package/lib/verify.mjs +128 -0
- package/package.json +1 -1
- package/rules/compliance-dora.json +507 -0
- package/rules/compliance-ffiec.json +507 -0
- package/rules/compliance-nist80053.json +507 -0
- package/schema/cobolwork.policy.schema.json +2 -1
package/lib/consequence.mjs
CHANGED
|
@@ -40,6 +40,13 @@ const SINK_CLASSES = {
|
|
|
40
40
|
'arithmetic': [],
|
|
41
41
|
'record-key': [],
|
|
42
42
|
'log': [],
|
|
43
|
+
'storage-length': [],
|
|
44
|
+
'xml-document': [],
|
|
45
|
+
'connection-target': [],
|
|
46
|
+
'screen': [],
|
|
47
|
+
'cics-sysid': [],
|
|
48
|
+
// A system-programming command acts with the region's authority on whatever resource it names.
|
|
49
|
+
'cics-system-resource': [ESCALATES],
|
|
43
50
|
};
|
|
44
51
|
|
|
45
52
|
// Past a table or a reference with SSRANGE abending, a bad index stops the program instead of
|
|
@@ -50,6 +57,11 @@ const RULE_CLASSES = {
|
|
|
50
57
|
// A variable names the program, and nothing says input reaches it: over the 500-repository corpus
|
|
51
58
|
// every one read held a literal. Input that does reach it is *-to-cics-dynamic-transfer.
|
|
52
59
|
'cics-transfer-to-variable-program': [],
|
|
60
|
+
// A failure carried on from: what follows depends on the program, and severity decides.
|
|
61
|
+
'cics-condition-ignored': [],
|
|
62
|
+
// Disclosure of stored secrets and a weaker check; severity decides.
|
|
63
|
+
'program-checks-stored-password': [],
|
|
64
|
+
'password-case-folded-before-compare': [],
|
|
53
65
|
'cics-signon-bypassed': [ESCALATES],
|
|
54
66
|
'csd-defines-diagnostic-transaction': [ESCALATES],
|
|
55
67
|
'csd-transaction-without-command-security': [ESCALATES],
|
|
@@ -59,6 +71,12 @@ const RULE_CLASSES = {
|
|
|
59
71
|
'jcl-instream-credential': [ESCALATES],
|
|
60
72
|
'web-uri-carries-a-credential': [ESCALATES],
|
|
61
73
|
'log-writes-a-credential': [ESCALATES],
|
|
74
|
+
'zowe-config-secret-in-clear': [ESCALATES],
|
|
75
|
+
'zowe-mcp-password-in-config': [ESCALATES],
|
|
76
|
+
'zowe-mock-credentials': [ESCALATES],
|
|
77
|
+
// An agent at the full tier submits jobs and runs commands as the user it logs on as.
|
|
78
|
+
'zowe-mcp-tier-full': [ESCALATES],
|
|
79
|
+
'zowe-mcp-tier-writes': [MUTATES],
|
|
62
80
|
// A crafted source file compiled by an affected cobc runs in the build, with the build's authority.
|
|
63
81
|
'build-pins-vulnerable-compiler': [ESCALATES],
|
|
64
82
|
'build-pins-exploited-compiler': [ESCALATES],
|
|
@@ -87,8 +105,19 @@ const RULE_CLASSES = {
|
|
|
87
105
|
'web-link-opens-without-noopener': [],
|
|
88
106
|
'cics-listener-accepts-cleartext': [],
|
|
89
107
|
'compile-undefined-name': [],
|
|
108
|
+
// A value the generated code gets wrong with no input driving it; severity decides.
|
|
109
|
+
'binary-store-exceeds-picture-under-trunc-opt': [],
|
|
110
|
+
'intermediate-result-loses-high-order-digits': [],
|
|
111
|
+
'character-range-reverses-in-ascii': [],
|
|
90
112
|
'log-writes-personal-data': [],
|
|
91
113
|
'display-echoes-a-credential': [],
|
|
114
|
+
'control-cards-from-dataset': [],
|
|
115
|
+
'sort-exit-named': [],
|
|
116
|
+
'tso-batch-runs-program': [],
|
|
117
|
+
'zowe-config-tls-verify-off': [],
|
|
118
|
+
'zowe-config-cleartext': [],
|
|
119
|
+
'zowe-mcp-data-marking-off': [],
|
|
120
|
+
'zowe-mcp-unpinned': [],
|
|
92
121
|
};
|
|
93
122
|
|
|
94
123
|
// Coverage and context assert no defect, so they carry no consequence.
|