@contrast/contrast 2.0.2-beta.3 → 2.0.2-beta.4

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.
Files changed (358) hide show
  1. package/README.md +51 -1
  2. package/dist/audit/catalogueApplication/catalogueApplication.js +6 -10
  3. package/dist/audit/catalogueApplication/catalogueApplication.js.map +1 -0
  4. package/dist/audit/languageAnalysisEngine/commonApi.js +3 -6
  5. package/dist/audit/languageAnalysisEngine/commonApi.js.map +1 -0
  6. package/dist/audit/languageAnalysisEngine/filterProjectPath.js +1 -0
  7. package/dist/audit/languageAnalysisEngine/filterProjectPath.js.map +1 -0
  8. package/dist/audit/languageAnalysisEngine/getProjectRootFilenames.js +9 -12
  9. package/dist/audit/languageAnalysisEngine/getProjectRootFilenames.js.map +1 -0
  10. package/dist/audit/languageAnalysisEngine/sendSnapshot.js +15 -19
  11. package/dist/audit/languageAnalysisEngine/sendSnapshot.js.map +1 -0
  12. package/dist/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js +9 -9
  13. package/dist/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js.map +1 -0
  14. package/dist/audit/report/commonReportingFunctions.js +33 -48
  15. package/dist/audit/report/commonReportingFunctions.js.map +1 -0
  16. package/dist/audit/report/models/reportGuidanceModel.js +2 -5
  17. package/dist/audit/report/models/reportGuidanceModel.js.map +1 -0
  18. package/dist/audit/report/models/reportLibraryModel.js +3 -7
  19. package/dist/audit/report/models/reportLibraryModel.js.map +1 -0
  20. package/dist/audit/report/models/reportListModel.js +4 -9
  21. package/dist/audit/report/models/reportListModel.js.map +1 -0
  22. package/dist/audit/report/models/reportOutputModel.js +4 -9
  23. package/dist/audit/report/models/reportOutputModel.js.map +1 -0
  24. package/dist/audit/report/models/reportSeverityModel.js +2 -5
  25. package/dist/audit/report/models/reportSeverityModel.js.map +1 -0
  26. package/dist/audit/report/models/severityCountModel.js +3 -5
  27. package/dist/audit/report/models/severityCountModel.js.map +1 -0
  28. package/dist/audit/report/reportingFeature.js +27 -55
  29. package/dist/audit/report/reportingFeature.js.map +1 -0
  30. package/dist/audit/report/utils/reportUtils.js +28 -59
  31. package/dist/audit/report/utils/reportUtils.js.map +1 -0
  32. package/dist/audit/save.js +14 -16
  33. package/dist/audit/save.js.map +1 -0
  34. package/dist/cliConstants.js +17 -18
  35. package/dist/cliConstants.js.map +1 -0
  36. package/dist/commands/audit/auditConfig.js +7 -10
  37. package/dist/commands/audit/auditConfig.js.map +1 -0
  38. package/dist/commands/audit/auditController.js +9 -13
  39. package/dist/commands/audit/auditController.js.map +1 -0
  40. package/dist/commands/audit/help.js +23 -25
  41. package/dist/commands/audit/help.js.map +1 -0
  42. package/dist/commands/audit/processAudit.js +9 -12
  43. package/dist/commands/audit/processAudit.js.map +1 -0
  44. package/dist/commands/audit/saveFile.js +3 -6
  45. package/dist/commands/audit/saveFile.js.map +1 -0
  46. package/dist/commands/auth/auth.js +25 -24
  47. package/dist/commands/auth/auth.js.map +1 -0
  48. package/dist/commands/config/config.js +12 -13
  49. package/dist/commands/config/config.js.map +1 -0
  50. package/dist/commands/github/fingerprintConfig.js +8 -11
  51. package/dist/commands/github/fingerprintConfig.js.map +1 -0
  52. package/dist/commands/github/processFingerprint.js +12 -15
  53. package/dist/commands/github/processFingerprint.js.map +1 -0
  54. package/dist/commands/github/projectGroup.js +25 -32
  55. package/dist/commands/github/projectGroup.js.map +1 -0
  56. package/dist/commands/github/repoServices.js +11 -21
  57. package/dist/commands/github/repoServices.js.map +1 -0
  58. package/dist/commands/learn/learn.js +3 -6
  59. package/dist/commands/learn/learn.js.map +1 -0
  60. package/dist/commands/learn/processLearn.js +3 -6
  61. package/dist/commands/learn/processLearn.js.map +1 -0
  62. package/dist/commands/scan/processScan.js +11 -14
  63. package/dist/commands/scan/processScan.js.map +1 -0
  64. package/dist/common/HTTPClient.js +123 -94
  65. package/dist/common/HTTPClient.js.map +1 -0
  66. package/dist/common/autoDetection.js +26 -33
  67. package/dist/common/autoDetection.js.map +1 -0
  68. package/dist/common/baseRequest.js +14 -18
  69. package/dist/common/baseRequest.js.map +1 -0
  70. package/dist/common/commonHelp.js +13 -13
  71. package/dist/common/commonHelp.js.map +1 -0
  72. package/dist/common/errorHandling.js +30 -39
  73. package/dist/common/errorHandling.js.map +1 -0
  74. package/dist/common/fail.js +6 -12
  75. package/dist/common/fail.js.map +1 -0
  76. package/dist/common/versionChecker.js +16 -19
  77. package/dist/common/versionChecker.js.map +1 -0
  78. package/dist/constants/constants.js +44 -65
  79. package/dist/constants/constants.js.map +1 -0
  80. package/dist/constants/lambda.js +8 -5
  81. package/dist/constants/lambda.js.map +1 -0
  82. package/dist/constants/locales.js +6 -9
  83. package/dist/constants/locales.js.map +1 -0
  84. package/dist/index.js +36 -39
  85. package/dist/index.js.map +1 -0
  86. package/dist/lambda/analytics.js +6 -9
  87. package/dist/lambda/analytics.js.map +1 -0
  88. package/dist/lambda/arn.js +6 -9
  89. package/dist/lambda/arn.js.map +1 -0
  90. package/dist/lambda/aws.js +29 -34
  91. package/dist/lambda/aws.js.map +1 -0
  92. package/dist/lambda/cliError.js +13 -41
  93. package/dist/lambda/cliError.js.map +1 -0
  94. package/dist/lambda/constants.js +3 -4
  95. package/dist/lambda/constants.js.map +1 -0
  96. package/dist/lambda/help.js +39 -44
  97. package/dist/lambda/help.js.map +1 -0
  98. package/dist/lambda/lambda.js +61 -65
  99. package/dist/lambda/lambda.js.map +1 -0
  100. package/dist/lambda/lambdaUtils.js +38 -32
  101. package/dist/lambda/lambdaUtils.js.map +1 -0
  102. package/dist/lambda/logUtils.js +21 -17
  103. package/dist/lambda/logUtils.js.map +1 -0
  104. package/dist/lambda/scanDetailCompletion.js +19 -25
  105. package/dist/lambda/scanDetailCompletion.js.map +1 -0
  106. package/dist/lambda/scanRequest.js +34 -41
  107. package/dist/lambda/scanRequest.js.map +1 -0
  108. package/dist/lambda/scanResults.js +8 -10
  109. package/dist/lambda/scanResults.js.map +1 -0
  110. package/dist/lambda/types.js +5 -7
  111. package/dist/lambda/types.js.map +1 -0
  112. package/dist/lambda/utils.js +33 -35
  113. package/dist/lambda/utils.js.map +1 -0
  114. package/dist/sbom/generateSbom.js +6 -10
  115. package/dist/sbom/generateSbom.js.map +1 -0
  116. package/dist/scaAnalysis/common/auditReport.js +8 -12
  117. package/dist/scaAnalysis/common/auditReport.js.map +1 -0
  118. package/dist/scaAnalysis/common/commonReportingFunctionsSca.js +26 -32
  119. package/dist/scaAnalysis/common/commonReportingFunctionsSca.js.map +1 -0
  120. package/dist/scaAnalysis/common/formatMessage.js +8 -17
  121. package/dist/scaAnalysis/common/formatMessage.js.map +1 -0
  122. package/dist/scaAnalysis/common/models/ScaReportModel.js +4 -9
  123. package/dist/scaAnalysis/common/models/ScaReportModel.js.map +1 -0
  124. package/dist/scaAnalysis/common/scaParserForGoAndJava.js +10 -9
  125. package/dist/scaAnalysis/common/scaParserForGoAndJava.js.map +1 -0
  126. package/dist/scaAnalysis/common/scaServicesUpload.js +21 -22
  127. package/dist/scaAnalysis/common/scaServicesUpload.js.map +1 -0
  128. package/dist/scaAnalysis/common/treeUpload.js +7 -10
  129. package/dist/scaAnalysis/common/treeUpload.js.map +1 -0
  130. package/dist/scaAnalysis/common/utils/reportUtilsSca.js +21 -29
  131. package/dist/scaAnalysis/common/utils/reportUtilsSca.js.map +1 -0
  132. package/dist/scaAnalysis/dotnet/analysis.js +12 -18
  133. package/dist/scaAnalysis/dotnet/analysis.js.map +1 -0
  134. package/dist/scaAnalysis/dotnet/index.js +4 -7
  135. package/dist/scaAnalysis/dotnet/index.js.map +1 -0
  136. package/dist/scaAnalysis/go/goAnalysis.js +8 -11
  137. package/dist/scaAnalysis/go/goAnalysis.js.map +1 -0
  138. package/dist/scaAnalysis/go/goParseDeps.js +9 -7
  139. package/dist/scaAnalysis/go/goParseDeps.js.map +1 -0
  140. package/dist/scaAnalysis/go/goReadDepFile.js +10 -8
  141. package/dist/scaAnalysis/go/goReadDepFile.js.map +1 -0
  142. package/dist/scaAnalysis/java/analysis.js +23 -20
  143. package/dist/scaAnalysis/java/analysis.js.map +1 -0
  144. package/dist/scaAnalysis/java/index.js +7 -10
  145. package/dist/scaAnalysis/java/index.js.map +1 -0
  146. package/dist/scaAnalysis/java/javaBuildDepsParser.js +43 -43
  147. package/dist/scaAnalysis/java/javaBuildDepsParser.js.map +1 -0
  148. package/dist/scaAnalysis/javascript/analysis.js +16 -20
  149. package/dist/scaAnalysis/javascript/analysis.js.map +1 -0
  150. package/dist/scaAnalysis/javascript/index.js +17 -19
  151. package/dist/scaAnalysis/javascript/index.js.map +1 -0
  152. package/dist/scaAnalysis/javascript/scaServiceParser.js +8 -15
  153. package/dist/scaAnalysis/javascript/scaServiceParser.js.map +1 -0
  154. package/dist/scaAnalysis/legacy/legacyFlow.js +13 -15
  155. package/dist/scaAnalysis/legacy/legacyFlow.js.map +1 -0
  156. package/dist/scaAnalysis/php/analysis.js +15 -16
  157. package/dist/scaAnalysis/php/analysis.js.map +1 -0
  158. package/dist/scaAnalysis/php/index.js +5 -8
  159. package/dist/scaAnalysis/php/index.js.map +1 -0
  160. package/dist/scaAnalysis/php/phpNewServicesMapper.js +9 -12
  161. package/dist/scaAnalysis/php/phpNewServicesMapper.js.map +1 -0
  162. package/dist/scaAnalysis/processServicesFlow.js +50 -25
  163. package/dist/scaAnalysis/processServicesFlow.js.map +1 -0
  164. package/dist/scaAnalysis/python/analysis.js +16 -23
  165. package/dist/scaAnalysis/python/analysis.js.map +1 -0
  166. package/dist/scaAnalysis/python/index.js +4 -7
  167. package/dist/scaAnalysis/python/index.js.map +1 -0
  168. package/dist/scaAnalysis/repoMode/gradleParser.js +7 -13
  169. package/dist/scaAnalysis/repoMode/gradleParser.js.map +1 -0
  170. package/dist/scaAnalysis/repoMode/index.js +9 -12
  171. package/dist/scaAnalysis/repoMode/index.js.map +1 -0
  172. package/dist/scaAnalysis/repoMode/mavenParser.js +12 -12
  173. package/dist/scaAnalysis/repoMode/mavenParser.js.map +1 -0
  174. package/dist/scaAnalysis/ruby/analysis.js +32 -46
  175. package/dist/scaAnalysis/ruby/analysis.js.map +1 -0
  176. package/dist/scaAnalysis/ruby/index.js +5 -8
  177. package/dist/scaAnalysis/ruby/index.js.map +1 -0
  178. package/dist/scaAnalysis/scaAnalysis.js +49 -51
  179. package/dist/scaAnalysis/scaAnalysis.js.map +1 -0
  180. package/dist/scan/fileUtils.js +27 -36
  181. package/dist/scan/fileUtils.js.map +1 -0
  182. package/dist/scan/formatScanOutput.js +47 -61
  183. package/dist/scan/formatScanOutput.js.map +1 -0
  184. package/dist/scan/help.js +8 -11
  185. package/dist/scan/help.js.map +1 -0
  186. package/dist/scan/models/groupedResultsModel.js +2 -5
  187. package/dist/scan/models/groupedResultsModel.js.map +1 -0
  188. package/dist/scan/models/resultContentModel.js +2 -2
  189. package/dist/scan/models/resultContentModel.js.map +1 -0
  190. package/dist/scan/models/scanResultsModel.js +2 -5
  191. package/dist/scan/models/scanResultsModel.js.map +1 -0
  192. package/dist/scan/populateProjectIdAndProjectName.js +9 -12
  193. package/dist/scan/populateProjectIdAndProjectName.js.map +1 -0
  194. package/dist/scan/saveResults.js +3 -6
  195. package/dist/scan/saveResults.js.map +1 -0
  196. package/dist/scan/scan.js +24 -31
  197. package/dist/scan/scan.js.map +1 -0
  198. package/dist/scan/scanConfig.js +14 -12
  199. package/dist/scan/scanConfig.js.map +1 -0
  200. package/dist/scan/scanController.js +17 -20
  201. package/dist/scan/scanController.js.map +1 -0
  202. package/dist/scan/scanResults.js +27 -34
  203. package/dist/scan/scanResults.js.map +1 -0
  204. package/dist/telemetry/telemetry.js +29 -59
  205. package/dist/telemetry/telemetry.js.map +1 -0
  206. package/dist/utils/capabilities.js +1 -0
  207. package/dist/utils/capabilities.js.map +1 -0
  208. package/dist/utils/commonApi.js +15 -24
  209. package/dist/utils/commonApi.js.map +1 -0
  210. package/dist/utils/filterProjectPath.js +1 -0
  211. package/dist/utils/filterProjectPath.js.map +1 -0
  212. package/dist/utils/generalAPI.js +11 -17
  213. package/dist/utils/generalAPI.js.map +1 -0
  214. package/dist/utils/getConfig.js +7 -13
  215. package/dist/utils/getConfig.js.map +1 -0
  216. package/dist/utils/oraWrapper.js +7 -14
  217. package/dist/utils/oraWrapper.js.map +1 -0
  218. package/dist/utils/paramsUtil/commandlineParams.js +2 -5
  219. package/dist/utils/paramsUtil/commandlineParams.js.map +1 -0
  220. package/dist/utils/paramsUtil/configStoreParams.js +9 -10
  221. package/dist/utils/paramsUtil/configStoreParams.js.map +1 -0
  222. package/dist/utils/paramsUtil/envVariableParams.js +2 -3
  223. package/dist/utils/paramsUtil/envVariableParams.js.map +1 -0
  224. package/dist/utils/paramsUtil/paramHandler.js +12 -13
  225. package/dist/utils/paramsUtil/paramHandler.js.map +1 -0
  226. package/dist/utils/parsedCLIOptions.js +4 -7
  227. package/dist/utils/parsedCLIOptions.js.map +1 -0
  228. package/dist/utils/requestUtils.js +7 -13
  229. package/dist/utils/requestUtils.js.map +1 -0
  230. package/dist/utils/saveFile.js +8 -11
  231. package/dist/utils/saveFile.js.map +1 -0
  232. package/dist/utils/validationCheck.js +5 -11
  233. package/dist/utils/validationCheck.js.map +1 -0
  234. package/package.json +32 -41
  235. package/.prettierignore +0 -1
  236. package/bin/contrast.js +0 -2
  237. package/dist/audit/languageAnalysisEngine/util/requestUtils.js +0 -14
  238. package/dist/lambda/__mocks__/aws.js +0 -21
  239. package/dist/lambda/__mocks__/lambdaConfig.json +0 -42
  240. package/src/audit/catalogueApplication/catalogueApplication.js +0 -51
  241. package/src/audit/languageAnalysisEngine/commonApi.js +0 -20
  242. package/src/audit/languageAnalysisEngine/filterProjectPath.js +0 -21
  243. package/src/audit/languageAnalysisEngine/getProjectRootFilenames.js +0 -36
  244. package/src/audit/languageAnalysisEngine/sendSnapshot.js +0 -57
  245. package/src/audit/languageAnalysisEngine/util/requestUtils.js +0 -17
  246. package/src/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js +0 -63
  247. package/src/audit/report/commonReportingFunctions.js +0 -412
  248. package/src/audit/report/models/reportGuidanceModel.ts +0 -5
  249. package/src/audit/report/models/reportLibraryModel.ts +0 -30
  250. package/src/audit/report/models/reportListModel.ts +0 -49
  251. package/src/audit/report/models/reportOutputModel.ts +0 -29
  252. package/src/audit/report/models/reportSeverityModel.ts +0 -18
  253. package/src/audit/report/models/severityCountModel.ts +0 -22
  254. package/src/audit/report/reportingFeature.ts +0 -110
  255. package/src/audit/report/utils/reportUtils.ts +0 -165
  256. package/src/audit/save.js +0 -67
  257. package/src/cliConstants.js +0 -523
  258. package/src/commands/audit/auditConfig.js +0 -18
  259. package/src/commands/audit/auditController.js +0 -50
  260. package/src/commands/audit/help.js +0 -72
  261. package/src/commands/audit/processAudit.js +0 -34
  262. package/src/commands/audit/saveFile.js +0 -15
  263. package/src/commands/auth/auth.js +0 -146
  264. package/src/commands/config/config.js +0 -41
  265. package/src/commands/github/fingerprintConfig.js +0 -19
  266. package/src/commands/github/processFingerprint.js +0 -37
  267. package/src/commands/github/projectGroup.js +0 -298
  268. package/src/commands/github/repoServices.js +0 -122
  269. package/src/commands/learn/learn.js +0 -10
  270. package/src/commands/learn/processLearn.js +0 -13
  271. package/src/commands/scan/processScan.js +0 -42
  272. package/src/common/HTTPClient.js +0 -775
  273. package/src/common/autoDetection.js +0 -209
  274. package/src/common/baseRequest.ts +0 -83
  275. package/src/common/commonHelp.js +0 -53
  276. package/src/common/errorHandling.js +0 -157
  277. package/src/common/fail.js +0 -79
  278. package/src/common/versionChecker.js +0 -75
  279. package/src/constants/constants.js +0 -71
  280. package/src/constants/lambda.js +0 -85
  281. package/src/constants/locales.js +0 -365
  282. package/src/index.ts +0 -142
  283. package/src/lambda/__mocks__/aws.ts +0 -32
  284. package/src/lambda/__mocks__/lambdaConfig.json +0 -42
  285. package/src/lambda/analytics.ts +0 -9
  286. package/src/lambda/arn.ts +0 -33
  287. package/src/lambda/aws.ts +0 -248
  288. package/src/lambda/cliError.ts +0 -72
  289. package/src/lambda/constants.ts +0 -11
  290. package/src/lambda/help.ts +0 -92
  291. package/src/lambda/lambda.ts +0 -230
  292. package/src/lambda/lambdaUtils.ts +0 -111
  293. package/src/lambda/logUtils.ts +0 -64
  294. package/src/lambda/scanDetailCompletion.ts +0 -78
  295. package/src/lambda/scanRequest.ts +0 -169
  296. package/src/lambda/scanResults.ts +0 -29
  297. package/src/lambda/types.ts +0 -36
  298. package/src/lambda/utils.ts +0 -188
  299. package/src/sbom/generateSbom.ts +0 -45
  300. package/src/scaAnalysis/common/auditReport.js +0 -59
  301. package/src/scaAnalysis/common/commonReportingFunctionsSca.js +0 -276
  302. package/src/scaAnalysis/common/formatMessage.js +0 -67
  303. package/src/scaAnalysis/common/models/ScaReportModel.ts +0 -81
  304. package/src/scaAnalysis/common/scaParserForGoAndJava.js +0 -41
  305. package/src/scaAnalysis/common/scaServicesUpload.js +0 -159
  306. package/src/scaAnalysis/common/treeUpload.js +0 -51
  307. package/src/scaAnalysis/common/utils/reportUtilsSca.ts +0 -123
  308. package/src/scaAnalysis/dotnet/analysis.js +0 -72
  309. package/src/scaAnalysis/dotnet/index.js +0 -11
  310. package/src/scaAnalysis/go/goAnalysis.js +0 -26
  311. package/src/scaAnalysis/go/goParseDeps.js +0 -203
  312. package/src/scaAnalysis/go/goReadDepFile.js +0 -34
  313. package/src/scaAnalysis/java/analysis.js +0 -148
  314. package/src/scaAnalysis/java/index.js +0 -29
  315. package/src/scaAnalysis/java/javaBuildDepsParser.js +0 -439
  316. package/src/scaAnalysis/javascript/analysis.js +0 -111
  317. package/src/scaAnalysis/javascript/index.js +0 -104
  318. package/src/scaAnalysis/javascript/scaServiceParser.js +0 -151
  319. package/src/scaAnalysis/legacy/legacyFlow.js +0 -43
  320. package/src/scaAnalysis/php/analysis.js +0 -78
  321. package/src/scaAnalysis/php/index.js +0 -28
  322. package/src/scaAnalysis/php/phpNewServicesMapper.js +0 -77
  323. package/src/scaAnalysis/processServicesFlow.js +0 -126
  324. package/src/scaAnalysis/python/analysis.js +0 -93
  325. package/src/scaAnalysis/python/index.js +0 -16
  326. package/src/scaAnalysis/repoMode/gradleParser.js +0 -88
  327. package/src/scaAnalysis/repoMode/index.js +0 -21
  328. package/src/scaAnalysis/repoMode/mavenParser.js +0 -138
  329. package/src/scaAnalysis/ruby/analysis.js +0 -413
  330. package/src/scaAnalysis/ruby/index.js +0 -16
  331. package/src/scaAnalysis/scaAnalysis.js +0 -172
  332. package/src/scan/fileUtils.js +0 -218
  333. package/src/scan/formatScanOutput.ts +0 -225
  334. package/src/scan/help.js +0 -56
  335. package/src/scan/models/groupedResultsModel.ts +0 -20
  336. package/src/scan/models/resultContentModel.ts +0 -86
  337. package/src/scan/models/scanResultsModel.ts +0 -55
  338. package/src/scan/populateProjectIdAndProjectName.js +0 -73
  339. package/src/scan/saveResults.js +0 -14
  340. package/src/scan/scan.ts +0 -68
  341. package/src/scan/scanConfig.js +0 -58
  342. package/src/scan/scanController.js +0 -98
  343. package/src/scan/scanResults.js +0 -171
  344. package/src/telemetry/telemetry.ts +0 -154
  345. package/src/utils/capabilities.js +0 -12
  346. package/src/utils/commonApi.js +0 -103
  347. package/src/utils/filterProjectPath.js +0 -25
  348. package/src/utils/generalAPI.js +0 -52
  349. package/src/utils/getConfig.ts +0 -34
  350. package/src/utils/oraWrapper.js +0 -29
  351. package/src/utils/paramsUtil/commandlineParams.js +0 -12
  352. package/src/utils/paramsUtil/configStoreParams.js +0 -19
  353. package/src/utils/paramsUtil/envVariableParams.js +0 -10
  354. package/src/utils/paramsUtil/paramHandler.js +0 -38
  355. package/src/utils/parsedCLIOptions.js +0 -32
  356. package/src/utils/requestUtils.js +0 -29
  357. package/src/utils/saveFile.js +0 -20
  358. package/src/utils/validationCheck.js +0 -39
