dsh-standards 1.4.1 → 1.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/40-checker/fixtures/security/sec15-clean/index.mjs +3 -0
- package/40-checker/fixtures/security/sec15-clean/package.json +19 -0
- package/40-checker/fixtures/security/sec15-missing-ref/index.mjs +3 -0
- package/40-checker/fixtures/security/sec15-missing-ref/package.json +22 -0
- package/40-checker/fixtures/security/sec15-node/index.mjs +3 -0
- package/40-checker/fixtures/security/sec15-node/package.json +22 -0
- package/40-checker/fixtures/security/sec15-node/scripts/build.mjs +1 -0
- package/40-checker/fixtures/security/sec15-pipe/index.mjs +3 -0
- package/40-checker/fixtures/security/sec15-pipe/package.json +22 -0
- package/40-checker/fixtures/security/sec16-client/index.mjs +3 -0
- package/40-checker/fixtures/security/sec16-client/lib/client.js +3 -0
- package/40-checker/fixtures/security/sec16-client/package.json +21 -0
- package/40-checker/fixtures/security/sec16-declared/index.mjs +3 -0
- package/40-checker/fixtures/security/sec16-declared/package.json +19 -0
- package/40-checker/fixtures/security/sec16-eval/index.mjs +3 -0
- package/40-checker/fixtures/security/sec16-eval/package.json +19 -0
- package/40-checker/fixtures/security/sec16-require/index.mjs +4 -0
- package/40-checker/fixtures/security/sec16-require/package.json +19 -0
- package/40-checker/fixtures/security/sec17-env/index.mjs +5 -0
- package/40-checker/fixtures/security/sec17-env/package.json +19 -0
- package/40-checker/fixtures/security/sec17-seam/index.mjs +3 -0
- package/40-checker/fixtures/security/sec17-seam/package.json +19 -0
- package/40-checker/fixtures/security/sec17-ssh/index.mjs +6 -0
- package/40-checker/fixtures/security/sec17-ssh/package.json +19 -0
- package/40-checker/fixtures/security/sec18-bad/index.mjs +3 -0
- package/40-checker/fixtures/security/sec18-bad/package.json +21 -0
- package/40-checker/fixtures/security/sec18-good/index.mjs +3 -0
- package/40-checker/fixtures/security/sec18-good/package.json +26 -0
- package/40-checker/fixtures/security/sec18-undeclared/index.mjs +3 -0
- package/40-checker/fixtures/security/sec18-undeclared/package.json +26 -0
- package/40-checker/fixtures/security/sec19-blob/index.mjs +2 -0
- package/40-checker/fixtures/security/sec19-blob/package.json +19 -0
- package/40-checker/fixtures/security/sec19-clean/index.mjs +2 -0
- package/40-checker/fixtures/security/sec19-clean/package.json +19 -0
- package/40-checker/fixtures/security/sec19-wasm/blob.wasm +0 -0
- package/40-checker/fixtures/security/sec19-wasm/index.mjs +3 -0
- package/40-checker/fixtures/security/sec19-wasm/package.json +19 -0
- package/40-checker/fixtures/security/sec20-unwrapped/index.mjs +4 -0
- package/40-checker/fixtures/security/sec20-unwrapped/package.json +23 -0
- package/40-checker/fixtures/security/sec20-wrapped/index.mjs +3 -0
- package/40-checker/fixtures/security/sec20-wrapped/package.json +23 -0
- package/40-checker/fixtures/security/sec21-known/index.mjs +3 -0
- package/40-checker/fixtures/security/sec21-known/package.json +23 -0
- package/40-checker/fixtures/security/sec21-typosquat/index.mjs +3 -0
- package/40-checker/fixtures/security/sec21-typosquat/package.json +22 -0
- package/40-checker/fixtures/security/sec22-attested/index.mjs +3 -0
- package/40-checker/fixtures/security/sec22-attested/package.json +22 -0
- package/40-checker/fixtures/security/sec22-none/index.mjs +3 -0
- package/40-checker/fixtures/security/sec22-none/package.json +19 -0
- package/40-checker/scripts/sign-evidence.mjs +169 -0
- package/40-checker/src/cli.mjs +402 -73
- package/40-checker/src/declarations.mjs +10 -10
- package/40-checker/src/flow-evidence.mjs +21 -0
- package/40-checker/src/index.mjs +2 -1
- package/40-checker/src/report.mjs +116 -4
- package/40-checker/src/runtime-child.mjs +68 -0
- package/40-checker/src/runtime.mjs +3 -1
- package/40-checker/src/sandbox-run.mjs +406 -35
- package/40-checker/src/security.mjs +1065 -0
- package/40-checker/src/signature.mjs +249 -0
- package/40-checker/src/util.mjs +53 -0
- package/CHANGELOG.md +34 -0
- package/docs/SIGNING.md +137 -0
- package/docs/coverage.md +39 -6
- package/package.json +1 -1
- package/spec/coverage-contract.md +33 -11
- package/spec/dsc-clauses.json +410 -9
- package/spec/remediation.json +196 -0
- package/spec/schemas/conformance.schema.json +80 -2
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
"coverage",
|
|
16
16
|
"buckets",
|
|
17
17
|
"metrics",
|
|
18
|
-
"conclusion"
|
|
18
|
+
"conclusion",
|
|
19
|
+
"security"
|
|
19
20
|
],
|
|
20
21
|
"properties": {
|
|
21
22
|
"schema": {
|
|
@@ -73,6 +74,14 @@
|
|
|
73
74
|
"items": {
|
|
74
75
|
"$ref": "#/$defs/bucketRow"
|
|
75
76
|
}
|
|
77
|
+
},
|
|
78
|
+
"runtimeChecks": {
|
|
79
|
+
"type": "object",
|
|
80
|
+
"additionalProperties": true,
|
|
81
|
+
"description": "Additive block for explicit runtime runs (dsh-runtime-checks/1): executed, modes, durationMs, isolation, reason, failure, checks, entry."
|
|
82
|
+
},
|
|
83
|
+
"security": {
|
|
84
|
+
"$ref": "#/$defs/security"
|
|
76
85
|
}
|
|
77
86
|
},
|
|
78
87
|
"$defs": {
|
|
@@ -611,6 +620,10 @@
|
|
|
611
620
|
"howToEnable": {
|
|
612
621
|
"type": "string",
|
|
613
622
|
"description": "Additive: command/flag that would let this row run, for NA/ERROR/partial rows."
|
|
623
|
+
},
|
|
624
|
+
"security": {
|
|
625
|
+
"type": "boolean",
|
|
626
|
+
"description": "Hygiene only: DSC-15..DSC-22 security check."
|
|
614
627
|
}
|
|
615
628
|
}
|
|
616
629
|
},
|
|
@@ -697,7 +710,8 @@
|
|
|
697
710
|
"enum": [
|
|
698
711
|
"ds-c",
|
|
699
712
|
"entry",
|
|
700
|
-
"mvp"
|
|
713
|
+
"mvp",
|
|
714
|
+
"security"
|
|
701
715
|
]
|
|
702
716
|
},
|
|
703
717
|
"subset": {
|
|
@@ -843,6 +857,70 @@
|
|
|
843
857
|
"type": "boolean"
|
|
844
858
|
}
|
|
845
859
|
}
|
|
860
|
+
},
|
|
861
|
+
"security": {
|
|
862
|
+
"type": "object",
|
|
863
|
+
"additionalProperties": false,
|
|
864
|
+
"description": "Additive security view (DSC-15..DSC-22). In --scope security the checks keep their real verdict and DSC-15/16/17/21 are mandatory; in every other scope a FAIL is capped to WARN. This block never changes the default verdict and never proves the absence of malicious code.",
|
|
865
|
+
"required": [
|
|
866
|
+
"scope",
|
|
867
|
+
"status",
|
|
868
|
+
"checks",
|
|
869
|
+
"blocking",
|
|
870
|
+
"warn",
|
|
871
|
+
"advisory",
|
|
872
|
+
"notRun"
|
|
873
|
+
],
|
|
874
|
+
"properties": {
|
|
875
|
+
"scope": {
|
|
876
|
+
"enum": [
|
|
877
|
+
"security",
|
|
878
|
+
"advisory"
|
|
879
|
+
]
|
|
880
|
+
},
|
|
881
|
+
"status": {
|
|
882
|
+
"enum": [
|
|
883
|
+
"pass",
|
|
884
|
+
"warn",
|
|
885
|
+
"fail",
|
|
886
|
+
"incomplete"
|
|
887
|
+
]
|
|
888
|
+
},
|
|
889
|
+
"checks": {
|
|
890
|
+
"type": "array",
|
|
891
|
+
"items": {
|
|
892
|
+
"$ref": "#/$defs/check"
|
|
893
|
+
}
|
|
894
|
+
},
|
|
895
|
+
"blocking": {
|
|
896
|
+
"type": "array",
|
|
897
|
+
"items": {
|
|
898
|
+
"type": "string"
|
|
899
|
+
},
|
|
900
|
+
"description": "Check ids with result FAIL (only possible in --scope security)."
|
|
901
|
+
},
|
|
902
|
+
"warn": {
|
|
903
|
+
"type": "array",
|
|
904
|
+
"items": {
|
|
905
|
+
"type": "string"
|
|
906
|
+
},
|
|
907
|
+
"description": "Non-advisory check ids with result WARN."
|
|
908
|
+
},
|
|
909
|
+
"advisory": {
|
|
910
|
+
"type": "array",
|
|
911
|
+
"items": {
|
|
912
|
+
"type": "string"
|
|
913
|
+
},
|
|
914
|
+
"description": "Advisory check ids with result WARN."
|
|
915
|
+
},
|
|
916
|
+
"notRun": {
|
|
917
|
+
"type": "array",
|
|
918
|
+
"items": {
|
|
919
|
+
"type": "string"
|
|
920
|
+
},
|
|
921
|
+
"description": "Check ids that are NA, ERROR, or coverage=not-run."
|
|
922
|
+
}
|
|
923
|
+
}
|
|
846
924
|
}
|
|
847
925
|
}
|
|
848
926
|
}
|