snyk 1.803.0 → 1.804.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/dist/cli/293.index.js +100 -49
- package/dist/cli/293.index.js.map +1 -1
- package/dist/lib/plugins/sast/analysis.d.ts +2 -2
- package/dist/lib/plugins/sast/checks.d.ts +1 -17
- package/dist/lib/plugins/sast/errors/index.d.ts +2 -0
- package/dist/lib/plugins/sast/errors/missing-configuration-error.d.ts +5 -0
- package/dist/lib/plugins/sast/format/output-format.d.ts +2 -2
- package/dist/lib/plugins/sast/settings.d.ts +3 -0
- package/dist/lib/plugins/sast/types.d.ts +17 -0
- package/package.json +2 -2
- package/dist/lib/plugins/sast/validate.d.ts +0 -2
package/dist/cli/293.index.js
CHANGED
|
@@ -4684,19 +4684,25 @@ const api_token_1 = __webpack_require__(95181);
|
|
|
4684
4684
|
const config_1 = __webpack_require__(22541);
|
|
4685
4685
|
const spinner_1 = __webpack_require__(86766);
|
|
4686
4686
|
const utils_1 = __webpack_require__(33113);
|
|
4687
|
-
const
|
|
4687
|
+
const errors_1 = __webpack_require__(61315);
|
|
4688
4688
|
const proxy_from_env_1 = __webpack_require__(21394);
|
|
4689
4689
|
const global_agent_1 = __webpack_require__(97959);
|
|
4690
|
-
async function getCodeAnalysisAndParseResults(root, options) {
|
|
4690
|
+
async function getCodeAnalysisAndParseResults(root, options, sastSettings) {
|
|
4691
4691
|
await spinner_1.spinner.clearAll();
|
|
4692
4692
|
utils_1.analysisProgressUpdate();
|
|
4693
|
-
const codeAnalysis = await getCodeAnalysis(root, options);
|
|
4693
|
+
const codeAnalysis = await getCodeAnalysis(root, options, sastSettings);
|
|
4694
4694
|
spinner_1.spinner.clearAll();
|
|
4695
4695
|
return parseSecurityResults(codeAnalysis);
|
|
4696
4696
|
}
|
|
4697
4697
|
exports.getCodeAnalysisAndParseResults = getCodeAnalysisAndParseResults;
|
|
4698
|
-
async function getCodeAnalysis(root, options) {
|
|
4699
|
-
const
|
|
4698
|
+
async function getCodeAnalysis(root, options, sastSettings) {
|
|
4699
|
+
const isLocalCodeEngineEnabled = isLocalCodeEngine(sastSettings);
|
|
4700
|
+
if (isLocalCodeEngineEnabled) {
|
|
4701
|
+
validateLocalCodeEngineUrl(sastSettings.localCodeEngine.url);
|
|
4702
|
+
}
|
|
4703
|
+
const baseURL = isLocalCodeEngineEnabled
|
|
4704
|
+
? sastSettings.localCodeEngine.url
|
|
4705
|
+
: config_1.default.CODE_CLIENT_PROXY_URL;
|
|
4700
4706
|
// TODO(james) This mirrors the implementation in request.ts and we need to use this for deeproxy calls
|
|
4701
4707
|
// This ensures we support lowercase http(s)_proxy values as well
|
|
4702
4708
|
// The weird IF around it ensures we don't create an envvar with
|
|
@@ -4730,7 +4736,7 @@ async function getCodeAnalysis(root, options) {
|
|
|
4730
4736
|
}
|
|
4731
4737
|
function severityToAnalysisSeverity(severity) {
|
|
4732
4738
|
if (severity === legacy_1.SEVERITY.CRITICAL) {
|
|
4733
|
-
throw new
|
|
4739
|
+
throw new errors_1.FeatureNotSupportedBySnykCodeError(legacy_1.SEVERITY.CRITICAL);
|
|
4734
4740
|
}
|
|
4735
4741
|
const severityLevel = {
|
|
4736
4742
|
low: 1,
|
|
@@ -4777,6 +4783,15 @@ function getSecurityResultsOnly(results, securityRules) {
|
|
|
4777
4783
|
}, []);
|
|
4778
4784
|
return securityResults;
|
|
4779
4785
|
}
|
|
4786
|
+
function isLocalCodeEngine(sastSettings) {
|
|
4787
|
+
const { sastEnabled, localCodeEngine } = sastSettings;
|
|
4788
|
+
return sastEnabled && localCodeEngine.enabled;
|
|
4789
|
+
}
|
|
4790
|
+
function validateLocalCodeEngineUrl(localCodeEngineUrl) {
|
|
4791
|
+
if (localCodeEngineUrl.length === 0) {
|
|
4792
|
+
throw new errors_1.MissingConfigurationError('Local Code Engine');
|
|
4793
|
+
}
|
|
4794
|
+
}
|
|
4780
4795
|
|
|
4781
4796
|
|
|
4782
4797
|
/***/ }),
|
|
@@ -4822,6 +4837,41 @@ async function trackUsage(org) {
|
|
|
4822
4837
|
exports.trackUsage = trackUsage;
|
|
4823
4838
|
|
|
4824
4839
|
|
|
4840
|
+
/***/ }),
|
|
4841
|
+
|
|
4842
|
+
/***/ 61315:
|
|
4843
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
4844
|
+
|
|
4845
|
+
"use strict";
|
|
4846
|
+
|
|
4847
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
4848
|
+
var missing_configuration_error_1 = __webpack_require__(73016);
|
|
4849
|
+
Object.defineProperty(exports, "MissingConfigurationError", ({ enumerable: true, get: function () { return missing_configuration_error_1.MissingConfigurationError; } }));
|
|
4850
|
+
var unsupported_feature_snyk_code_error_1 = __webpack_require__(90551);
|
|
4851
|
+
Object.defineProperty(exports, "FeatureNotSupportedBySnykCodeError", ({ enumerable: true, get: function () { return unsupported_feature_snyk_code_error_1.FeatureNotSupportedBySnykCodeError; } }));
|
|
4852
|
+
|
|
4853
|
+
|
|
4854
|
+
/***/ }),
|
|
4855
|
+
|
|
4856
|
+
/***/ 73016:
|
|
4857
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
4858
|
+
|
|
4859
|
+
"use strict";
|
|
4860
|
+
|
|
4861
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
4862
|
+
exports.MissingConfigurationError = void 0;
|
|
4863
|
+
const custom_error_1 = __webpack_require__(17188);
|
|
4864
|
+
class MissingConfigurationError extends custom_error_1.CustomError {
|
|
4865
|
+
constructor(action, additionalUserHelp = '') {
|
|
4866
|
+
super(`Missing configuration for ${action}.`);
|
|
4867
|
+
this.code = 422;
|
|
4868
|
+
this.action = action;
|
|
4869
|
+
this.userMessage = `'Configuration is missing or wrong for ${action}'. ${additionalUserHelp}`;
|
|
4870
|
+
}
|
|
4871
|
+
}
|
|
4872
|
+
exports.MissingConfigurationError = MissingConfigurationError;
|
|
4873
|
+
|
|
4874
|
+
|
|
4825
4875
|
/***/ }),
|
|
4826
4876
|
|
|
4827
4877
|
/***/ 90551:
|
|
@@ -4973,7 +5023,7 @@ exports.codePlugin = void 0;
|
|
|
4973
5023
|
const chalk_1 = __webpack_require__(32589);
|
|
4974
5024
|
const debugLib = __webpack_require__(15158);
|
|
4975
5025
|
const analysis_1 = __webpack_require__(2806);
|
|
4976
|
-
const
|
|
5026
|
+
const settings_1 = __webpack_require__(24930);
|
|
4977
5027
|
const output_format_1 = __webpack_require__(75802);
|
|
4978
5028
|
const errors_1 = __webpack_require__(55191);
|
|
4979
5029
|
const json_1 = __webpack_require__(27019);
|
|
@@ -4992,10 +5042,10 @@ exports.codePlugin = {
|
|
|
4992
5042
|
var _a, _b;
|
|
4993
5043
|
try {
|
|
4994
5044
|
analytics.add('sast-scan', true);
|
|
4995
|
-
await
|
|
5045
|
+
const sastSettings = await settings_1.getSastSettings(options);
|
|
4996
5046
|
// Currently code supports only one path
|
|
4997
5047
|
const path = paths[0];
|
|
4998
|
-
const sarifTypedResult = await analysis_1.getCodeAnalysisAndParseResults(path, options);
|
|
5048
|
+
const sarifTypedResult = await analysis_1.getCodeAnalysisAndParseResults(path, options, sastSettings);
|
|
4999
5049
|
if (!sarifTypedResult) {
|
|
5000
5050
|
throw new errors_1.NoSupportedSastFiles();
|
|
5001
5051
|
}
|
|
@@ -5053,6 +5103,47 @@ function hasIssues(readableResult) {
|
|
|
5053
5103
|
}
|
|
5054
5104
|
|
|
5055
5105
|
|
|
5106
|
+
/***/ }),
|
|
5107
|
+
|
|
5108
|
+
/***/ 24930:
|
|
5109
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
5110
|
+
|
|
5111
|
+
"use strict";
|
|
5112
|
+
|
|
5113
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
5114
|
+
exports.getSastSettings = void 0;
|
|
5115
|
+
const config_1 = __webpack_require__(22541);
|
|
5116
|
+
const checks_1 = __webpack_require__(15976);
|
|
5117
|
+
const errors_1 = __webpack_require__(55191);
|
|
5118
|
+
async function getSastSettings(options) {
|
|
5119
|
+
const org = options.org || config_1.default.org;
|
|
5120
|
+
// This is an unexpected path, code plugin executed for non-code command.
|
|
5121
|
+
if (!options.code) {
|
|
5122
|
+
throw new errors_1.FeatureNotSupportedForOrgError(org);
|
|
5123
|
+
}
|
|
5124
|
+
const sastSettingsResponse = await checks_1.getSastSettingsForOrg(org);
|
|
5125
|
+
if ((sastSettingsResponse === null || sastSettingsResponse === void 0 ? void 0 : sastSettingsResponse.code) === 401 ||
|
|
5126
|
+
(sastSettingsResponse === null || sastSettingsResponse === void 0 ? void 0 : sastSettingsResponse.code) === 403) {
|
|
5127
|
+
throw errors_1.AuthFailedError(sastSettingsResponse.error, sastSettingsResponse.code);
|
|
5128
|
+
}
|
|
5129
|
+
if ((sastSettingsResponse === null || sastSettingsResponse === void 0 ? void 0 : sastSettingsResponse.code) === 404) {
|
|
5130
|
+
throw new errors_1.NotFoundError(sastSettingsResponse === null || sastSettingsResponse === void 0 ? void 0 : sastSettingsResponse.userMessage);
|
|
5131
|
+
}
|
|
5132
|
+
if (!sastSettingsResponse.sastEnabled) {
|
|
5133
|
+
throw new errors_1.FeatureNotSupportedForOrgError(org, 'Snyk Code', 'enable in Settings > Snyk Code');
|
|
5134
|
+
}
|
|
5135
|
+
if (sastSettingsResponse.localCodeEngine.enabled) {
|
|
5136
|
+
throw new errors_1.CustomError('Snyk Code Local Engine is enabled, Snyk Code CLI is temporary disabled.');
|
|
5137
|
+
}
|
|
5138
|
+
const trackUsageResponse = await checks_1.trackUsage(org);
|
|
5139
|
+
if (trackUsageResponse.code === 429) {
|
|
5140
|
+
throw new errors_1.FailedToRunTestError(trackUsageResponse.userMessage, trackUsageResponse.code);
|
|
5141
|
+
}
|
|
5142
|
+
return sastSettingsResponse;
|
|
5143
|
+
}
|
|
5144
|
+
exports.getSastSettings = getSastSettings;
|
|
5145
|
+
|
|
5146
|
+
|
|
5056
5147
|
/***/ }),
|
|
5057
5148
|
|
|
5058
5149
|
/***/ 33113:
|
|
@@ -5097,46 +5188,6 @@ function analysisProgressUpdate() {
|
|
|
5097
5188
|
exports.analysisProgressUpdate = analysisProgressUpdate;
|
|
5098
5189
|
|
|
5099
5190
|
|
|
5100
|
-
/***/ }),
|
|
5101
|
-
|
|
5102
|
-
/***/ 33362:
|
|
5103
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
5104
|
-
|
|
5105
|
-
"use strict";
|
|
5106
|
-
|
|
5107
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
5108
|
-
exports.validateCodeTest = void 0;
|
|
5109
|
-
const config_1 = __webpack_require__(22541);
|
|
5110
|
-
const checks_1 = __webpack_require__(15976);
|
|
5111
|
-
const errors_1 = __webpack_require__(55191);
|
|
5112
|
-
async function validateCodeTest(options) {
|
|
5113
|
-
const org = options.org || config_1.default.org;
|
|
5114
|
-
// This is an unexpected path, code plugin executed for non-code command.
|
|
5115
|
-
if (!options.code) {
|
|
5116
|
-
throw new errors_1.FeatureNotSupportedForOrgError(org);
|
|
5117
|
-
}
|
|
5118
|
-
const sastSettingsResponse = await checks_1.getSastSettingsForOrg(org);
|
|
5119
|
-
if ((sastSettingsResponse === null || sastSettingsResponse === void 0 ? void 0 : sastSettingsResponse.code) === 401 ||
|
|
5120
|
-
(sastSettingsResponse === null || sastSettingsResponse === void 0 ? void 0 : sastSettingsResponse.code) === 403) {
|
|
5121
|
-
throw errors_1.AuthFailedError(sastSettingsResponse.error, sastSettingsResponse.code);
|
|
5122
|
-
}
|
|
5123
|
-
if ((sastSettingsResponse === null || sastSettingsResponse === void 0 ? void 0 : sastSettingsResponse.code) === 404) {
|
|
5124
|
-
throw new errors_1.NotFoundError(sastSettingsResponse === null || sastSettingsResponse === void 0 ? void 0 : sastSettingsResponse.userMessage);
|
|
5125
|
-
}
|
|
5126
|
-
if (!sastSettingsResponse.sastEnabled) {
|
|
5127
|
-
throw new errors_1.FeatureNotSupportedForOrgError(org, 'Snyk Code', 'enable in Settings > Snyk Code');
|
|
5128
|
-
}
|
|
5129
|
-
if (sastSettingsResponse.localCodeEngine.enabled) {
|
|
5130
|
-
throw new errors_1.CustomError('Snyk Code Local Engine is enabled, Snyk Code CLI is temporary disabled.');
|
|
5131
|
-
}
|
|
5132
|
-
const trackUsageResponse = await checks_1.trackUsage(org);
|
|
5133
|
-
if (trackUsageResponse.code === 429) {
|
|
5134
|
-
throw new errors_1.FailedToRunTestError(trackUsageResponse.userMessage, trackUsageResponse.code);
|
|
5135
|
-
}
|
|
5136
|
-
}
|
|
5137
|
-
exports.validateCodeTest = validateCodeTest;
|
|
5138
|
-
|
|
5139
|
-
|
|
5140
5191
|
/***/ }),
|
|
5141
5192
|
|
|
5142
5193
|
/***/ 8820:
|