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

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 (395) 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 +37 -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 +9 -13
  23. package/dist/audit/auditController.js.map +1 -0
  24. package/dist/audit/auditRequests.js +193 -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 +68 -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 +18 -30
  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 +21 -0
  43. package/dist/audit/processAudit.js.map +1 -0
  44. package/dist/audit/report/commonReportingFunctions.js +33 -61
  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 +27 -55
  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 +14 -16
  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 +48 -18
  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 +193 -94
  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/stringManipulations.js +8 -0
  91. package/dist/common/stringManipulations.js.map +1 -0
  92. package/dist/common/versionChecker.js +16 -19
  93. package/dist/common/versionChecker.js.map +1 -0
  94. package/dist/constants/constants.js +46 -65
  95. package/dist/constants/constants.js.map +1 -0
  96. package/dist/constants/lambda.js +8 -5
  97. package/dist/constants/lambda.js.map +1 -0
  98. package/dist/constants/locales.js +14 -10
  99. package/dist/constants/locales.js.map +1 -0
  100. package/dist/github/fingerprintConfig.js +10 -0
  101. package/dist/github/fingerprintConfig.js.map +1 -0
  102. package/dist/github/processFingerprint.js +25 -0
  103. package/dist/github/processFingerprint.js.map +1 -0
  104. package/dist/github/projectGroup.js +225 -0
  105. package/dist/github/projectGroup.js.map +1 -0
  106. package/dist/github/repoServices.js +91 -0
  107. package/dist/github/repoServices.js.map +1 -0
  108. package/dist/index.js +42 -39
  109. package/dist/index.js.map +1 -0
  110. package/dist/lambda/analytics.js +6 -9
  111. package/dist/lambda/analytics.js.map +1 -0
  112. package/dist/lambda/arn.js +6 -9
  113. package/dist/lambda/arn.js.map +1 -0
  114. package/dist/lambda/aws.js +29 -34
  115. package/dist/lambda/aws.js.map +1 -0
  116. package/dist/lambda/cliError.js +13 -41
  117. package/dist/lambda/cliError.js.map +1 -0
  118. package/dist/lambda/constants.js +3 -4
  119. package/dist/lambda/constants.js.map +1 -0
  120. package/dist/lambda/help.js +39 -44
  121. package/dist/lambda/help.js.map +1 -0
  122. package/dist/lambda/lambda.js +61 -65
  123. package/dist/lambda/lambda.js.map +1 -0
  124. package/dist/lambda/lambdaUtils.js +38 -32
  125. package/dist/lambda/lambdaUtils.js.map +1 -0
  126. package/dist/lambda/logUtils.js +21 -17
  127. package/dist/lambda/logUtils.js.map +1 -0
  128. package/dist/lambda/scanDetailCompletion.js +19 -25
  129. package/dist/lambda/scanDetailCompletion.js.map +1 -0
  130. package/dist/lambda/scanRequest.js +34 -41
  131. package/dist/lambda/scanRequest.js.map +1 -0
  132. package/dist/lambda/scanResults.js +8 -10
  133. package/dist/lambda/scanResults.js.map +1 -0
  134. package/dist/lambda/types.js +5 -7
  135. package/dist/lambda/types.js.map +1 -0
  136. package/dist/lambda/utils.js +33 -35
  137. package/dist/lambda/utils.js.map +1 -0
  138. package/dist/sbom/generateSbom.js +6 -10
  139. package/dist/sbom/generateSbom.js.map +1 -0
  140. package/dist/scaAnalysis/common/auditReport.js +8 -12
  141. package/dist/scaAnalysis/common/auditReport.js.map +1 -0
  142. package/dist/scaAnalysis/common/commonReportingFunctionsSca.js +26 -32
  143. package/dist/scaAnalysis/common/commonReportingFunctionsSca.js.map +1 -0
  144. package/dist/scaAnalysis/common/formatMessage.js +8 -17
  145. package/dist/scaAnalysis/common/formatMessage.js.map +1 -0
  146. package/dist/scaAnalysis/common/models/ScaReportModel.js +4 -9
  147. package/dist/scaAnalysis/common/models/ScaReportModel.js.map +1 -0
  148. package/dist/scaAnalysis/common/scaParserForGoAndJava.js +10 -9
  149. package/dist/scaAnalysis/common/scaParserForGoAndJava.js.map +1 -0
  150. package/dist/scaAnalysis/common/scaServicesUpload.js +59 -90
  151. package/dist/scaAnalysis/common/scaServicesUpload.js.map +1 -0
  152. package/dist/scaAnalysis/common/treeUpload.js +15 -25
  153. package/dist/scaAnalysis/common/treeUpload.js.map +1 -0
  154. package/dist/scaAnalysis/common/utils/reportUtilsSca.js +21 -29
  155. package/dist/scaAnalysis/common/utils/reportUtilsSca.js.map +1 -0
  156. package/dist/scaAnalysis/dotnet/analysis.js +12 -18
  157. package/dist/scaAnalysis/dotnet/analysis.js.map +1 -0
  158. package/dist/scaAnalysis/dotnet/index.js +4 -7
  159. package/dist/scaAnalysis/dotnet/index.js.map +1 -0
  160. package/dist/scaAnalysis/go/goAnalysis.js +8 -11
  161. package/dist/scaAnalysis/go/goAnalysis.js.map +1 -0
  162. package/dist/scaAnalysis/go/goParseDeps.js +9 -7
  163. package/dist/scaAnalysis/go/goParseDeps.js.map +1 -0
  164. package/dist/scaAnalysis/go/goReadDepFile.js +10 -8
  165. package/dist/scaAnalysis/go/goReadDepFile.js.map +1 -0
  166. package/dist/scaAnalysis/java/analysis.js +23 -20
  167. package/dist/scaAnalysis/java/analysis.js.map +1 -0
  168. package/dist/scaAnalysis/java/index.js +7 -10
  169. package/dist/scaAnalysis/java/index.js.map +1 -0
  170. package/dist/scaAnalysis/java/javaBuildDepsParser.js +43 -43
  171. package/dist/scaAnalysis/java/javaBuildDepsParser.js.map +1 -0
  172. package/dist/scaAnalysis/javascript/analysis.js +16 -20
  173. package/dist/scaAnalysis/javascript/analysis.js.map +1 -0
  174. package/dist/scaAnalysis/javascript/index.js +17 -19
  175. package/dist/scaAnalysis/javascript/index.js.map +1 -0
  176. package/dist/scaAnalysis/javascript/scaServiceParser.js +8 -15
  177. package/dist/scaAnalysis/javascript/scaServiceParser.js.map +1 -0
  178. package/dist/scaAnalysis/legacy/legacyFlow.js +13 -15
  179. package/dist/scaAnalysis/legacy/legacyFlow.js.map +1 -0
  180. package/dist/scaAnalysis/php/analysis.js +15 -16
  181. package/dist/scaAnalysis/php/analysis.js.map +1 -0
  182. package/dist/scaAnalysis/php/index.js +5 -8
  183. package/dist/scaAnalysis/php/index.js.map +1 -0
  184. package/dist/scaAnalysis/php/phpNewServicesMapper.js +9 -12
  185. package/dist/scaAnalysis/php/phpNewServicesMapper.js.map +1 -0
  186. package/dist/scaAnalysis/processServicesFlow.js +86 -32
  187. package/dist/scaAnalysis/processServicesFlow.js.map +1 -0
  188. package/dist/scaAnalysis/python/analysis.js +16 -23
  189. package/dist/scaAnalysis/python/analysis.js.map +1 -0
  190. package/dist/scaAnalysis/python/index.js +4 -7
  191. package/dist/scaAnalysis/python/index.js.map +1 -0
  192. package/dist/scaAnalysis/repoMode/gradleParser.js +7 -13
  193. package/dist/scaAnalysis/repoMode/gradleParser.js.map +1 -0
  194. package/dist/scaAnalysis/repoMode/index.js +9 -12
  195. package/dist/scaAnalysis/repoMode/index.js.map +1 -0
  196. package/dist/scaAnalysis/repoMode/mavenParser.js +26 -14
  197. package/dist/scaAnalysis/repoMode/mavenParser.js.map +1 -0
  198. package/dist/scaAnalysis/ruby/analysis.js +32 -46
  199. package/dist/scaAnalysis/ruby/analysis.js.map +1 -0
  200. package/dist/scaAnalysis/ruby/index.js +5 -8
  201. package/dist/scaAnalysis/ruby/index.js.map +1 -0
  202. package/dist/scaAnalysis/scaAnalysis.js +49 -51
  203. package/dist/scaAnalysis/scaAnalysis.js.map +1 -0
  204. package/dist/scan/fileUtils.js +36 -40
  205. package/dist/scan/fileUtils.js.map +1 -0
  206. package/dist/scan/formatScanOutput.js +47 -61
  207. package/dist/scan/formatScanOutput.js.map +1 -0
  208. package/dist/scan/help.js +8 -11
  209. package/dist/scan/help.js.map +1 -0
  210. package/dist/scan/models/groupedResultsModel.js +2 -5
  211. package/dist/scan/models/groupedResultsModel.js.map +1 -0
  212. package/dist/scan/models/resultContentModel.js +2 -2
  213. package/dist/scan/models/resultContentModel.js.map +1 -0
  214. package/dist/scan/models/scanResultsModel.js +2 -5
  215. package/dist/scan/models/scanResultsModel.js.map +1 -0
  216. package/dist/scan/populateProjectIdAndProjectName.js +22 -60
  217. package/dist/scan/populateProjectIdAndProjectName.js.map +1 -0
  218. package/dist/scan/processScan.js +28 -0
  219. package/dist/scan/processScan.js.map +1 -0
  220. package/dist/scan/saveResults.js +3 -6
  221. package/dist/scan/saveResults.js.map +1 -0
  222. package/dist/scan/scan.js +33 -53
  223. package/dist/scan/scan.js.map +1 -0
  224. package/dist/scan/scanConfig.js +14 -12
  225. package/dist/scan/scanConfig.js.map +1 -0
  226. package/dist/scan/scanController.js +19 -21
  227. package/dist/scan/scanController.js.map +1 -0
  228. package/dist/scan/scanRequests.js +86 -0
  229. package/dist/scan/scanRequests.js.map +1 -0
  230. package/dist/scan/scanResults.js +26 -72
  231. package/dist/scan/scanResults.js.map +1 -0
  232. package/dist/telemetry/telemetry.js +29 -59
  233. package/dist/telemetry/telemetry.js.map +1 -0
  234. package/dist/utils/capabilities.js +2 -1
  235. package/dist/utils/capabilities.js.map +1 -0
  236. package/dist/utils/commonApi.js +58 -50
  237. package/dist/utils/commonApi.js.map +1 -0
  238. package/dist/utils/filterProjectPath.js +2 -1
  239. package/dist/utils/filterProjectPath.js.map +1 -0
  240. package/dist/utils/generalAPI.js +11 -33
  241. package/dist/utils/generalAPI.js.map +1 -0
  242. package/dist/utils/getConfig.js +8 -13
  243. package/dist/utils/getConfig.js.map +1 -0
  244. package/dist/utils/oraWrapper.js +7 -14
  245. package/dist/utils/oraWrapper.js.map +1 -0
  246. package/dist/utils/paramsUtil/commandlineParams.js +2 -5
  247. package/dist/utils/paramsUtil/commandlineParams.js.map +1 -0
  248. package/dist/utils/paramsUtil/configStoreParams.js +9 -10
  249. package/dist/utils/paramsUtil/configStoreParams.js.map +1 -0
  250. package/dist/utils/paramsUtil/envVariableParams.js +2 -3
  251. package/dist/utils/paramsUtil/envVariableParams.js.map +1 -0
  252. package/dist/utils/paramsUtil/paramHandler.js +12 -13
  253. package/dist/utils/paramsUtil/paramHandler.js.map +1 -0
  254. package/dist/utils/parsedCLIOptions.js +4 -7
  255. package/dist/utils/parsedCLIOptions.js.map +1 -0
  256. package/dist/utils/requestUtils.js +7 -13
  257. package/dist/utils/requestUtils.js.map +1 -0
  258. package/dist/utils/saveFile.js +8 -11
  259. package/dist/utils/saveFile.js.map +1 -0
  260. package/dist/utils/validationCheck.js +5 -11
  261. package/dist/utils/validationCheck.js.map +1 -0
  262. package/package.json +39 -48
  263. package/.prettierignore +0 -1
  264. package/bin/contrast.js +0 -2
  265. package/dist/audit/languageAnalysisEngine/util/requestUtils.js +0 -14
  266. package/dist/commands/audit/auditConfig.js +0 -12
  267. package/dist/commands/audit/help.js +0 -70
  268. package/dist/commands/audit/processAudit.js +0 -24
  269. package/dist/commands/auth/auth.js +0 -120
  270. package/dist/commands/github/fingerprintConfig.js +0 -13
  271. package/dist/commands/github/processFingerprint.js +0 -28
  272. package/dist/commands/github/projectGroup.js +0 -254
  273. package/dist/commands/github/repoServices.js +0 -108
  274. package/dist/commands/scan/processScan.js +0 -31
  275. package/dist/lambda/__mocks__/aws.js +0 -21
  276. package/dist/lambda/__mocks__/lambdaConfig.json +0 -42
  277. package/src/audit/catalogueApplication/catalogueApplication.js +0 -51
  278. package/src/audit/languageAnalysisEngine/commonApi.js +0 -20
  279. package/src/audit/languageAnalysisEngine/filterProjectPath.js +0 -21
  280. package/src/audit/languageAnalysisEngine/getProjectRootFilenames.js +0 -36
  281. package/src/audit/languageAnalysisEngine/sendSnapshot.js +0 -57
  282. package/src/audit/languageAnalysisEngine/util/requestUtils.js +0 -17
  283. package/src/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js +0 -63
  284. package/src/audit/report/commonReportingFunctions.js +0 -412
  285. package/src/audit/report/models/reportGuidanceModel.ts +0 -5
  286. package/src/audit/report/models/reportLibraryModel.ts +0 -30
  287. package/src/audit/report/models/reportListModel.ts +0 -49
  288. package/src/audit/report/models/reportOutputModel.ts +0 -29
  289. package/src/audit/report/models/reportSeverityModel.ts +0 -18
  290. package/src/audit/report/models/severityCountModel.ts +0 -22
  291. package/src/audit/report/reportingFeature.ts +0 -110
  292. package/src/audit/report/utils/reportUtils.ts +0 -165
  293. package/src/audit/save.js +0 -67
  294. package/src/cliConstants.js +0 -522
  295. package/src/commands/audit/auditConfig.js +0 -18
  296. package/src/commands/audit/auditController.js +0 -50
  297. package/src/commands/audit/help.js +0 -72
  298. package/src/commands/audit/processAudit.js +0 -34
  299. package/src/commands/audit/saveFile.js +0 -15
  300. package/src/commands/auth/auth.js +0 -146
  301. package/src/commands/config/config.js +0 -41
  302. package/src/commands/github/fingerprintConfig.js +0 -19
  303. package/src/commands/github/processFingerprint.js +0 -37
  304. package/src/commands/github/projectGroup.js +0 -294
  305. package/src/commands/github/repoServices.js +0 -122
  306. package/src/commands/learn/learn.js +0 -10
  307. package/src/commands/learn/processLearn.js +0 -13
  308. package/src/commands/scan/processScan.js +0 -42
  309. package/src/common/HTTPClient.js +0 -775
  310. package/src/common/baseRequest.ts +0 -83
  311. package/src/common/commonHelp.js +0 -53
  312. package/src/common/errorHandling.js +0 -157
  313. package/src/common/fail.js +0 -79
  314. package/src/common/versionChecker.js +0 -75
  315. package/src/constants/constants.js +0 -71
  316. package/src/constants/lambda.js +0 -85
  317. package/src/constants/locales.js +0 -365
  318. package/src/index.ts +0 -142
  319. package/src/lambda/__mocks__/aws.ts +0 -32
  320. package/src/lambda/__mocks__/lambdaConfig.json +0 -42
  321. package/src/lambda/analytics.ts +0 -9
  322. package/src/lambda/arn.ts +0 -33
  323. package/src/lambda/aws.ts +0 -248
  324. package/src/lambda/cliError.ts +0 -72
  325. package/src/lambda/constants.ts +0 -11
  326. package/src/lambda/help.ts +0 -92
  327. package/src/lambda/lambda.ts +0 -230
  328. package/src/lambda/lambdaUtils.ts +0 -111
  329. package/src/lambda/logUtils.ts +0 -64
  330. package/src/lambda/scanDetailCompletion.ts +0 -78
  331. package/src/lambda/scanRequest.ts +0 -169
  332. package/src/lambda/scanResults.ts +0 -29
  333. package/src/lambda/types.ts +0 -36
  334. package/src/lambda/utils.ts +0 -188
  335. package/src/sbom/generateSbom.ts +0 -45
  336. package/src/scaAnalysis/common/auditReport.js +0 -59
  337. package/src/scaAnalysis/common/commonReportingFunctionsSca.js +0 -276
  338. package/src/scaAnalysis/common/formatMessage.js +0 -67
  339. package/src/scaAnalysis/common/models/ScaReportModel.ts +0 -81
  340. package/src/scaAnalysis/common/scaParserForGoAndJava.js +0 -41
  341. package/src/scaAnalysis/common/scaServicesUpload.js +0 -155
  342. package/src/scaAnalysis/common/treeUpload.js +0 -51
  343. package/src/scaAnalysis/common/utils/reportUtilsSca.ts +0 -123
  344. package/src/scaAnalysis/dotnet/analysis.js +0 -72
  345. package/src/scaAnalysis/dotnet/index.js +0 -11
  346. package/src/scaAnalysis/go/goAnalysis.js +0 -26
  347. package/src/scaAnalysis/go/goParseDeps.js +0 -203
  348. package/src/scaAnalysis/go/goReadDepFile.js +0 -34
  349. package/src/scaAnalysis/java/analysis.js +0 -148
  350. package/src/scaAnalysis/java/index.js +0 -29
  351. package/src/scaAnalysis/java/javaBuildDepsParser.js +0 -439
  352. package/src/scaAnalysis/javascript/analysis.js +0 -111
  353. package/src/scaAnalysis/javascript/index.js +0 -104
  354. package/src/scaAnalysis/javascript/scaServiceParser.js +0 -151
  355. package/src/scaAnalysis/legacy/legacyFlow.js +0 -43
  356. package/src/scaAnalysis/php/analysis.js +0 -78
  357. package/src/scaAnalysis/php/index.js +0 -28
  358. package/src/scaAnalysis/php/phpNewServicesMapper.js +0 -77
  359. package/src/scaAnalysis/processServicesFlow.js +0 -119
  360. package/src/scaAnalysis/python/analysis.js +0 -93
  361. package/src/scaAnalysis/python/index.js +0 -16
  362. package/src/scaAnalysis/repoMode/gradleParser.js +0 -88
  363. package/src/scaAnalysis/repoMode/index.js +0 -21
  364. package/src/scaAnalysis/repoMode/mavenParser.js +0 -139
  365. package/src/scaAnalysis/ruby/analysis.js +0 -413
  366. package/src/scaAnalysis/ruby/index.js +0 -16
  367. package/src/scaAnalysis/scaAnalysis.js +0 -171
  368. package/src/scan/autoDetection.js +0 -175
  369. package/src/scan/fileUtils.js +0 -206
  370. package/src/scan/formatScanOutput.ts +0 -225
  371. package/src/scan/help.js +0 -56
  372. package/src/scan/models/groupedResultsModel.ts +0 -20
  373. package/src/scan/models/resultContentModel.ts +0 -86
  374. package/src/scan/models/scanResultsModel.ts +0 -55
  375. package/src/scan/populateProjectIdAndProjectName.js +0 -73
  376. package/src/scan/saveResults.js +0 -14
  377. package/src/scan/scan.ts +0 -68
  378. package/src/scan/scanConfig.js +0 -58
  379. package/src/scan/scanController.js +0 -98
  380. package/src/scan/scanResults.js +0 -171
  381. package/src/telemetry/telemetry.ts +0 -154
  382. package/src/utils/capabilities.js +0 -12
  383. package/src/utils/commonApi.js +0 -103
  384. package/src/utils/filterProjectPath.js +0 -25
  385. package/src/utils/generalAPI.js +0 -52
  386. package/src/utils/getConfig.ts +0 -34
  387. package/src/utils/oraWrapper.js +0 -29
  388. package/src/utils/paramsUtil/commandlineParams.js +0 -12
  389. package/src/utils/paramsUtil/configStoreParams.js +0 -19
  390. package/src/utils/paramsUtil/envVariableParams.js +0 -10
  391. package/src/utils/paramsUtil/paramHandler.js +0 -38
  392. package/src/utils/parsedCLIOptions.js +0 -32
  393. package/src/utils/requestUtils.js +0 -29
  394. package/src/utils/saveFile.js +0 -20
  395. 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
- }