@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,49 +0,0 @@
1
- import { ReportSeverityModel } from './reportSeverityModel'
2
- import { ReportCVEModel } from './reportLibraryModel'
3
- import {
4
- ScaReportRemediationAdviceModel,
5
- ScaReportVulnerabilityModel
6
- } from '../../../scaAnalysis/common/models/ScaReportModel'
7
-
8
- export class ReportList {
9
- reportOutputList: ReportModelStructure[]
10
-
11
- constructor() {
12
- this.reportOutputList = []
13
- }
14
- }
15
-
16
- export class ReportModelStructure {
17
- compositeKey: ReportCompositeKey
18
- cveArray: ReportCVEModel[] | ScaReportVulnerabilityModel[]
19
- remediationAdvice: ScaReportRemediationAdviceModel | null
20
-
21
- constructor(
22
- compositeKey: ReportCompositeKey,
23
- cveArray: ReportCVEModel[] | ScaReportVulnerabilityModel[],
24
- remediationAdvice: ScaReportRemediationAdviceModel | null
25
- ) {
26
- this.compositeKey = compositeKey
27
- this.cveArray = cveArray
28
- this.remediationAdvice = remediationAdvice
29
- }
30
- }
31
-
32
- export class ReportCompositeKey {
33
- libraryName!: string
34
- libraryVersion!: string
35
- highestSeverity!: ReportSeverityModel
36
- numberOfSeverities!: number
37
-
38
- constructor(
39
- libraryName: string,
40
- libraryVersion: string,
41
- highestSeverity: ReportSeverityModel,
42
- numberOfSeverities: number
43
- ) {
44
- this.libraryName = libraryName
45
- this.libraryVersion = libraryVersion
46
- this.highestSeverity = highestSeverity
47
- this.numberOfSeverities = numberOfSeverities
48
- }
49
- }
@@ -1,29 +0,0 @@
1
- export class ReportOutputModel {
2
- header: ReportOutputHeaderModel
3
- body: ReportOutputBodyModel
4
-
5
- constructor(header: ReportOutputHeaderModel, body: ReportOutputBodyModel) {
6
- this.header = header
7
- this.body = body
8
- }
9
- }
10
-
11
- export class ReportOutputHeaderModel {
12
- vulnMessage: string
13
- introducesMessage: string
14
-
15
- constructor(vulnMessage: string, introducesMessage: string) {
16
- this.vulnMessage = vulnMessage
17
- this.introducesMessage = introducesMessage
18
- }
19
- }
20
-
21
- export class ReportOutputBodyModel {
22
- issueMessage: string[]
23
- adviceMessage: string[]
24
-
25
- constructor(issueMessage: string[], adviceMessage: string[]) {
26
- this.issueMessage = issueMessage
27
- this.adviceMessage = adviceMessage
28
- }
29
- }
@@ -1,18 +0,0 @@
1
- export class ReportSeverityModel {
2
- severity: string
3
- priority: number
4
- colour: string
5
- name: string
6
-
7
- constructor(
8
- severity: string,
9
- priority: number,
10
- colour: string,
11
- name: string
12
- ) {
13
- this.severity = severity
14
- this.priority = priority
15
- this.colour = colour
16
- this.name = name
17
- }
18
- }
@@ -1,22 +0,0 @@
1
- export class SeverityCountModel {
2
- critical!: number
3
- high!: number
4
- medium!: number
5
- low!: number
6
- note!: number
7
- total!: number
8
-
9
- //needed as default to stop NaN when new object constructed
10
- constructor() {
11
- this.critical = 0
12
- this.high = 0
13
- this.medium = 0
14
- this.low = 0
15
- this.note = 0
16
- this.total = 0
17
- }
18
-
19
- get getTotal(): number {
20
- return this.critical + this.high + this.medium + this.low + this.note
21
- }
22
- }
@@ -1,110 +0,0 @@
1
- import {
2
- getReport,
3
- printNoVulnFoundMsg,
4
- printVulnerabilityResponse
5
- } from './commonReportingFunctions'
6
- import {
7
- convertGenericToTypedLibraryVulns,
8
- severityCountAllLibraries
9
- } from './utils/reportUtils'
10
- import i18n from 'i18n'
11
- import chalk from 'chalk'
12
- import * as constants from '../../constants/constants'
13
- import { SeverityCountModel } from './models/severityCountModel'
14
- import * as common from '../../common/fail'
15
- import { auditSave } from '../save'
16
-
17
- export function convertKeysToStandardFormat(config: any, guidance: any) {
18
- let convertedGuidance = guidance
19
-
20
- switch (config.language) {
21
- case constants.supportedLanguages.JAVA:
22
- case constants.supportedLanguages.GO:
23
- case constants.supportedLanguages.PHP:
24
- break
25
- case constants.supportedLanguages.NODE:
26
- case constants.supportedLanguages.DOTNET:
27
- case constants.supportedLanguages.PYTHON:
28
- case constants.supportedLanguages.RUBY:
29
- convertedGuidance = convertJSDotNetPython(guidance)
30
- break
31
- }
32
- return convertedGuidance
33
- }
34
-
35
- export function convertJSDotNetPython(guidance: any) {
36
- const returnObject = {}
37
-
38
- Object.entries(guidance).forEach(([key, value]) => {
39
- const splitKey = key.split('/')
40
- if (splitKey.length === 2) {
41
- // @ts-ignore
42
- returnObject[splitKey[1]] = value
43
- }
44
- })
45
- return returnObject
46
- }
47
-
48
- export function formatVulnerabilityOutput(
49
- libraryVulnerabilityResponse: any,
50
- id: string,
51
- config: any,
52
- remediationGuidance: any
53
- ) {
54
- const vulnerableLibraries = convertGenericToTypedLibraryVulns(
55
- libraryVulnerabilityResponse
56
- )
57
-
58
- const guidance = convertKeysToStandardFormat(config, remediationGuidance)
59
-
60
- const numberOfVulnerableLibraries = vulnerableLibraries.length
61
-
62
- if (numberOfVulnerableLibraries === 0) {
63
- printNoVulnFoundMsg()
64
- return [false, 0, [new SeverityCountModel()]]
65
- } else {
66
- let numberOfCves = 0
67
- vulnerableLibraries.forEach(lib => (numberOfCves += lib.cveArray.length))
68
-
69
- const hasSomeVulnerabilitiesReported = printVulnerabilityResponse(
70
- config,
71
- vulnerableLibraries,
72
- numberOfVulnerableLibraries,
73
- numberOfCves,
74
- guidance
75
- )
76
- let severityCount = new SeverityCountModel()
77
- severityCount = severityCountAllLibraries(
78
- vulnerableLibraries,
79
- severityCount
80
- )
81
- severityCount.total = severityCount.getTotal
82
- return [hasSomeVulnerabilitiesReported, numberOfCves, severityCount]
83
- }
84
- }
85
-
86
- export async function vulnerabilityReportV2(config: any, reportId: string) {
87
- console.log()
88
- const reportResponse = await getReport(config, reportId)
89
-
90
- if (reportResponse !== undefined) {
91
- const output = formatVulnerabilityOutput(
92
- reportResponse.vulnerabilities,
93
- config.applicationId,
94
- config,
95
- reportResponse.remediationGuidance
96
- ? reportResponse.remediationGuidance
97
- : {}
98
- )
99
-
100
- if (config.save !== undefined) {
101
- await auditSave(config)
102
- } else {
103
- console.log('\nUse contrast audit --save to generate an SBOM')
104
- }
105
-
106
- if (config.fail) {
107
- common.processFail(config, output[2])
108
- }
109
- }
110
- }
@@ -1,165 +0,0 @@
1
- import {
2
- ReportCVEModel,
3
- ReportLibraryModel
4
- } from '../models/reportLibraryModel'
5
- import { ReportSeverityModel } from '../models/reportSeverityModel'
6
- import languageAnalysisEngine, {
7
- CRITICAL_COLOUR,
8
- CRITICAL_PRIORITY,
9
- HIGH_COLOUR,
10
- HIGH_PRIORITY,
11
- LOW_COLOUR,
12
- LOW_PRIORITY,
13
- MEDIUM_COLOUR,
14
- MEDIUM_PRIORITY,
15
- NOTE_COLOUR,
16
- NOTE_PRIORITY
17
- } from '../../../constants/constants'
18
- import { orderBy } from 'lodash'
19
- import { SeverityCountModel } from '../models/severityCountModel'
20
- import { ReportModelStructure } from '../models/reportListModel'
21
-
22
- const {
23
- supportedLanguages: { GO }
24
- } = languageAnalysisEngine
25
-
26
- export function findHighestSeverityCVE(cveArray: ReportCVEModel[]) {
27
- const mappedToReportSeverityModels = cveArray.map(cve => findCVESeverity(cve))
28
-
29
- //order and get first
30
- return orderBy(mappedToReportSeverityModels, cve => cve?.priority)[0]
31
- }
32
-
33
- export function orderByHighestPriority(severityModels: ReportSeverityModel[]) {
34
- return orderBy(severityModels, ['priority'], ['asc'])
35
- }
36
-
37
- export function findCVESeverity(cve: ReportCVEModel) {
38
- const cveName = cve.name as string
39
- if (cve.cvss3SeverityCode === 'CRITICAL' || cve.severityCode === 'CRITICAL') {
40
- return new ReportSeverityModel(
41
- 'CRITICAL',
42
- CRITICAL_PRIORITY,
43
- CRITICAL_COLOUR,
44
- cveName
45
- )
46
- } else if (cve.cvss3SeverityCode === 'HIGH' || cve.severityCode === 'HIGH') {
47
- return new ReportSeverityModel('HIGH', HIGH_PRIORITY, HIGH_COLOUR, cveName)
48
- } else if (
49
- cve.cvss3SeverityCode === 'MEDIUM' ||
50
- cve.severityCode === 'MEDIUM'
51
- ) {
52
- return new ReportSeverityModel(
53
- 'MEDIUM',
54
- MEDIUM_PRIORITY,
55
- MEDIUM_COLOUR,
56
- cveName
57
- )
58
- } else if (cve.cvss3SeverityCode === 'LOW' || cve.severityCode === 'LOW') {
59
- return new ReportSeverityModel('LOW', LOW_PRIORITY, LOW_COLOUR, cveName)
60
- } else if (cve.cvss3SeverityCode === 'NOTE' || cve.severityCode === 'NOTE') {
61
- return new ReportSeverityModel('NOTE', NOTE_PRIORITY, NOTE_COLOUR, cveName)
62
- }
63
- }
64
-
65
- export function convertGenericToTypedLibraryVulns(libraries: any) {
66
- return Object.entries(libraries).map(([name, cveArray]) => {
67
- return new ReportLibraryModel(name, cveArray as ReportCVEModel[])
68
- })
69
- }
70
-
71
- export function severityCountAllLibraries(
72
- vulnerableLibraries: ReportLibraryModel[],
73
- severityCount: SeverityCountModel
74
- ) {
75
- vulnerableLibraries.forEach(lib =>
76
- severityCountAllCVEs(lib.cveArray, severityCount)
77
- )
78
- return severityCount
79
- }
80
-
81
- export function severityCountAllCVEs(
82
- cveArray: ReportCVEModel[],
83
- severityCount: SeverityCountModel
84
- ) {
85
- const severityCountInner = severityCount
86
- cveArray.forEach(cve => severityCountSingleCVE(cve, severityCountInner))
87
- return severityCountInner
88
- }
89
-
90
- export function severityCountSingleCVE(
91
- cve: ReportCVEModel,
92
- severityCount: SeverityCountModel
93
- ) {
94
- if (cve.cvss3SeverityCode === 'CRITICAL' || cve.severityCode === 'CRITICAL') {
95
- severityCount.critical += 1
96
- } else if (cve.cvss3SeverityCode === 'HIGH' || cve.severityCode === 'HIGH') {
97
- severityCount.high += 1
98
- } else if (
99
- cve.cvss3SeverityCode === 'MEDIUM' ||
100
- cve.severityCode === 'MEDIUM'
101
- ) {
102
- severityCount.medium += 1
103
- } else if (cve.cvss3SeverityCode === 'LOW' || cve.severityCode === 'LOW') {
104
- severityCount.low += 1
105
- } else if (cve.cvss3SeverityCode === 'NOTE' || cve.severityCode === 'NOTE') {
106
- severityCount.note += 1
107
- }
108
-
109
- return severityCount
110
- }
111
-
112
- export function findNameAndVersion(library: ReportLibraryModel, config: any) {
113
- if (config.language.toUpperCase() === GO) {
114
- const nameVersion = library.name.split('@')
115
- const name = nameVersion[0]
116
- const version = nameVersion[1]
117
-
118
- return { name, version }
119
- } else {
120
- //spreads items from split into set so no duplicates appear
121
- const uniqueSplitLibraryName = [...new Set(library.name.split('/'))]
122
- const nameVersion = uniqueSplitLibraryName[1].split('@')
123
-
124
- let parentLibrary
125
- let name
126
- if (
127
- uniqueSplitLibraryName[0] !== 'null' &&
128
- uniqueSplitLibraryName[0] !== '' &&
129
- !uniqueSplitLibraryName[1].includes(uniqueSplitLibraryName[0])
130
- ) {
131
- //if the parent lib (element 0) is not null, not blank and not already part of the library name
132
- //e.g. shared-ini-file-loader-1.0.0-rc.3 is very generic - converts to @aws-sdk/shared-ini-file-loader-1.0.0-rc.3
133
- parentLibrary = uniqueSplitLibraryName[0]
134
- name = `${parentLibrary}/${nameVersion[0]}`
135
- } else {
136
- name = nameVersion[0]
137
- }
138
-
139
- const version = nameVersion[1]
140
-
141
- return { name, version }
142
- }
143
- }
144
-
145
- export function countVulnerableLibrariesBySeverity(
146
- reportModelStructure: ReportModelStructure[]
147
- ) {
148
- const severityCount = new SeverityCountModel()
149
- reportModelStructure.forEach(vuln => {
150
- const currentSeverity = vuln.compositeKey.highestSeverity.severity
151
- if (currentSeverity === 'CRITICAL') {
152
- severityCount.critical += 1
153
- } else if (currentSeverity === 'HIGH') {
154
- severityCount.high += 1
155
- } else if (currentSeverity === 'MEDIUM') {
156
- severityCount.medium += 1
157
- } else if (currentSeverity === 'LOW') {
158
- severityCount.low += 1
159
- } else if (currentSeverity === 'NOTE') {
160
- severityCount.note += 1
161
- }
162
- })
163
-
164
- return severityCount
165
- }
package/src/audit/save.js DELETED
@@ -1,67 +0,0 @@
1
- const fs = require('fs')
2
- const i18n = require('i18n')
3
- const chalk = require('chalk')
4
- const save = require('../commands/audit/saveFile')
5
- const sbom = require('../sbom/generateSbom')
6
- const {
7
- SBOM_CYCLONE_DX_FILE,
8
- SBOM_SPDX_FILE
9
- } = require('../constants/constants')
10
-
11
- async function auditSave(config, reportId) {
12
- let fileFormat
13
- //validate the config to see if we can uppercase it
14
- config.save = config.save ? config.save.toUpperCase() : config.save
15
-
16
- switch (config.save) {
17
- case null:
18
- case SBOM_CYCLONE_DX_FILE:
19
- fileFormat = SBOM_CYCLONE_DX_FILE
20
- break
21
- case SBOM_SPDX_FILE:
22
- fileFormat = SBOM_SPDX_FILE
23
- break
24
- default:
25
- break
26
- }
27
-
28
- if (fileFormat) {
29
- if (config.legacy === false) {
30
- const sbomResponse = await sbom.generateSCASbom(
31
- config,
32
- fileFormat,
33
- reportId
34
- )
35
- if (sbomResponse) {
36
- save.saveFile(config, fileFormat, sbomResponse)
37
- }
38
- } else {
39
- const sbomResponse = await sbom.generateSbom(config, fileFormat)
40
- if (sbomResponse) {
41
- save.saveFile(config, fileFormat, sbomResponse)
42
- }
43
- }
44
-
45
- let fileStart = config.legacy ? config.applicationId : config.projectId
46
- if (fileStart === undefined) {
47
- fileStart = 'my'
48
- }
49
-
50
- const filename = `${fileStart}-sbom-${fileFormat}.json`
51
- if (fs.existsSync(filename)) {
52
- console.log(i18n.__('auditSBOMSaveSuccess') + ` - ${filename}`)
53
- } else {
54
- console.log(
55
- chalk.yellow.bold(
56
- `\nUnable to save ${filename} Software Bill of Materials (SBOM)`
57
- )
58
- )
59
- }
60
- } else {
61
- console.log(i18n.__('auditBadFiletypeSpecifiedForSave'))
62
- }
63
- }
64
-
65
- module.exports = {
66
- auditSave
67
- }