@@ -1,71 +0,0 @@
1
- // Language identifiers
2
- const NODE = 'NODE'
3
- const DOTNET = 'DOTNET'
4
- const JAVA = 'JAVA'
5
- const RUBY = 'RUBY'
6
- const PYTHON = 'PYTHON'
7
- const GO = 'GO'
8
- const PHP = 'PHP'
9
- const JAVASCRIPT = 'JAVASCRIPT'
10
- // Severity
11
- const LOW = 'LOW'
12
- const MEDIUM = 'MEDIUM'
13
- const HIGH = 'HIGH'
14
- const CRITICAL = 'CRITICAL'
15
- // App
16
- const APP_NAME = 'contrast'
17
- const APP_VERSION = '2.0.2-beta.3'
18
- const TIMEOUT = 120000
19
- const HIGH_COLOUR = '#ff9900'
20
- const CRITICAL_COLOUR = '#e35858'
21
- const MEDIUM_COLOUR = '#f1c232'
22
- const LOW_COLOUR = '#b7b7b7'
23
- const NOTE_COLOUR = '#999999'
24
- const CRITICAL_PRIORITY = 1
25
- const HIGH_PRIORITY = 2
26
- const MEDIUM_PRIORITY = 3
27
- const LOW_PRIORITY = 4
28
- const NOTE_PRIORITY = 5
29
-
30
- const AUTH_UI_URL = 'https://cli-auth.contrastsecurity.com'
31
- const AUTH_CALLBACK_URL = 'https://cli-auth-api.contrastsecurity.com'
32
- const SARIF_FILE = 'SARIF'
33
- const SBOM_CYCLONE_DX_FILE = 'CYCLONEDX'
34
- const SBOM_SPDX_FILE = 'SPDX'
35
- const CE_URL = 'https://ce.contrastsecurity.com'
36
-
37
- //configuration
38
- const SAAS = 'SAAS'
39
- const EOP = 'EOP'
40
- const MODE_REPO = 'REPO'
41
-
42
- module.exports = {
43
- supportedLanguages: { NODE, DOTNET, JAVA, RUBY, PYTHON, GO, PHP, JAVASCRIPT },
44
- supportedLanguagesScan: { JAVASCRIPT, DOTNET, JAVA },
45
- LOW,
46
- MEDIUM,
47
- HIGH,
48
- CRITICAL,
49
- APP_VERSION,
50
- APP_NAME,
51
- TIMEOUT,
52
- AUTH_UI_URL,
53
- AUTH_CALLBACK_URL,
54
- SARIF_FILE,
55
- HIGH_COLOUR,
56
- CRITICAL_COLOUR,
57
- MEDIUM_COLOUR,
58
- LOW_COLOUR,
59
- NOTE_COLOUR,
60
- CE_URL,
61
- CRITICAL_PRIORITY,
62
- HIGH_PRIORITY,
63
- MEDIUM_PRIORITY,
64
- LOW_PRIORITY,
65
- NOTE_PRIORITY,
66
- SBOM_CYCLONE_DX_FILE,
67
- SBOM_SPDX_FILE,
68
- SAAS,
69
- EOP,
70
- MODE_REPO
71
- }
@@ -1,85 +0,0 @@
1
- const lambda = {
2
- failedToStartScan: 'Failed to start scan',
3
- failedToParseArn: 'Failed to parse ARN',
4
- failedToGetScan: 'Failed to get scan',
5
- missingLambdaConfig: 'Missing Lambda Configuration',
6
- missingLambdaArn: 'Missing Lambda ARN',
7
- validationFailed: 'Request validation failed',
8
- missingFunctionName:
9
- 'Required parameter --function-name is missing.\nRun command with --help to see usage',
10
- failedToGetResults: 'Failed to get results',
11
- missingResults: 'Missing vulnerabilities',
12
- awsError: 'AWS error',
13
- missingFlagArguments:
14
- 'The following flags are missing an arguments:\n{{flags}}',
15
- notSupportedFlags:
16
- 'The following flags are not supported:\n{{flags}}\nRun command with --help to see usage',
17
- layerNotFound:
18
- 'The layer {{layerArn}} could not be found. The scan will continue without it',
19
-
20
- // ====== general ===== //
21
- noVulnerabilitiesFound: '👏 No vulnerabilities found',
22
- scanCompleted: '----- Scan completed {{time}}s -----',
23
- sendingScanRequest:
24
- '{{icon}} Sending Lambda Function scan request to Contrast',
25
- scanRequestedSuccessfully: '{{icon}} Scan requested successfully',
26
- fetchingConfiguration:
27
- '{{icon}} Fetching configuration and policies for Lambda Function {{functionName}}',
28
- fetchedConfiguration: '{{icon}} Fetched configuration from AWS',
29
-
30
- // ====== scan polling ===== //
31
- scanStarted: 'Scan Started',
32
- scanFailed: 'Scan Failed',
33
- scanTimedOut: 'Scan timed out',
34
-
35
- // ====== lambda utils ===== //
36
- loadingFunctionList: 'Loading lambda function list',
37
- functionsFound: '{{count}} functions found',
38
- noFunctionsFound: 'No functions found',
39
- failedToLoadFunctions: 'Failed to load lambda functions',
40
- availableForScan: '{{icon}} {{count}} available for scan',
41
- runtimeCount: '----- {{runtime}} ({{count}}) -----',
42
-
43
- // ====== print vulnerabilities ===== //
44
- gatherResults: 'Gathering results...',
45
- doneGatherResults: 'Done gathering results',
46
- whatHappenedTitle: 'What happened:',
47
- whatHappenedItem: '{{policy}} have:\n{{comments}}\n',
48
- recommendation: 'Recommendation:',
49
- vulnerableDependency: 'Vulnerable dependency',
50
- dependenciesCount: {
51
- one: '1 Dependency',
52
- other: '%s Dependencies'
53
- },
54
- foundVulnerabilities: {
55
- one: 'Found 1 vulnerability',
56
- other: 'Found %s vulnerabilities'
57
- },
58
- vulnerableDependencyDescriptions:
59
- '{packageName} (v{version}) has {NUM} known {NUM, plural,one{CVE}other{CVEs}}\n {cves}',
60
-
61
- // ====== errorCodes ===== //
62
- something_went_wrong: 'Something went wrong',
63
- not_found_404: '404 error - Not found',
64
- internal_error: 'Internal error',
65
- inactive_account:
66
- 'Scanning a function of an inactive account is not supported',
67
- not_supported_runtime:
68
- 'Scanning resource of runtime "{{runtime}}" is not supported.\nSupported runtimes: {{supportedRuntimes}}',
69
- not_supported_lambda: 'This function cannot be scanned',
70
- not_supported_onboard_account:
71
- 'Scanning a function of onboard account is not supported',
72
- scan_lock:
73
- 'Other scan is still running. Please wait until the previous scan finishes',
74
-
75
- // ====== statuses ===== //
76
- unsupported: 'unsupported',
77
- excluded: 'excluded',
78
- canceled: 'canceled',
79
- failed: 'failed',
80
- dismissed: 'dismissed'
81
- }
82
-
83
- module.exports = {
84
- lambda
85
- }
@@ -1,365 +0,0 @@
1
- const { lambda } = require('./lambda')
2
- const chalk = require('chalk')
3
- const { APP_VERSION } = require('./constants')
4
-
5
- const en_locales = () => {
6
- return {
7
- snapshotFailureHeader: 'FAIL',
8
- snapshotFailureMessage: 'Library analysis failed',
9
- vulnerabilitiesFailureMessage: 'Unable to retrieve library vulnerabilities',
10
- dependenciesNote:
11
- 'Please Note: We currently only support projects with one .csproj AND *.package.lock.json',
12
- libraryAnalysisError:
13
- 'Please ensure the language parameter is set in accordance to the language specified on the project path.\nContrast CLI must be run in the same directory as the project manifest file OR the project_path parameter must be used to identify the directory containing the project manifest file.\n\nFor further information please read our usage guide, which can be accessed with the following command:\n\ncontrast-cli --help',
14
- genericErrorMessage:
15
- 'An error has occur please check your command again. For more information use the --help commands.',
16
- unauthenticatedErrorHeader: '401 error - Unauthenticated',
17
- unauthenticatedErrorMessage:
18
- 'Please check the following keys are correct:\n--organization-id, --api-key or --authorization',
19
- badRequestErrorHeader: '400 error - Bad Request',
20
- badRequestErrorMessage: 'Please check your parameters and try again',
21
- badRequestCatalogueErrorMessage:
22
- 'The application name already exists, please use a unique name',
23
- forbiddenRequestErrorHeader: '403 error - Forbidden',
24
- forbiddenRequestErrorMessage:
25
- 'You do not have permission to access this server.',
26
- proxyErrorHeader: '407 error - Proxy Authentication Required',
27
- proxyErrorMessage:
28
- 'Please provide valid authentication credentials for the proxy server.',
29
- javaParseProjectFile: 'Failed to parse mvn output because: ',
30
- languageAnalysisHasNoLockFile:
31
- "Identified project language as '%s' but no project lock file was found.",
32
- languageAnalysisHasNoPackageJsonFile:
33
- 'Identified project language as javascript but no package.json file was found.',
34
- languageAnalysisHasMultipleLockFiles:
35
- "Identified project language as '%s' but multiple project lock files were found.",
36
- languageAnalysisProjectFileError:
37
- "Identified project language as '%s' but no project file was found.",
38
- languageAnalysisProjectRootFileNameFailure:
39
- 'Failed to get information about the file or directory @ %s because: ',
40
- languageAnalysisNoLanguage:
41
- 'We cannot detect a project, use -f <path> to specify a file or folder to analyze.',
42
- languageAnalysisNoLanguageHelpLine: `${chalk.bold(
43
- 'contrast audit --help'
44
- )} for more information.`,
45
- NodeParseNPM: 'Failed to parse NODE package-lock.json file because: ',
46
- phpParseComposerLock:
47
- "Failed to parse PHP composer.lock file @ '%s' because: ",
48
- NodeParseYarn: 'Failed to parse yarn.lock version %s because: ',
49
- NodeParseYarn2: "Failed to parse Node yarn.lock version 2 @ '%s' because: ",
50
- nodeReadYarnLockFileError:
51
- 'Failed to read the yarn.lock file @ "%s" because: ',
52
- constantsOptional: '(optional)',
53
- constantsRequired: '(required)',
54
- constantsRequiredEnterprise: '(required for Contrast Enterprise)',
55
- constantsApiKey: 'An agent API key as provided by Contrast UI',
56
- constantsAuthorization:
57
- 'An authorization header as provided by Contrast UI',
58
- constantsOrganizationId:
59
- 'The ID of your organization as provided by Contrast UI',
60
- constantsApplicationId:
61
- 'The ID of the application as provided by Contrast UI',
62
- constantsHostId: 'host name e.g. https://app.contrastsecurity.com',
63
- constantsApplicationName:
64
- 'The name of the application as provided by Contrast UI',
65
- failOptionErrorMessage:
66
- ' FAIL - CVEs have been detected that match at least the cve_severity option specified.',
67
- failOptionMessage:
68
- ' Use with contrast scan or contrast audit. Detects failures based on the severity level specified with the --severity command. For example, "contrast scan --fail --severity high". Returns all failures if no severity level is specified.',
69
- constantsFilePath: `Specify a directory or the file where dependencies are declared. (By default, CodeSec will search for project files in the current directory.)`,
70
- constantsAppGroups:
71
- 'Assign your application to one or more pre-existing groups when on boarding an application. Group lists should be comma separated.',
72
- constantsProxyServer:
73
- 'Allows for connection via a proxy server. If authentication is required please provide the username and password with the protocol, host and port. For instance: "https://username:password@<host>:<port>".',
74
- constantsGradleMultiProject:
75
- 'Specify the sub project within your gradle application.',
76
- constantsDoNotWaitForScan:
77
- 'Fire and forget. Do not wait for the result of the scan.',
78
- constantsProjectName:
79
- 'Contrast project name. If not specified, Contrast uses the file / folder name to identify the project or creates a new project.',
80
- constantsProjectId:
81
- 'The ID associated with a scan project. Replace <ProjectID> with the ID for the scan project. To find the ID, select a scan project in Contrast and locate the last number in the URL.',
82
- failThresholdOptionErrorMessage: 'More than 0 vulnerabilities found',
83
- failSeverityOptionErrorMessage:
84
- ' FAIL - Results detected vulnerabilities over accepted severity level',
85
- constantsSeverity:
86
- 'Use with "contrast scan --fail --severity high" or "contrast audit --fail --severity high". Set the severity level to detect vulnerabilities or dependencies. Severity levels are critical, high, medium, low or note.',
87
- constantsHeader: `Contrast CLI @ v${APP_VERSION}`,
88
- configHeader2: 'Config options',
89
- clearHeader: '-c, --clear',
90
- clearContent: 'Removes stored credentials',
91
- constantsPrerequisitesContentScanLanguages:
92
- 'Java, Javascript and .NET supported',
93
- constantsContrastContent:
94
- 'Use the ‘contrast’ command for fast and accurate security analysis of your applications, APIs, serverless functions, and libraries.',
95
- constantsContrastCategories:
96
- '\n Code: Java, .NET, .NET Core, JavaScript\n Serverless: AWS Lambda - Java, Python\n Libraries: Java, .NET, Node, Ruby, Python, Go, PHP\n',
97
- constantsPrerequisitesHeader: 'Pre-requisites',
98
- constantsAuthUsageHeader: 'Usage',
99
- constantsAuthUsageContents: 'contrast auth',
100
- constantsAuthHeaderContents:
101
- 'Authorize with external identity provider to perform scans on code',
102
- configHeader: 'Config',
103
- constantsConfigUsageContents: 'view / clear the configuration',
104
- constantsPrerequisitesContent:
105
- 'To scan a Java project you will need a .jar or .war file for analysis\n' +
106
- 'To scan a Javascript project you will need a single .js or a .zip of multiple .js files\n' +
107
- 'To scan a .NET c# webforms project you will need a .exe or a .zip file for analysis\n',
108
- constantsUsage: 'Usage',
109
- constantsUsageCommandExample: 'contrast [command] [options]',
110
- constantsUsageCommandInfo:
111
- 'The file argument is optional. If no file is given, Contrast will search for a .jar, .war, .exe or .zip file in the working directory.\n',
112
- constantsUsageCommandInfo24Hours:
113
- 'Submitted files are encrypted during upload and deleted in 24 hours.',
114
- constantsHowToRunDev3:
115
- 'Allowable languages are java (.jar and .war) and javascript (.js or .zip), if the language is not autodetected please use --language to specify',
116
- constantsOptions: 'Options',
117
- constantsProxyKey: 'Path to the Certificate Key',
118
- constantsProxyCert: 'Path to the Cert file',
119
- constantsProxyCaCert: 'Path to the CaCert file',
120
- goReadProjectFile: 'Failed to read the project file @ "%s" because: "%s"',
121
- mavenDependencyTreeNonZero:
122
- 'Building maven dependency tree failed with a non 0 exit code',
123
- gradleWrapperUnavailable:
124
- 'Gradle wrapper not found in root of project. Please ensure gradlew or gradlew.bat is in root of the project.',
125
- gradleDependencyTreeNonZero:
126
- "Building gradle dependency tree failed with a non 0 exit code. \n Please check you have the correct version of Java installed to compile your project? \n If running against a muti module project ensure you are using the '--sub-project' flag",
127
- constantsMetadata:
128
- 'Define a set of key=value pairs (which conforms to RFC 2253) for specifying user-defined metadata associated with the application.',
129
- constantsTags:
130
- 'Apply labels to an application. Labels must be formatted as a comma-delimited list. Example - label1,label2,label3',
131
- constantsCode:
132
- 'Add the application code this application should use in the Contrast UI',
133
- constantsMavenSettingsPath: 'Path to maven settings',
134
- constantsCertSelfSigned:
135
- 'For EOP users with a local Teamserver install, this will bypass the SSL certificate and recognise a self signed certificate.',
136
- constantsSave: 'Saves the Scan Results SARIF to file.',
137
- scanLabel:
138
- "adds a label to the scan - defaults to 'Started by CLI tool at current date'",
139
- constantsIgnoreDev:
140
- 'Excludes developer dependencies from the results. All dependencies are included by default.',
141
- constantsCommands: 'Commands',
142
- constantsScanOptions: 'Scan Options',
143
- constantsAdvancedOptions: 'Advanced',
144
- foundExistingProjectScan: 'Found existing project...',
145
- projectCreatedScan: 'Project created',
146
- uploadingScan: 'Uploading file to scan.',
147
- uploadingScanSuccessful: 'Uploaded file successfully.',
148
- uploadingScanFail: 'Unable to upload the file.',
149
- waitingTimedOut: 'Timed out.',
150
- responseMessage: 'Response: %s',
151
- searchingDirectoryScan: 'Searched 3 directory levels & found: ',
152
- noFileFoundScan:
153
- "We couldn't find a suitable file in your directories (we go 3 deep)",
154
- specifyFileScanError:
155
- 'Java Scan requires a .war or .jar file. Javascript Scan requires a .js or .zip file.\nTo start a Scan enter "contrast scan -f <path-to-file>"',
156
- specifyFileAuditNotFound: 'No files found for library analysis',
157
- populateProjectIdMessage: 'project ID is %s',
158
- genericServiceError: 'returned with status code %s',
159
- permissionsError:
160
- 'You do not have the correct permissions here. \n Contact support@contrastsecurity.com to get this fixed.',
161
- scanErrorFileMessage:
162
- 'We only accept the following file types: \nJava - .jar, .war \nJavaScript - .js or .zip files',
163
- helpAuthSummary:
164
- 'Authenticate Contrast using your Github or Google account OR include credentials if you are an existing licensed Contrast user.',
165
- helpAuditSummary:
166
- 'Searches for a suitable file in the working directory to perform a security audit of dependencies and returns the results. \n[audit --help for options] Java, .NET, Node, Ruby, Python, Go, PHP are supported. ',
167
- helpScanSummary:
168
- 'Searches for a .jar, .war, .js, or .zip file in the working directory, uploads files for analysis, and returns the results. \n[scan --help for options] Java, .NET, .NET Core, JavaScript are supported. ',
169
- helpLambdaSummary:
170
- 'Performs a static security scan on an AWS lambda function. [lambda --help for options] AWS Lambda - Java & Python are supported. ',
171
- helpVersionSummary: 'Displays version of Contrast CLI',
172
- helpConfigSummary: 'Displays stored credentials',
173
- helpSummary: 'Displays usage guide',
174
- authName: 'auth',
175
- auditName: 'audit',
176
- scanName: 'scan',
177
- lambdaName: 'lambda',
178
- versionName: 'version',
179
- configName: 'config',
180
- helpName: 'help',
181
- learnName: 'learn',
182
- helpLearnSummary: 'Launches Contrast’s Secure Code Learning Hub.',
183
- fingerprintName:
184
- 'assess repo to see how many languages it can detect. For use in pipeline only.',
185
- depthOption:
186
- 'can set how deep in the file system the cli looks for language files',
187
- scanOptionsLanguageSummary: 'Valid values are JAVA, JAVASCRIPT and DOTNET',
188
- scanOptionsTimeoutSummary:
189
- 'Time in seconds to wait for scan to complete. Default value is 300 seconds.',
190
- scanOptionsFileNameSummary:
191
- 'Path of the file you want to scan. If no file is specified, Contrast searches for a .jar, .war, .exe or .zip file in the working directory.',
192
- scanOptionsVerboseSummary: ' Returns extended information to the terminal.',
193
- auditOptionsTrackSummary:
194
- ' Send your dependency audit to Contrast to see results in the UI and start automating security checks. For instance when running local SCA checks you may not need or want to track the results.',
195
- auditOptionsBranchSummary:
196
- ' Set the branch name to associate the library results to.',
197
- auditOptionsLegacySummary:
198
- ' Creates an application in Contrast (a legacy workflow) - displays a dependency tree for your piece of code, utilizes metatdata.' +
199
- '\n' +
200
- '.NET is only supported using --legacy\n',
201
- auditOptionsRepoSummary: ' Run in repo mode.',
202
- authSuccessMessage: 'Authentication successful',
203
- runAuthSuccessMessage:
204
- chalk.bold('CodeSec by Contrast') +
205
- '\nScan, secure and ship your code in minutes for FREE. \n' +
206
- chalk.bold('\nRun\n') +
207
- chalk.bold('\ncontrast scan') +
208
- " to run Contrast's industry leading SAST scanner. \nSupports Java, JavaScript and .Net \n" +
209
- chalk.bold('\ncontrast audit') +
210
- ' to find vulnerabilities in your open source dependencies.' +
211
- '\nSupports Java, .NET, Node, Ruby, Python, Go and PHP.' +
212
- '\n\nOur CLI runs native build tools to generate a complete dependency tree.' +
213
- '\nIf you are running on untrusted code, consider running in a sandbox.\n' +
214
- chalk.bold('\ncontrast lambda') +
215
- ' to secure your AWS serverless functions. \nSupports Java and Python \n' +
216
- chalk.bold('\ncontrast help') +
217
- ' to learn more about the capabilities.',
218
- authWaitingMessage: 'Waiting for auth...',
219
- authTimedOutMessage: 'Auth Timed out, try again',
220
- foundScanFile: 'Found: %s',
221
- foundDetailedVulnerabilities:
222
- chalk.bold('%s') + ' | ' + chalk.bold('%s') + ' | %s | %s | %s ',
223
- searchingScanFileDirectory: 'Searching for file to scan from %s...',
224
- searchingAuditFileDirectory:
225
- 'Searching for package manager files from %s...',
226
- scanHeader: `Contrast Scan CLI`,
227
- authHeader: 'Auth',
228
- lambdaHeader: 'Contrast Lambda CLI',
229
- lambdaSummary:
230
- 'Performs static security scan on an AWS Lambda Function.\nProduces CVE (Vulnerable Dependencies) and Least Privilege violations/remediation results.',
231
- lambdaUsage: 'contrast lambda --function-name <function> [options]',
232
- lambdaPrerequisitesContentLambdaLanguages:
233
- 'Supported runtimes: Java & Python',
234
- lambdaPrerequisitesContentLambdaDescriptionTitle: 'AWS Requirements\n',
235
- lambdaPrerequisitesContentLambdaDescription:
236
- 'Make sure you have the AWS credentials configured on your local environment. \nYou need the following AWS permissions configured on your IAM user:\n - Lambda: GetFunction, GetLayerVersion, ListFunctions\n - IAM: GetRolePolicy, GetPolicy, GetPolicyVersion, ListRolePolicies, ListAttachedRolePolicies',
237
- lambdaFunctionNameOption: '-f, --function-name',
238
- lambdaListFunctionsOption: '-l, --list-functions',
239
- lambdaEndpointOption: '-e, --endpoint-url',
240
- lambdaRegionOption: '-r, --region',
241
- lambdaProfileOption: '-p, --profile',
242
- lambdaJsonOption: '-j, --json-output',
243
- lambdaVerboseOption: '-v, --verbose',
244
- lambdaHelpOption: '-h, --help',
245
- lambdaFunctionNameSummery: 'Name of AWS lambda function to scan.',
246
- lambdaListFunctionsSummery: 'List all available lambda functions to scan.',
247
- lambdaEndpointSummery: 'AWS Endpoint override, works like in AWS CLI.',
248
- lambdaRegionSummery:
249
- 'Region override, default to AWS_DEAFAULT_REGION env var, works like in AWS CLI.',
250
- lambdaProfileSummery:
251
- 'AWS configuration profile override, works like in AWS CLI.',
252
- lambdaJsonSummery:
253
- 'Return response in JSON (versus default human readable format).',
254
- lambdaVerbosSummery: 'Returns extended information to the terminal.',
255
- configNotFound:
256
- 'Configuration details not found. Try authenticating by using ‘contrast auth’.',
257
- redirectAuth:
258
- '\nOpening the authentication page in your web browser.\nSign in and complete the steps.\nReturn here to start using Contrast.\n\nIf your browser has trouble loading, try this:\n%s \n',
259
- fileNotExist: 'File specified does not exist, please check and try again.',
260
- scanFileIsEmpty: 'File specified is empty. Please choose another.',
261
- fileHasWhiteSpacesError:
262
- 'File cannot have spaces, please rename or choose another file to Scan.',
263
- connectionError:
264
- 'An error has occurred when trying to get the Project Id please check your internet connection or provide the Project Id manually',
265
- internalServerErrorHeader: '500 error - Internal server error',
266
- resourceLockedErrorHeader: '423 error - Resource is locked',
267
- auditHeader: 'Contrast Audit CLI',
268
- auditHeaderMessage:
269
- "Use 'contrast audit' to analyze a project’s dependencies for vulnerabilities.",
270
- constantsAuditPrerequisitesContentSupportedLanguages:
271
- 'Supported languages and their requirements are:',
272
- constantsAuditPrerequisitesJavaContentMessage: `
273
- ${chalk.bold('Java:')} pom.xml ${chalk.bold(
274
- 'and'
275
- )} Maven build platform including the dependency plugin.
276
- ${chalk.bold('Or')} build.gradle ${chalk.bold(
277
- 'and'
278
- )} gradle dependencies or ./gradlew dependencies must be supported
279
- If you are running on untrusted code, consider running in a sandbox.`,
280
- constantsAuditPrerequisitesContentDotNetMessage: `
281
- ${chalk.bold(
282
- '.NET framework and .NET core:'
283
- )} MSBuild 15.0 or greater and a packages.lock.json file.
284
- Note: If the packages.lock.json file is unavailable it can be generated by setting RestorePackagesWithLockFile to true within each *.csproj file and running dotnet build. Only supported with the --legacy flag, an older workflow\n`,
285
- constantsAuditPrerequisitesContentNodeMessage: `${chalk.bold(
286
- 'Node:'
287
- )} package.json and a lock file (either .package-lock.json or .yarn.lock.)\n`,
288
- constantsAuditPrerequisitesContentRubyMessage: `${chalk.bold(
289
- 'Ruby:'
290
- )} gemfile and gemfile.lock\n`,
291
- constantsAuditPrerequisitesContentPythonMessage: `${chalk.bold(
292
- 'Python:'
293
- )} pipfile and pipfile.lock\n`,
294
- constantsAuditPrerequisitesContentGoMessage: `${chalk.bold(
295
- 'Go:'
296
- )} go.mod\n`,
297
- constantsAuditPrerequisitesContentPHPMessage: `${chalk.bold(
298
- 'PHP:'
299
- )} composer.json and composer.lock\n`,
300
- constantsAuditOptions: 'Audit Options',
301
- auditOptionsSaveDescription:
302
- 'Generate and save an SBOM (Software Bill of Materials)\n',
303
- auditOptionsSaveOptionsDescription:
304
- 'Valid options are: --save spdx and --save cyclonedx (CycloneDX is the default format.)',
305
- exceededFreeTier: `It looks like you are really loving CodeSec! \nYou have reached the monthly scan limit on the FREE tier. \nPlease contact sales@contrastsecurity.com to upgrade.`,
306
- scanNotCompleted:
307
- 'Scan not completed. Check for framework and language support here: %s',
308
- auditNotCompleted: 'audit not completed. Please try again',
309
- scanNoVulnerabilitiesFound: '🎉 No vulnerabilities found.',
310
- scanNoVulnerabilitiesFoundSecureCode: '👍 Your code looks secure.',
311
- scanNoVulnerabilitiesFoundGoodWork: ' Keep up the good work.',
312
- scanNoFiletypeSpecifiedForSave:
313
- 'Please specify file type to save results to, accepted value is SARIF',
314
- auditSBOMSaveSuccess:
315
- '\n Software Bill of Materials (SBOM) saved successfully',
316
- auditBadFiletypeSpecifiedForSave: `\n ${chalk.yellow.bold(
317
- 'Bad file type specified for --save option. Use audit --help to see valid --save options.'
318
- )}`,
319
- auditServicesMessageForTS:
320
- 'View your vulnerable library list or full dependency tree in Contrast:',
321
- auditReportFailureMessage: 'Unable to generate library report',
322
- auditSCAAnalysisBegins: 'Contrast SCA audit started',
323
- auditSCAAnalysisComplete: 'Contrast audit complete',
324
- commonHelpHeader: 'Need More Help? NEW users',
325
- commonHelpEnterpriseHeader: 'Existing Contrast Licensed user?',
326
- commonHelpCheckOutHeader: chalk.hex('#9DC184')('Check out:'),
327
- commonHelpCheckOutText: ' https://support.contrastsecurity.com',
328
- commonHelpLearnMoreHeader: chalk.hex('#9DC184')('Learn more at:'),
329
- commonHelpLearnMoreEnterpriseHeader: chalk.hex('#9DC184')('Read our docs:'),
330
- commonHelpLearnMoreText: ' https://www.contrastsecurity.com/developer ',
331
- commonHelpLearnMoreEnterpriseText:
332
- ' https://docs.contrastsecurity.com/en/run-contrast-cli.html ',
333
- commonHelpJoinDiscussionHeader: chalk.hex('#9DC184')(
334
- 'Join the discussion:'
335
- ),
336
- commonHelpJoinDiscussionText:
337
- ' https://www.contrastsecurity.com/developer/community',
338
- commonHelpLearnHeader:
339
- chalk.hex('#ffe599')('\r Want to UP your game?') +
340
- " type 'contrast learn'",
341
- commonHelpLearnText: `\n💰 Advance your security knowledge and become an ${chalk.hex(
342
- '#ffd966'
343
- )('All-star coder')} ⭐ with ${chalk.bold(
344
- 'Contrast Secure Code Learning Hub.'
345
- )} 😺`,
346
- authCommand: {
347
- credentialsAccepted: {
348
- title: '✔ Credentials successfully saved',
349
- body: `\n${chalk.bold('Contrast CLI')}`,
350
- extra: 'Scan, secure and ship your code in minutes.'
351
- },
352
- credentialsMissing: {
353
- title: 'Credentials missing',
354
- body: 'You have not entered the right parameters or enough information',
355
- extra:
356
- 'Please check and try again e.g. contrast auth --api-key yourApiKey--organization-id yourOrg --authorization yourAuth --host https://yourHost\nOr contrast help for full list of commands'
357
- }
358
- },
359
- ...lambda
360
- }
361
- }
362
-
363
- module.exports = {
364
- en_locales
365
- }
package/src/index.ts DELETED
@@ -1,142 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import commandLineArgs from 'command-line-args'
4
- import { processAudit } from './commands/audit/processAudit'
5
- import { processAuth } from './commands/auth/auth'
6
- import { processConfig } from './commands/config/config'
7
- import { processScan } from './commands/scan/processScan'
8
- import constants from './cliConstants'
9
- import { APP_NAME, APP_VERSION } from './constants/constants'
10
- import { processLambda } from './lambda/lambda'
11
- import { localConfig } from './utils/getConfig'
12
- import {
13
- findLatestCLIVersion,
14
- isCorrectNodeVersion
15
- } from './common/versionChecker'
16
- import { findCommandOnError } from './common/errorHandling'
17
- import { sendTelemetryConfigAsConfObj } from './telemetry/telemetry'
18
- import { processLearn } from './commands/learn/processLearn'
19
- import { processFingerprint } from './commands/github/processFingerprint'
20
- const {
21
- commandLineDefinitions: { mainUsageGuide, mainDefinition }
22
- } = constants
23
-
24
- const config = localConfig(APP_NAME, APP_VERSION)
25
-
26
- const getMainOption = () => {
27
- const mainOptions = commandLineArgs(mainDefinition, {
28
- stopAtFirstUnknown: true,
29
- camelCase: true,
30
- caseInsensitive: true
31
- })
32
- const argv = mainOptions._unknown || []
33
-
34
- return {
35
- mainOptions,
36
- argv
37
- }
38
- }
39
-
40
- const start = async () => {
41
- try {
42
- if (await isCorrectNodeVersion(process.version)) {
43
- const { mainOptions, argv: argvMain } = getMainOption()
44
- const command =
45
- mainOptions.command != undefined
46
- ? mainOptions.command.toLowerCase()
47
- : ''
48
- if (
49
- command === 'version' ||
50
- argvMain.includes('--v') ||
51
- argvMain.includes('--version')
52
- ) {
53
- console.log(APP_VERSION)
54
- await findLatestCLIVersion(config)
55
- return
56
- }
57
-
58
- // @ts-ignore
59
- config.set('numOfRuns', config.get('numOfRuns') + 1)
60
-
61
- // @ts-ignore
62
- if (config.get('numOfRuns') >= 10) {
63
- await findLatestCLIVersion(config)
64
- config.set('numOfRuns', 0)
65
- }
66
-
67
- if (command === 'config') {
68
- return processConfig(argvMain, config)
69
- }
70
-
71
- if (command === 'auth') {
72
- return await processAuth(argvMain, config)
73
- }
74
-
75
- if (command === 'lambda') {
76
- return await processLambda(argvMain)
77
- }
78
-
79
- if (command === 'scan') {
80
- return await processScan(config, argvMain)
81
- }
82
-
83
- if (command === 'audit') {
84
- return await processAudit(config, argvMain)
85
- }
86
-
87
- if (command === 'fingerprint') {
88
- return await processFingerprint(config, argvMain)
89
- }
90
-
91
- if (command === 'learn') {
92
- return processLearn()
93
- }
94
-
95
- if (
96
- command === 'help' ||
97
- argvMain.includes('--help') ||
98
- Object.keys(mainOptions).length === 0
99
- ) {
100
- console.log(mainUsageGuide)
101
- } else if (mainOptions._unknown !== undefined) {
102
- const foundCommand = findCommandOnError(mainOptions._unknown)
103
-
104
- foundCommand
105
- ? console.log(
106
- `Unknown Command: Did you mean "${foundCommand}"? \nUse "${foundCommand} --help" for the full list of options`
107
- )
108
- : console.log(`\nUnknown Command: ${command} \n`)
109
- console.log(mainUsageGuide)
110
- await sendTelemetryConfigAsConfObj(
111
- config,
112
- command,
113
- argvMain,
114
- 'FAILURE',
115
- 'undefined'
116
- )
117
- } else {
118
- console.log(`\nUnknown Command: ${command}\n`)
119
- console.log(mainUsageGuide)
120
- await sendTelemetryConfigAsConfObj(
121
- config,
122
- command,
123
- argvMain,
124
- 'FAILURE',
125
- 'undefined'
126
- )
127
- }
128
- process.exit(9)
129
- } else {
130
- console.log(
131
- 'Contrast supports Node versions >=16.13.2 <17. Please use one of those versions.'
132
- )
133
- process.exit(9)
134
- }
135
- } catch (err: any) {
136
- console.log()
137
- console.log(err.message.toString())
138
- process.exit(1)
139
- }
140
- }
141
-
142
- start()