@contrast/contrast 2.0.2-beta.1 → 2.0.2-beta.11

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 (397) hide show
  1. package/README.md +2 -1
  2. package/dist/assess/assessConfig.js +9 -0
  3. package/dist/assess/assessConfig.js.map +1 -0
  4. package/dist/assess/help.js +36 -0
  5. package/dist/assess/help.js.map +1 -0
  6. package/dist/assess/http/index.js +39 -0
  7. package/dist/assess/http/index.js.map +1 -0
  8. package/dist/assess/index.js +69 -0
  9. package/dist/assess/index.js.map +1 -0
  10. package/dist/assess/metadata/findYamlFile.js +59 -0
  11. package/dist/assess/metadata/findYamlFile.js.map +1 -0
  12. package/dist/assess/metadata/index.js +37 -0
  13. package/dist/assess/metadata/index.js.map +1 -0
  14. package/dist/assess/metadata/utils.js +159 -0
  15. package/dist/assess/metadata/utils.js.map +1 -0
  16. package/dist/assess/printing/index.js +11 -0
  17. package/dist/assess/printing/index.js.map +1 -0
  18. package/dist/assess/printing/utils.js +119 -0
  19. package/dist/assess/printing/utils.js.map +1 -0
  20. package/dist/audit/auditConfig.js +9 -0
  21. package/dist/audit/auditConfig.js.map +1 -0
  22. package/dist/{commands/audit → audit}/auditController.js +12 -15
  23. package/dist/audit/auditController.js.map +1 -0
  24. package/dist/audit/auditRequests.js +178 -0
  25. package/dist/audit/auditRequests.js.map +1 -0
  26. package/dist/audit/auditRequestsLegacy.js +63 -0
  27. package/dist/audit/auditRequestsLegacy.js.map +1 -0
  28. package/dist/audit/catalogueApplication/catalogueApplication.js +16 -29
  29. package/dist/audit/catalogueApplication/catalogueApplication.js.map +1 -0
  30. package/dist/audit/help.js +67 -0
  31. package/dist/audit/help.js.map +1 -0
  32. package/dist/audit/languageAnalysisEngine/commonApi.js +12 -14
  33. package/dist/audit/languageAnalysisEngine/commonApi.js.map +1 -0
  34. package/dist/audit/languageAnalysisEngine/filterProjectPath.js +2 -1
  35. package/dist/audit/languageAnalysisEngine/filterProjectPath.js.map +1 -0
  36. package/dist/audit/languageAnalysisEngine/getProjectRootFilenames.js +9 -12
  37. package/dist/audit/languageAnalysisEngine/getProjectRootFilenames.js.map +1 -0
  38. package/dist/audit/languageAnalysisEngine/sendSnapshot.js +21 -32
  39. package/dist/audit/languageAnalysisEngine/sendSnapshot.js.map +1 -0
  40. package/dist/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js +9 -9
  41. package/dist/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js.map +1 -0
  42. package/dist/audit/processAudit.js +22 -0
  43. package/dist/audit/processAudit.js.map +1 -0
  44. package/dist/audit/report/commonReportingFunctions.js +51 -77
  45. package/dist/audit/report/commonReportingFunctions.js.map +1 -0
  46. package/dist/audit/report/models/reportGuidanceModel.js +2 -5
  47. package/dist/audit/report/models/reportGuidanceModel.js.map +1 -0
  48. package/dist/audit/report/models/reportLibraryModel.js +3 -7
  49. package/dist/audit/report/models/reportLibraryModel.js.map +1 -0
  50. package/dist/audit/report/models/reportListModel.js +4 -9
  51. package/dist/audit/report/models/reportListModel.js.map +1 -0
  52. package/dist/audit/report/models/reportOutputModel.js +4 -9
  53. package/dist/audit/report/models/reportOutputModel.js.map +1 -0
  54. package/dist/audit/report/models/reportSeverityModel.js +2 -5
  55. package/dist/audit/report/models/reportSeverityModel.js.map +1 -0
  56. package/dist/audit/report/models/severityCountModel.js +3 -5
  57. package/dist/audit/report/models/severityCountModel.js.map +1 -0
  58. package/dist/audit/report/reportingFeature.js +30 -57
  59. package/dist/audit/report/reportingFeature.js.map +1 -0
  60. package/dist/audit/report/utils/reportUtils.js +28 -59
  61. package/dist/audit/report/utils/reportUtils.js.map +1 -0
  62. package/dist/audit/save.js +18 -19
  63. package/dist/audit/save.js.map +1 -0
  64. package/dist/{commands/audit → audit}/saveFile.js +3 -6
  65. package/dist/audit/saveFile.js.map +1 -0
  66. package/dist/auth/auth.js +103 -0
  67. package/dist/auth/auth.js.map +1 -0
  68. package/dist/auth/authRequests.js +18 -0
  69. package/dist/auth/authRequests.js.map +1 -0
  70. package/dist/cliConstants.js +57 -37
  71. package/dist/cliConstants.js.map +1 -0
  72. package/dist/commands/config/config.js +12 -13
  73. package/dist/commands/config/config.js.map +1 -0
  74. package/dist/commands/learn/learn.js +3 -6
  75. package/dist/commands/learn/learn.js.map +1 -0
  76. package/dist/commands/learn/processLearn.js +3 -6
  77. package/dist/commands/learn/processLearn.js.map +1 -0
  78. package/dist/common/HTTPClient.js +200 -101
  79. package/dist/common/HTTPClient.js.map +1 -0
  80. package/dist/{scan → common}/autoDetection.js +53 -36
  81. package/dist/common/autoDetection.js.map +1 -0
  82. package/dist/common/baseRequest.js +59 -23
  83. package/dist/common/baseRequest.js.map +1 -0
  84. package/dist/common/commonHelp.js +13 -13
  85. package/dist/common/commonHelp.js.map +1 -0
  86. package/dist/common/errorHandling.js +49 -63
  87. package/dist/common/errorHandling.js.map +1 -0
  88. package/dist/common/fail.js +6 -12
  89. package/dist/common/fail.js.map +1 -0
  90. package/dist/common/logging.js +26 -0
  91. package/dist/common/logging.js.map +1 -0
  92. package/dist/common/stringManipulations.js +8 -0
  93. package/dist/common/stringManipulations.js.map +1 -0
  94. package/dist/common/versionChecker.js +16 -19
  95. package/dist/common/versionChecker.js.map +1 -0
  96. package/dist/constants/constants.js +46 -65
  97. package/dist/constants/constants.js.map +1 -0
  98. package/dist/constants/lambda.js +8 -5
  99. package/dist/constants/lambda.js.map +1 -0
  100. package/dist/constants/locales.js +15 -10
  101. package/dist/constants/locales.js.map +1 -0
  102. package/dist/github/fingerprintConfig.js +10 -0
  103. package/dist/github/fingerprintConfig.js.map +1 -0
  104. package/dist/github/processFingerprint.js +26 -0
  105. package/dist/github/processFingerprint.js.map +1 -0
  106. package/dist/github/projectGroup.js +202 -0
  107. package/dist/github/projectGroup.js.map +1 -0
  108. package/dist/github/repoServices.js +73 -0
  109. package/dist/github/repoServices.js.map +1 -0
  110. package/dist/index.js +42 -39
  111. package/dist/index.js.map +1 -0
  112. package/dist/lambda/analytics.js +6 -9
  113. package/dist/lambda/analytics.js.map +1 -0
  114. package/dist/lambda/arn.js +6 -9
  115. package/dist/lambda/arn.js.map +1 -0
  116. package/dist/lambda/aws.js +29 -34
  117. package/dist/lambda/aws.js.map +1 -0
  118. package/dist/lambda/cliError.js +13 -41
  119. package/dist/lambda/cliError.js.map +1 -0
  120. package/dist/lambda/constants.js +3 -4
  121. package/dist/lambda/constants.js.map +1 -0
  122. package/dist/lambda/help.js +39 -44
  123. package/dist/lambda/help.js.map +1 -0
  124. package/dist/lambda/lambda.js +61 -65
  125. package/dist/lambda/lambda.js.map +1 -0
  126. package/dist/lambda/lambdaUtils.js +38 -32
  127. package/dist/lambda/lambdaUtils.js.map +1 -0
  128. package/dist/lambda/logUtils.js +21 -17
  129. package/dist/lambda/logUtils.js.map +1 -0
  130. package/dist/lambda/scanDetailCompletion.js +19 -25
  131. package/dist/lambda/scanDetailCompletion.js.map +1 -0
  132. package/dist/lambda/scanRequest.js +34 -41
  133. package/dist/lambda/scanRequest.js.map +1 -0
  134. package/dist/lambda/scanResults.js +8 -10
  135. package/dist/lambda/scanResults.js.map +1 -0
  136. package/dist/lambda/types.js +5 -7
  137. package/dist/lambda/types.js.map +1 -0
  138. package/dist/lambda/utils.js +33 -35
  139. package/dist/lambda/utils.js.map +1 -0
  140. package/dist/sbom/generateSbom.js +6 -10
  141. package/dist/sbom/generateSbom.js.map +1 -0
  142. package/dist/scaAnalysis/common/auditReport.js +10 -13
  143. package/dist/scaAnalysis/common/auditReport.js.map +1 -0
  144. package/dist/scaAnalysis/common/commonReportingFunctionsSca.js +35 -40
  145. package/dist/scaAnalysis/common/commonReportingFunctionsSca.js.map +1 -0
  146. package/dist/scaAnalysis/common/formatMessage.js +8 -17
  147. package/dist/scaAnalysis/common/formatMessage.js.map +1 -0
  148. package/dist/scaAnalysis/common/models/ScaReportModel.js +4 -9
  149. package/dist/scaAnalysis/common/models/ScaReportModel.js.map +1 -0
  150. package/dist/scaAnalysis/common/scaParserForGoAndJava.js +10 -9
  151. package/dist/scaAnalysis/common/scaParserForGoAndJava.js.map +1 -0
  152. package/dist/scaAnalysis/common/scaServicesUpload.js +53 -96
  153. package/dist/scaAnalysis/common/scaServicesUpload.js.map +1 -0
  154. package/dist/scaAnalysis/common/treeUpload.js +15 -25
  155. package/dist/scaAnalysis/common/treeUpload.js.map +1 -0
  156. package/dist/scaAnalysis/common/utils/reportUtilsSca.js +21 -29
  157. package/dist/scaAnalysis/common/utils/reportUtilsSca.js.map +1 -0
  158. package/dist/scaAnalysis/dotnet/analysis.js +15 -20
  159. package/dist/scaAnalysis/dotnet/analysis.js.map +1 -0
  160. package/dist/scaAnalysis/dotnet/index.js +4 -7
  161. package/dist/scaAnalysis/dotnet/index.js.map +1 -0
  162. package/dist/scaAnalysis/go/goAnalysis.js +10 -12
  163. package/dist/scaAnalysis/go/goAnalysis.js.map +1 -0
  164. package/dist/scaAnalysis/go/goParseDeps.js +9 -7
  165. package/dist/scaAnalysis/go/goParseDeps.js.map +1 -0
  166. package/dist/scaAnalysis/go/goReadDepFile.js +12 -9
  167. package/dist/scaAnalysis/go/goReadDepFile.js.map +1 -0
  168. package/dist/scaAnalysis/java/analysis.js +26 -22
  169. package/dist/scaAnalysis/java/analysis.js.map +1 -0
  170. package/dist/scaAnalysis/java/index.js +7 -10
  171. package/dist/scaAnalysis/java/index.js.map +1 -0
  172. package/dist/scaAnalysis/java/javaBuildDepsParser.js +41 -43
  173. package/dist/scaAnalysis/java/javaBuildDepsParser.js.map +1 -0
  174. package/dist/scaAnalysis/javascript/analysis.js +16 -20
  175. package/dist/scaAnalysis/javascript/analysis.js.map +1 -0
  176. package/dist/scaAnalysis/javascript/index.js +17 -19
  177. package/dist/scaAnalysis/javascript/index.js.map +1 -0
  178. package/dist/scaAnalysis/javascript/scaServiceParser.js +8 -15
  179. package/dist/scaAnalysis/javascript/scaServiceParser.js.map +1 -0
  180. package/dist/scaAnalysis/legacy/legacyFlow.js +15 -16
  181. package/dist/scaAnalysis/legacy/legacyFlow.js.map +1 -0
  182. package/dist/scaAnalysis/php/analysis.js +18 -18
  183. package/dist/scaAnalysis/php/analysis.js.map +1 -0
  184. package/dist/scaAnalysis/php/index.js +5 -8
  185. package/dist/scaAnalysis/php/index.js.map +1 -0
  186. package/dist/scaAnalysis/php/phpNewServicesMapper.js +9 -12
  187. package/dist/scaAnalysis/php/phpNewServicesMapper.js.map +1 -0
  188. package/dist/scaAnalysis/processServicesFlow.js +92 -37
  189. package/dist/scaAnalysis/processServicesFlow.js.map +1 -0
  190. package/dist/scaAnalysis/python/analysis.js +18 -24
  191. package/dist/scaAnalysis/python/analysis.js.map +1 -0
  192. package/dist/scaAnalysis/python/index.js +4 -7
  193. package/dist/scaAnalysis/python/index.js.map +1 -0
  194. package/dist/scaAnalysis/repoMode/gradleParser.js +9 -14
  195. package/dist/scaAnalysis/repoMode/gradleParser.js.map +1 -0
  196. package/dist/scaAnalysis/repoMode/index.js +11 -13
  197. package/dist/scaAnalysis/repoMode/index.js.map +1 -0
  198. package/dist/scaAnalysis/repoMode/mavenParser.js +26 -14
  199. package/dist/scaAnalysis/repoMode/mavenParser.js.map +1 -0
  200. package/dist/scaAnalysis/ruby/analysis.js +32 -46
  201. package/dist/scaAnalysis/ruby/analysis.js.map +1 -0
  202. package/dist/scaAnalysis/ruby/index.js +5 -8
  203. package/dist/scaAnalysis/ruby/index.js.map +1 -0
  204. package/dist/scaAnalysis/scaAnalysis.js +54 -55
  205. package/dist/scaAnalysis/scaAnalysis.js.map +1 -0
  206. package/dist/scan/fileUtils.js +36 -40
  207. package/dist/scan/fileUtils.js.map +1 -0
  208. package/dist/scan/formatScanOutput.js +47 -61
  209. package/dist/scan/formatScanOutput.js.map +1 -0
  210. package/dist/scan/help.js +8 -11
  211. package/dist/scan/help.js.map +1 -0
  212. package/dist/scan/models/groupedResultsModel.js +2 -5
  213. package/dist/scan/models/groupedResultsModel.js.map +1 -0
  214. package/dist/scan/models/resultContentModel.js +2 -2
  215. package/dist/scan/models/resultContentModel.js.map +1 -0
  216. package/dist/scan/models/scanResultsModel.js +2 -5
  217. package/dist/scan/models/scanResultsModel.js.map +1 -0
  218. package/dist/scan/populateProjectIdAndProjectName.js +24 -62
  219. package/dist/scan/populateProjectIdAndProjectName.js.map +1 -0
  220. package/dist/scan/processScan.js +28 -0
  221. package/dist/scan/processScan.js.map +1 -0
  222. package/dist/scan/saveResults.js +3 -6
  223. package/dist/scan/saveResults.js.map +1 -0
  224. package/dist/scan/scan.js +33 -53
  225. package/dist/scan/scan.js.map +1 -0
  226. package/dist/scan/scanConfig.js +14 -12
  227. package/dist/scan/scanConfig.js.map +1 -0
  228. package/dist/scan/scanController.js +20 -22
  229. package/dist/scan/scanController.js.map +1 -0
  230. package/dist/scan/scanRequests.js +86 -0
  231. package/dist/scan/scanRequests.js.map +1 -0
  232. package/dist/scan/scanResults.js +26 -72
  233. package/dist/scan/scanResults.js.map +1 -0
  234. package/dist/telemetry/telemetry.js +29 -59
  235. package/dist/telemetry/telemetry.js.map +1 -0
  236. package/dist/utils/capabilities.js +2 -1
  237. package/dist/utils/capabilities.js.map +1 -0
  238. package/dist/utils/commonApi.js +61 -52
  239. package/dist/utils/commonApi.js.map +1 -0
  240. package/dist/utils/filterProjectPath.js +2 -1
  241. package/dist/utils/filterProjectPath.js.map +1 -0
  242. package/dist/utils/generalAPI.js +11 -33
  243. package/dist/utils/generalAPI.js.map +1 -0
  244. package/dist/utils/getConfig.js +8 -13
  245. package/dist/utils/getConfig.js.map +1 -0
  246. package/dist/utils/oraWrapper.js +7 -14
  247. package/dist/utils/oraWrapper.js.map +1 -0
  248. package/dist/utils/paramsUtil/commandlineParams.js +2 -5
  249. package/dist/utils/paramsUtil/commandlineParams.js.map +1 -0
  250. package/dist/utils/paramsUtil/configStoreParams.js +9 -10
  251. package/dist/utils/paramsUtil/configStoreParams.js.map +1 -0
  252. package/dist/utils/paramsUtil/envVariableParams.js +2 -3
  253. package/dist/utils/paramsUtil/envVariableParams.js.map +1 -0
  254. package/dist/utils/paramsUtil/paramHandler.js +12 -13
  255. package/dist/utils/paramsUtil/paramHandler.js.map +1 -0
  256. package/dist/utils/parsedCLIOptions.js +4 -7
  257. package/dist/utils/parsedCLIOptions.js.map +1 -0
  258. package/dist/utils/requestUtils.js +7 -13
  259. package/dist/utils/requestUtils.js.map +1 -0
  260. package/dist/utils/saveFile.js +8 -11
  261. package/dist/utils/saveFile.js.map +1 -0
  262. package/dist/utils/validationCheck.js +5 -11
  263. package/dist/utils/validationCheck.js.map +1 -0
  264. package/package.json +39 -48
  265. package/.prettierignore +0 -1
  266. package/bin/contrast.js +0 -2
  267. package/dist/audit/languageAnalysisEngine/util/requestUtils.js +0 -14
  268. package/dist/commands/audit/auditConfig.js +0 -12
  269. package/dist/commands/audit/help.js +0 -70
  270. package/dist/commands/audit/processAudit.js +0 -24
  271. package/dist/commands/auth/auth.js +0 -120
  272. package/dist/commands/github/fingerprintConfig.js +0 -13
  273. package/dist/commands/github/processFingerprint.js +0 -28
  274. package/dist/commands/github/projectGroup.js +0 -254
  275. package/dist/commands/github/repoServices.js +0 -108
  276. package/dist/commands/scan/processScan.js +0 -31
  277. package/dist/lambda/__mocks__/aws.js +0 -21
  278. package/dist/lambda/__mocks__/lambdaConfig.json +0 -42
  279. package/src/audit/catalogueApplication/catalogueApplication.js +0 -51
  280. package/src/audit/languageAnalysisEngine/commonApi.js +0 -20
  281. package/src/audit/languageAnalysisEngine/filterProjectPath.js +0 -21
  282. package/src/audit/languageAnalysisEngine/getProjectRootFilenames.js +0 -36
  283. package/src/audit/languageAnalysisEngine/sendSnapshot.js +0 -57
  284. package/src/audit/languageAnalysisEngine/util/requestUtils.js +0 -17
  285. package/src/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js +0 -63
  286. package/src/audit/report/commonReportingFunctions.js +0 -412
  287. package/src/audit/report/models/reportGuidanceModel.ts +0 -5
  288. package/src/audit/report/models/reportLibraryModel.ts +0 -30
  289. package/src/audit/report/models/reportListModel.ts +0 -49
  290. package/src/audit/report/models/reportOutputModel.ts +0 -29
  291. package/src/audit/report/models/reportSeverityModel.ts +0 -18
  292. package/src/audit/report/models/severityCountModel.ts +0 -22
  293. package/src/audit/report/reportingFeature.ts +0 -110
  294. package/src/audit/report/utils/reportUtils.ts +0 -165
  295. package/src/audit/save.js +0 -67
  296. package/src/cliConstants.js +0 -522
  297. package/src/commands/audit/auditConfig.js +0 -18
  298. package/src/commands/audit/auditController.js +0 -50
  299. package/src/commands/audit/help.js +0 -72
  300. package/src/commands/audit/processAudit.js +0 -34
  301. package/src/commands/audit/saveFile.js +0 -15
  302. package/src/commands/auth/auth.js +0 -146
  303. package/src/commands/config/config.js +0 -41
  304. package/src/commands/github/fingerprintConfig.js +0 -19
  305. package/src/commands/github/processFingerprint.js +0 -37
  306. package/src/commands/github/projectGroup.js +0 -294
  307. package/src/commands/github/repoServices.js +0 -122
  308. package/src/commands/learn/learn.js +0 -10
  309. package/src/commands/learn/processLearn.js +0 -13
  310. package/src/commands/scan/processScan.js +0 -42
  311. package/src/common/HTTPClient.js +0 -775
  312. package/src/common/baseRequest.ts +0 -83
  313. package/src/common/commonHelp.js +0 -53
  314. package/src/common/errorHandling.js +0 -157
  315. package/src/common/fail.js +0 -79
  316. package/src/common/versionChecker.js +0 -75
  317. package/src/constants/constants.js +0 -71
  318. package/src/constants/lambda.js +0 -85
  319. package/src/constants/locales.js +0 -365
  320. package/src/index.ts +0 -142
  321. package/src/lambda/__mocks__/aws.ts +0 -32
  322. package/src/lambda/__mocks__/lambdaConfig.json +0 -42
  323. package/src/lambda/analytics.ts +0 -9
  324. package/src/lambda/arn.ts +0 -33
  325. package/src/lambda/aws.ts +0 -248
  326. package/src/lambda/cliError.ts +0 -72
  327. package/src/lambda/constants.ts +0 -11
  328. package/src/lambda/help.ts +0 -92
  329. package/src/lambda/lambda.ts +0 -230
  330. package/src/lambda/lambdaUtils.ts +0 -111
  331. package/src/lambda/logUtils.ts +0 -64
  332. package/src/lambda/scanDetailCompletion.ts +0 -78
  333. package/src/lambda/scanRequest.ts +0 -169
  334. package/src/lambda/scanResults.ts +0 -29
  335. package/src/lambda/types.ts +0 -36
  336. package/src/lambda/utils.ts +0 -188
  337. package/src/sbom/generateSbom.ts +0 -45
  338. package/src/scaAnalysis/common/auditReport.js +0 -59
  339. package/src/scaAnalysis/common/commonReportingFunctionsSca.js +0 -276
  340. package/src/scaAnalysis/common/formatMessage.js +0 -67
  341. package/src/scaAnalysis/common/models/ScaReportModel.ts +0 -81
  342. package/src/scaAnalysis/common/scaParserForGoAndJava.js +0 -41
  343. package/src/scaAnalysis/common/scaServicesUpload.js +0 -155
  344. package/src/scaAnalysis/common/treeUpload.js +0 -51
  345. package/src/scaAnalysis/common/utils/reportUtilsSca.ts +0 -123
  346. package/src/scaAnalysis/dotnet/analysis.js +0 -72
  347. package/src/scaAnalysis/dotnet/index.js +0 -11
  348. package/src/scaAnalysis/go/goAnalysis.js +0 -26
  349. package/src/scaAnalysis/go/goParseDeps.js +0 -203
  350. package/src/scaAnalysis/go/goReadDepFile.js +0 -34
  351. package/src/scaAnalysis/java/analysis.js +0 -148
  352. package/src/scaAnalysis/java/index.js +0 -29
  353. package/src/scaAnalysis/java/javaBuildDepsParser.js +0 -439
  354. package/src/scaAnalysis/javascript/analysis.js +0 -111
  355. package/src/scaAnalysis/javascript/index.js +0 -104
  356. package/src/scaAnalysis/javascript/scaServiceParser.js +0 -151
  357. package/src/scaAnalysis/legacy/legacyFlow.js +0 -43
  358. package/src/scaAnalysis/php/analysis.js +0 -78
  359. package/src/scaAnalysis/php/index.js +0 -28
  360. package/src/scaAnalysis/php/phpNewServicesMapper.js +0 -77
  361. package/src/scaAnalysis/processServicesFlow.js +0 -119
  362. package/src/scaAnalysis/python/analysis.js +0 -93
  363. package/src/scaAnalysis/python/index.js +0 -16
  364. package/src/scaAnalysis/repoMode/gradleParser.js +0 -88
  365. package/src/scaAnalysis/repoMode/index.js +0 -21
  366. package/src/scaAnalysis/repoMode/mavenParser.js +0 -139
  367. package/src/scaAnalysis/ruby/analysis.js +0 -413
  368. package/src/scaAnalysis/ruby/index.js +0 -16
  369. package/src/scaAnalysis/scaAnalysis.js +0 -171
  370. package/src/scan/autoDetection.js +0 -175
  371. package/src/scan/fileUtils.js +0 -206
  372. package/src/scan/formatScanOutput.ts +0 -225
  373. package/src/scan/help.js +0 -56
  374. package/src/scan/models/groupedResultsModel.ts +0 -20
  375. package/src/scan/models/resultContentModel.ts +0 -86
  376. package/src/scan/models/scanResultsModel.ts +0 -55
  377. package/src/scan/populateProjectIdAndProjectName.js +0 -73
  378. package/src/scan/saveResults.js +0 -14
  379. package/src/scan/scan.ts +0 -68
  380. package/src/scan/scanConfig.js +0 -58
  381. package/src/scan/scanController.js +0 -98
  382. package/src/scan/scanResults.js +0 -171
  383. package/src/telemetry/telemetry.ts +0 -154
  384. package/src/utils/capabilities.js +0 -12
  385. package/src/utils/commonApi.js +0 -103
  386. package/src/utils/filterProjectPath.js +0 -25
  387. package/src/utils/generalAPI.js +0 -52
  388. package/src/utils/getConfig.ts +0 -34
  389. package/src/utils/oraWrapper.js +0 -29
  390. package/src/utils/paramsUtil/commandlineParams.js +0 -12
  391. package/src/utils/paramsUtil/configStoreParams.js +0 -19
  392. package/src/utils/paramsUtil/envVariableParams.js +0 -10
  393. package/src/utils/paramsUtil/paramHandler.js +0 -38
  394. package/src/utils/parsedCLIOptions.js +0 -32
  395. package/src/utils/requestUtils.js +0 -29
  396. package/src/utils/saveFile.js +0 -20
  397. package/src/utils/validationCheck.js +0 -39
@@ -1,45 +0,0 @@
1
- import { getHttpClient } from '../utils/commonApi'
2
-
3
- export const generateSbom = (config: any, type: string) => {
4
- const client = getHttpClient(config)
5
- return client
6
- .getSbom(config, type)
7
- .then((res: { statusCode: number; body: any }) => {
8
- if (res.statusCode === 200) {
9
- return res.body
10
- } else if (res.statusCode === 403) {
11
- console.log('\nUnable to retrieve Software Bill of Materials (SBOM)')
12
- console.log(
13
- `Please ensure OSS is enabled for your organization - org-id ${config.organizationId} and app ${config.applicationId}`
14
- )
15
- return undefined
16
- } else {
17
- console.log('Unable to retrieve Software Bill of Materials (SBOM)')
18
- return undefined
19
- }
20
- })
21
- .catch((err: any) => {
22
- console.log(err)
23
- })
24
- }
25
-
26
- export const generateSCASbom = (
27
- config: any,
28
- type: string,
29
- reportId: string
30
- ) => {
31
- const client = getHttpClient(config)
32
- return client
33
- .getSCASbom(config, type, reportId)
34
- .then((res: { statusCode: number; body: any }) => {
35
- if (res.statusCode === 200) {
36
- return res.body
37
- } else {
38
- console.log('Unable to retrieve Software Bill of Materials (SBOM)')
39
- return undefined
40
- }
41
- })
42
- .catch((err: any) => {
43
- console.log(err)
44
- })
45
- }
@@ -1,59 +0,0 @@
1
- const {
2
- getSeverityCounts,
3
- printNoVulnFoundMsg
4
- } = require('../../audit/report/commonReportingFunctions')
5
- const common = require('../../common/fail')
6
- const { printFormattedOutputSca } = require('./commonReportingFunctionsSca')
7
- const { auditSave } = require('../../audit/save')
8
-
9
- const processAuditReport = async (config, reportModelList, reportId) => {
10
- let severityCounts = {}
11
- if (reportModelList !== undefined) {
12
- severityCounts = formatScaServicesReport(config, reportModelList)
13
- }
14
-
15
- if (config.save !== undefined) {
16
- await auditSave(config, reportId)
17
- } else {
18
- console.log('Use contrast audit --save to generate an SBOM')
19
- }
20
-
21
- if (config.fail) {
22
- common.processFail(config, severityCounts)
23
- }
24
- }
25
- const formatScaServicesReport = (config, reportModelList) => {
26
- const projectOverviewCount = getSeverityCounts(reportModelList)
27
-
28
- if (projectOverviewCount.total === 0) {
29
- printNoVulnFoundMsg()
30
- } else {
31
- const numberOfVulnerableLibraries = reportModelList.map(library => {
32
- let count = 0
33
-
34
- if (library.vulnerabilities.length > 0) {
35
- count++
36
- }
37
-
38
- return count
39
- }).length
40
-
41
- let numberOfCves = reportModelList.reduce(
42
- (count, current) => count + current.vulnerabilities.length,
43
- 0
44
- )
45
-
46
- printFormattedOutputSca(
47
- config,
48
- reportModelList,
49
- numberOfVulnerableLibraries,
50
- numberOfCves
51
- )
52
- }
53
-
54
- return projectOverviewCount
55
- }
56
- module.exports = {
57
- formatScaServicesReport,
58
- processAuditReport
59
- }
@@ -1,276 +0,0 @@
1
- const {
2
- ReportList,
3
- ReportModelStructure,
4
- ReportCompositeKey
5
- } = require('../../audit/report/models/reportListModel')
6
- const {
7
- countVulnerableLibrariesBySeverity
8
- } = require('../../audit/report/utils/reportUtils')
9
- const {
10
- SeverityCountModel
11
- } = require('../../audit/report/models/severityCountModel')
12
- const { orderBy } = require('lodash')
13
- const {
14
- ReportOutputModel,
15
- ReportOutputHeaderModel,
16
- ReportOutputBodyModel
17
- } = require('../../audit/report/models/reportOutputModel')
18
- const {
19
- CE_URL,
20
- CRITICAL_COLOUR,
21
- HIGH_COLOUR,
22
- MEDIUM_COLOUR,
23
- LOW_COLOUR,
24
- NOTE_COLOUR
25
- } = require('../../constants/constants')
26
- const chalk = require('chalk')
27
- const Table = require('cli-table3')
28
- const {
29
- findHighestSeverityCVESca,
30
- severityCountAllCVEsSca,
31
- findCVESeveritySca,
32
- orderByHighestPrioritySca
33
- } = require('./utils/reportUtilsSca')
34
- const {
35
- buildFormattedHeaderNum
36
- } = require('../../audit/report/commonReportingFunctions')
37
-
38
- const createSummaryMessageTop = (numberOfVulnerableLibraries, numberOfCves) => {
39
- numberOfVulnerableLibraries === 1
40
- ? console.log(
41
- `\n\nFound 1 vulnerable library containing ${numberOfCves} CVE`
42
- )
43
- : console.log(
44
- `\n\nFound ${numberOfVulnerableLibraries} vulnerable libraries containing ${numberOfCves} CVEs`
45
- )
46
- }
47
-
48
- const createSummaryMessageBottom = numberOfVulnerableLibraries => {
49
- numberOfVulnerableLibraries === 1
50
- ? console.log(`Found 1 vulnerability`)
51
- : console.log(`Found ${numberOfVulnerableLibraries} vulnerabilities`)
52
- }
53
-
54
- const printFormattedOutputSca = (
55
- config,
56
- reportModelList,
57
- numberOfVulnerableLibraries,
58
- numberOfCves
59
- ) => {
60
- createSummaryMessageTop(numberOfVulnerableLibraries, numberOfCves)
61
- console.log()
62
- const report = new ReportList()
63
-
64
- for (const library of reportModelList) {
65
- const { artifactName, version, vulnerabilities, remediationAdvice } =
66
- library
67
-
68
- const newOutputModel = new ReportModelStructure(
69
- new ReportCompositeKey(
70
- artifactName,
71
- version,
72
- findHighestSeverityCVESca(vulnerabilities),
73
- severityCountAllCVEsSca(
74
- vulnerabilities,
75
- new SeverityCountModel()
76
- ).getTotal
77
- ),
78
- vulnerabilities,
79
- remediationAdvice
80
- )
81
- report.reportOutputList.push(newOutputModel)
82
- }
83
-
84
- const outputOrderedByLowestSeverityAndLowestNumOfCvesFirst = orderBy(
85
- report.reportOutputList,
86
- [
87
- reportListItem => {
88
- return reportListItem.compositeKey.highestSeverity.priority
89
- },
90
- reportListItem => {
91
- return reportListItem.compositeKey.numberOfSeverities
92
- }
93
- ],
94
- ['asc', 'desc']
95
- )
96
-
97
- let contrastHeaderNumCounter = 0
98
- for (const reportModel of outputOrderedByLowestSeverityAndLowestNumOfCvesFirst) {
99
- contrastHeaderNumCounter++
100
- const { libraryName, libraryVersion, highestSeverity } =
101
- reportModel.compositeKey
102
-
103
- const { cveArray, remediationAdvice } = reportModel
104
-
105
- const numOfCVEs = reportModel.cveArray.length
106
-
107
- const table = getReportTable()
108
-
109
- const header = buildHeader(
110
- highestSeverity,
111
- contrastHeaderNumCounter,
112
- libraryName,
113
- libraryVersion,
114
- numOfCVEs
115
- )
116
-
117
- const body = buildBody(cveArray, remediationAdvice)
118
-
119
- const reportOutputModel = new ReportOutputModel(header, body)
120
-
121
- table.push(
122
- reportOutputModel.body.issueMessage,
123
- reportOutputModel.body.adviceMessage
124
- )
125
-
126
- console.log(
127
- reportOutputModel.header.vulnMessage,
128
- reportOutputModel.header.introducesMessage
129
- )
130
- console.log(table.toString() + '\n')
131
- }
132
-
133
- createSummaryMessageBottom(numberOfVulnerableLibraries)
134
- const {
135
- criticalMessage,
136
- highMessage,
137
- mediumMessage,
138
- lowMessage,
139
- noteMessage
140
- } = buildFooter(outputOrderedByLowestSeverityAndLowestNumOfCvesFirst)
141
- console.log(
142
- `${criticalMessage} | ${highMessage} | ${mediumMessage} | ${lowMessage} | ${noteMessage}`
143
- )
144
-
145
- if (config.host !== CE_URL && config.projectId) {
146
- console.log(
147
- '\n' + chalk.bold("Check out your project's results in Contrast")
148
- )
149
- console.log(
150
- `${config.host}/Contrast/static/ng/index.html#/${config.organizationId}/libraries?view=static&projects=${config.name}`
151
- )
152
- }
153
- }
154
-
155
- function getReportTable() {
156
- return new Table({
157
- chars: {
158
- top: '',
159
- 'top-mid': '',
160
- 'top-left': '',
161
- 'top-right': '',
162
- bottom: '',
163
- 'bottom-mid': '',
164
- 'bottom-left': '',
165
- 'bottom-right': '',
166
- left: '',
167
- 'left-mid': '',
168
- mid: '',
169
- 'mid-mid': '',
170
- right: '',
171
- 'right-mid': '',
172
- middle: ' '
173
- },
174
- style: { 'padding-left': 0, 'padding-right': 0 },
175
- colAligns: ['right'],
176
- wordWrap: true,
177
- colWidths: [12, 1, 100]
178
- })
179
- }
180
-
181
- function buildHeader(
182
- highestSeverity,
183
- contrastHeaderNum,
184
- libraryName,
185
- version,
186
- numOfCVEs
187
- ) {
188
- const vulnerabilityPluralised =
189
- numOfCVEs > 1 ? 'vulnerabilities' : 'vulnerability'
190
- const formattedHeaderNum = buildFormattedHeaderNum(contrastHeaderNum)
191
-
192
- const headerColour = chalk.hex(highestSeverity.colour)
193
- const headerNumAndSeverity = headerColour(
194
- `${formattedHeaderNum} - [${highestSeverity.severity}]`
195
- )
196
- const libraryNameAndVersion = headerColour.bold(`${libraryName}-${version}`)
197
- const vulnMessage = `${headerNumAndSeverity} ${libraryNameAndVersion}`
198
-
199
- const introducesMessage = `introduces ${numOfCVEs} ${vulnerabilityPluralised}`
200
-
201
- return new ReportOutputHeaderModel(vulnMessage, introducesMessage)
202
- }
203
-
204
- function buildBody(cveArray, advice) {
205
- const orderedCvesWithSeverityAssigned = orderByHighestPrioritySca(
206
- cveArray.map(cve => findCVESeveritySca(cve))
207
- )
208
- const issueMessage = getIssueRow(orderedCvesWithSeverityAssigned)
209
- const adviceMessage = getAdviceRow(advice)
210
-
211
- return new ReportOutputBodyModel(issueMessage, adviceMessage)
212
- }
213
-
214
- function getIssueRow(cveArray) {
215
- const cveMessagesList = getIssueCveMsgList(cveArray)
216
- return [chalk.bold('Issue'), ':', `${cveMessagesList.join(', ')}`]
217
- }
218
-
219
- function getAdviceRow(advice) {
220
- const latestOrClosest = advice.closestStableVersion
221
- ? advice.closestStableVersion
222
- : advice.latestStableVersion
223
- const displayAdvice = latestOrClosest
224
- ? `Change to version ${chalk.bold(latestOrClosest)}`
225
- : 'No recommendation is available according to our data. Upgrade to the latest stable is the best advice we can give.'
226
-
227
- return [chalk.bold(`Advice`), chalk.bold(`:`), `${displayAdvice}`]
228
- }
229
-
230
- const buildFooter = reportModelStructure => {
231
- const { critical, high, medium, low, note } =
232
- countVulnerableLibrariesBySeverity(reportModelStructure)
233
-
234
- const criticalMessage = chalk
235
- .hex(CRITICAL_COLOUR)
236
- .bold(`${critical} Critical`)
237
- const highMessage = chalk.hex(HIGH_COLOUR).bold(`${high} High`)
238
- const mediumMessage = chalk.hex(MEDIUM_COLOUR).bold(`${medium} Medium`)
239
- const lowMessage = chalk.hex(LOW_COLOUR).bold(`${low} Low`)
240
- const noteMessage = chalk.hex(NOTE_COLOUR).bold(`${note} Note`)
241
-
242
- return {
243
- criticalMessage,
244
- highMessage,
245
- mediumMessage,
246
- lowMessage,
247
- noteMessage
248
- }
249
- }
250
-
251
- const getIssueCveMsgList = reportSeverityModels => {
252
- const cveMessages = []
253
- reportSeverityModels.forEach(reportSeverityModel => {
254
- const { colour, severity, name } = reportSeverityModel
255
-
256
- const severityShorthand = chalk
257
- .hex(colour)
258
- .bold(`[${severity.charAt(0).toUpperCase()}]`)
259
-
260
- const builtMessage = severityShorthand + name
261
- cveMessages.push(builtMessage)
262
- })
263
- return cveMessages
264
- }
265
-
266
- module.exports = {
267
- createSummaryMessageTop,
268
- createSummaryMessageBottom,
269
- printFormattedOutputSca,
270
- getReportTable,
271
- buildHeader,
272
- buildBody,
273
- getIssueRow,
274
- buildFormattedHeaderNum,
275
- getIssueCveMsgList
276
- }
@@ -1,67 +0,0 @@
1
- const createJavaTSMessage = javaTree => {
2
- return {
3
- java: {
4
- mavenDependencyTrees: javaTree
5
- }
6
- }
7
- }
8
-
9
- const createJavaScriptTSMessage = js => {
10
- let message = {
11
- node: {
12
- packageJSON: js.packageJSON
13
- }
14
- }
15
- if (js.yarn !== undefined) {
16
- message.node.yarnLockFile = js.yarn.yarnLockFile
17
- message.node.yarnVersion = js.yarn.yarnVersion
18
- } else {
19
- message.node.npmLockFile = js.npmLockFile
20
- }
21
- return message
22
- }
23
-
24
- const createGoTSMessage = goTree => {
25
- return {
26
- go: {
27
- goDependencyTrees: goTree
28
- }
29
- }
30
- }
31
-
32
- const createRubyTSMessage = rubyTree => {
33
- return {
34
- ruby: rubyTree
35
- }
36
- }
37
-
38
- const createPythonTSMessage = pythonTree => {
39
- return {
40
- python: pythonTree
41
- }
42
- }
43
-
44
- const createPhpTSMessage = phpTree => {
45
- return {
46
- php: {
47
- composerJSON: phpTree.composerJSON,
48
- lockFile: phpTree.lockFile
49
- }
50
- }
51
- }
52
-
53
- const createDotNetTSMessage = dotnetTree => {
54
- return {
55
- dotnet: dotnetTree
56
- }
57
- }
58
-
59
- module.exports = {
60
- createJavaScriptTSMessage,
61
- createJavaTSMessage,
62
- createGoTSMessage,
63
- createPhpTSMessage,
64
- createRubyTSMessage,
65
- createPythonTSMessage,
66
- createDotNetTSMessage
67
- }
@@ -1,81 +0,0 @@
1
- export class ScaReportModel {
2
- uuid: string
3
- groupName: string
4
- artifactName: string
5
- version: string
6
- hash: string
7
- fileName: string
8
- libraryLanguage: string
9
- vulnerable: boolean
10
- privateLibrary: boolean
11
- severity: string
12
- releaseDate: string
13
- latestVersionReleaseDate: string
14
- latestVersion: string
15
- versionsBehind: number
16
- vulnerabilities: ScaReportVulnerabilityModel[]
17
- remediationAdvice: ScaReportRemediationAdviceModel
18
-
19
- constructor(library: any) {
20
- this.uuid = library.uuid
21
- this.groupName = library.groupName
22
- this.artifactName = library.artifactName
23
- this.version = library.version
24
- this.hash = library.hash
25
- this.fileName = library.fileName
26
- this.libraryLanguage = library.libraryLanguage
27
- this.vulnerable = library.vulnerable
28
- this.privateLibrary = library.privateLibrary
29
- this.severity = library.severity
30
- this.releaseDate = library.releaseDate
31
- this.latestVersionReleaseDate = library.latestVersionReleaseDate
32
- this.latestVersion = library.latestVersion
33
- this.versionsBehind = library.versionsBehind
34
- this.vulnerabilities = library.vulnerabilities
35
- this.remediationAdvice = library.remediationAdvice
36
- }
37
- }
38
-
39
- export class ScaReportVulnerabilityModel {
40
- name: string
41
- description: string
42
- cvss2Vector: string
43
- severityValue: number
44
- severity: string
45
- cvss3Vector: string
46
- cvss3SeverityValue: number
47
- cvss3Severity: string
48
- hasCvss3: boolean
49
-
50
- constructor(
51
- name: string,
52
- description: string,
53
- cvss2Vector: string,
54
- severityValue: number,
55
- severity: string,
56
- cvss3Vector: string,
57
- cvss3SeverityValue: number,
58
- cvss3Severity: string,
59
- hasCvss3: boolean
60
- ) {
61
- this.name = name
62
- this.description = description
63
- this.cvss2Vector = cvss2Vector
64
- this.severityValue = severityValue
65
- this.severity = severity
66
- this.cvss3Vector = cvss3Vector
67
- this.cvss3SeverityValue = cvss3SeverityValue
68
- this.cvss3Severity = cvss3Severity
69
- this.hasCvss3 = hasCvss3
70
- }
71
- }
72
-
73
- export class ScaReportRemediationAdviceModel {
74
- closestStableVersion: string
75
- latestStableVersion: string
76
-
77
- constructor(closestStableVersion: string, latestStableVersion: string) {
78
- this.closestStableVersion = closestStableVersion
79
- this.latestStableVersion = latestStableVersion
80
- }
81
- }
@@ -1,41 +0,0 @@
1
- const parseDependenciesForSCAServices = dependencyTreeObject => {
2
- let parsedDependencyTree = {}
3
- let subDeps
4
-
5
- for (let tree in dependencyTreeObject) {
6
- let unParsedDependencyTree = dependencyTreeObject[tree]
7
- for (let dependency in unParsedDependencyTree) {
8
- subDeps = parseSubDependencies(unParsedDependencyTree[dependency].edges)
9
-
10
- let parsedDependency = {
11
- name: unParsedDependencyTree[dependency].artifactID,
12
- group: unParsedDependencyTree[dependency].group,
13
- version: unParsedDependencyTree[dependency].version,
14
- directDependency: unParsedDependencyTree[dependency].type === 'direct',
15
- productionDependency: true,
16
- dependencies: subDeps
17
- }
18
- parsedDependencyTree[dependency] = parsedDependency
19
- }
20
- }
21
- return parsedDependencyTree
22
- }
23
-
24
- const parseSubDependencies = dependencies => {
25
- // converting:
26
- // dependencies: {
27
- // 'gopkg.in/check.v1@v0.0.0-2': 'gopkg.in/check.v1@v0.0.0-2'
28
- // }
29
- // to:
30
- // dependencies: [ 'gopkg.in/check.v1@v0.0.0-2' ]
31
- let subDeps = []
32
- for (let x in dependencies) {
33
- subDeps.push(dependencies[x])
34
- }
35
- return subDeps
36
- }
37
-
38
- module.exports = {
39
- parseDependenciesForSCAServices,
40
- parseSubDependencies
41
- }