@mitre/hdf-converters 2.12.6 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/README.md +25 -24
  2. package/lib/data/converters/csv2json.d.ts +1 -0
  3. package/lib/data/converters/csv2json.d.ts.map +1 -0
  4. package/lib/data/converters/csv2json.js +1 -1
  5. package/lib/data/converters/csv2json.js.map +1 -1
  6. package/lib/data/converters/xml2json.d.ts +1 -0
  7. package/lib/data/converters/xml2json.d.ts.map +1 -0
  8. package/lib/data/converters/xml2json.js +6 -25
  9. package/lib/data/converters/xml2json.js.map +1 -1
  10. package/lib/data/reverse-html-mapper/convert-to-embedded-strings.d.ts +2 -0
  11. package/lib/data/reverse-html-mapper/convert-to-embedded-strings.d.ts.map +1 -0
  12. package/lib/data/reverse-html-mapper/convert-to-embedded-strings.js +13 -0
  13. package/lib/data/reverse-html-mapper/convert-to-embedded-strings.js.map +1 -0
  14. package/lib/index.d.ts +6 -0
  15. package/lib/index.d.ts.map +1 -0
  16. package/lib/index.js +23 -8
  17. package/lib/index.js.map +1 -1
  18. package/lib/package.json +19 -40
  19. package/lib/src/anchore-grype-mapper.d.ts +1 -0
  20. package/lib/src/anchore-grype-mapper.d.ts.map +1 -0
  21. package/lib/src/anchore-grype-mapper.js +7 -1
  22. package/lib/src/anchore-grype-mapper.js.map +1 -1
  23. package/lib/src/asff-mapper/asff-mapper.d.ts +1 -0
  24. package/lib/src/asff-mapper/asff-mapper.d.ts.map +1 -0
  25. package/lib/src/asff-mapper/asff-mapper.js +274 -237
  26. package/lib/src/asff-mapper/asff-mapper.js.map +1 -1
  27. package/lib/src/asff-mapper/case-cms-inspec.d.ts +1 -0
  28. package/lib/src/asff-mapper/case-cms-inspec.d.ts.map +1 -0
  29. package/lib/src/asff-mapper/case-cms-inspec.js +18 -9
  30. package/lib/src/asff-mapper/case-cms-inspec.js.map +1 -1
  31. package/lib/src/asff-mapper/case-firewall-manager.d.ts +1 -0
  32. package/lib/src/asff-mapper/case-firewall-manager.d.ts.map +1 -0
  33. package/lib/src/asff-mapper/case-firewall-manager.js +18 -9
  34. package/lib/src/asff-mapper/case-firewall-manager.js.map +1 -1
  35. package/lib/src/asff-mapper/case-guardduty.d.ts +1 -0
  36. package/lib/src/asff-mapper/case-guardduty.d.ts.map +1 -0
  37. package/lib/src/asff-mapper/case-guardduty.js +18 -9
  38. package/lib/src/asff-mapper/case-guardduty.js.map +1 -1
  39. package/lib/src/asff-mapper/case-inspector.d.ts +1 -0
  40. package/lib/src/asff-mapper/case-inspector.d.ts.map +1 -0
  41. package/lib/src/asff-mapper/case-inspector.js +18 -9
  42. package/lib/src/asff-mapper/case-inspector.js.map +1 -1
  43. package/lib/src/asff-mapper/case-previously-hdf.d.ts +1 -0
  44. package/lib/src/asff-mapper/case-previously-hdf.d.ts.map +1 -0
  45. package/lib/src/asff-mapper/case-previously-hdf.js +21 -10
  46. package/lib/src/asff-mapper/case-previously-hdf.js.map +1 -1
  47. package/lib/src/asff-mapper/case-prowler.d.ts +1 -0
  48. package/lib/src/asff-mapper/case-prowler.d.ts.map +1 -0
  49. package/lib/src/asff-mapper/case-prowler.js +19 -9
  50. package/lib/src/asff-mapper/case-prowler.js.map +1 -1
  51. package/lib/src/asff-mapper/case-security-hub.d.ts +1 -0
  52. package/lib/src/asff-mapper/case-security-hub.d.ts.map +1 -0
  53. package/lib/src/asff-mapper/case-security-hub.js +24 -9
  54. package/lib/src/asff-mapper/case-security-hub.js.map +1 -1
  55. package/lib/src/asff-mapper/case-trivy.d.ts +1 -0
  56. package/lib/src/asff-mapper/case-trivy.d.ts.map +1 -0
  57. package/lib/src/asff-mapper/case-trivy.js +18 -9
  58. package/lib/src/asff-mapper/case-trivy.js.map +1 -1
  59. package/lib/src/aws-config-mapper.d.ts +1 -0
  60. package/lib/src/aws-config-mapper.d.ts.map +1 -0
  61. package/lib/src/aws-config-mapper.js +29 -7
  62. package/lib/src/aws-config-mapper.js.map +1 -1
  63. package/lib/src/base-converter.d.ts +2 -1
  64. package/lib/src/base-converter.d.ts.map +1 -0
  65. package/lib/src/base-converter.js +46 -26
  66. package/lib/src/base-converter.js.map +1 -1
  67. package/lib/src/burpsuite-mapper.d.ts +7 -0
  68. package/lib/src/burpsuite-mapper.d.ts.map +1 -0
  69. package/lib/src/burpsuite-mapper.js +115 -88
  70. package/lib/src/burpsuite-mapper.js.map +1 -1
  71. package/lib/src/checkov-mapper.d.ts +67 -0
  72. package/lib/src/checkov-mapper.d.ts.map +1 -0
  73. package/lib/src/checkov-mapper.js +240 -0
  74. package/lib/src/checkov-mapper.js.map +1 -0
  75. package/lib/src/ckl-mapper/checklist-jsonix-converter.d.ts +17 -0
  76. package/lib/src/ckl-mapper/checklist-jsonix-converter.d.ts.map +1 -0
  77. package/lib/src/ckl-mapper/checklist-jsonix-converter.js +38 -4
  78. package/lib/src/ckl-mapper/checklist-jsonix-converter.js.map +1 -1
  79. package/lib/src/ckl-mapper/checklist-mapper.d.ts +35 -0
  80. package/lib/src/ckl-mapper/checklist-mapper.d.ts.map +1 -0
  81. package/lib/src/ckl-mapper/checklist-mapper.js +262 -151
  82. package/lib/src/ckl-mapper/checklist-mapper.js.map +1 -1
  83. package/lib/src/ckl-mapper/checklist-metadata-utils.d.ts +1 -0
  84. package/lib/src/ckl-mapper/checklist-metadata-utils.d.ts.map +1 -0
  85. package/lib/src/ckl-mapper/checklist-metadata-utils.js +32 -15
  86. package/lib/src/ckl-mapper/checklist-metadata-utils.js.map +1 -1
  87. package/lib/src/ckl-mapper/checklistJsonix.d.ts +6 -0
  88. package/lib/src/ckl-mapper/checklistJsonix.d.ts.map +1 -0
  89. package/lib/src/ckl-mapper/checklistJsonix.js +8 -8
  90. package/lib/src/ckl-mapper/checklistJsonix.js.map +1 -1
  91. package/lib/src/ckl-mapper/jsonixMapping.d.ts +5 -0
  92. package/lib/src/ckl-mapper/jsonixMapping.d.ts.map +1 -0
  93. package/lib/src/ckl-mapper/jsonixMapping.js +4 -0
  94. package/lib/src/ckl-mapper/jsonixMapping.js.map +1 -1
  95. package/lib/src/converters-from-hdf/asff/asff-types.d.ts +1 -0
  96. package/lib/src/converters-from-hdf/asff/asff-types.d.ts.map +1 -0
  97. package/lib/src/converters-from-hdf/asff/asff-types.js +1 -0
  98. package/lib/src/converters-from-hdf/asff/asff-types.js.map +1 -1
  99. package/lib/src/converters-from-hdf/asff/reverse-asff-mapper.d.ts +1 -0
  100. package/lib/src/converters-from-hdf/asff/reverse-asff-mapper.d.ts.map +1 -0
  101. package/lib/src/converters-from-hdf/asff/reverse-asff-mapper.js +110 -84
  102. package/lib/src/converters-from-hdf/asff/reverse-asff-mapper.js.map +1 -1
  103. package/lib/src/converters-from-hdf/asff/transformers.d.ts +1 -0
  104. package/lib/src/converters-from-hdf/asff/transformers.d.ts.map +1 -0
  105. package/lib/src/converters-from-hdf/asff/transformers.js +68 -38
  106. package/lib/src/converters-from-hdf/asff/transformers.js.map +1 -1
  107. package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.d.ts +1 -0
  108. package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.d.ts.map +1 -0
  109. package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.js +54 -28
  110. package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.js.map +1 -1
  111. package/lib/src/converters-from-hdf/html/embedded-assets.d.ts +4 -0
  112. package/lib/src/converters-from-hdf/html/embedded-assets.d.ts.map +1 -0
  113. package/lib/src/converters-from-hdf/html/embedded-assets.js +8 -0
  114. package/lib/src/converters-from-hdf/html/embedded-assets.js.map +1 -0
  115. package/lib/src/converters-from-hdf/html/html-types.d.ts +1 -0
  116. package/lib/src/converters-from-hdf/html/html-types.d.ts.map +1 -0
  117. package/lib/src/converters-from-hdf/html/html-types.js +1 -0
  118. package/lib/src/converters-from-hdf/html/html-types.js.map +1 -1
  119. package/lib/src/converters-from-hdf/html/reverse-html-mapper.d.ts +3 -2
  120. package/lib/src/converters-from-hdf/html/reverse-html-mapper.d.ts.map +1 -0
  121. package/lib/src/converters-from-hdf/html/reverse-html-mapper.js +151 -107
  122. package/lib/src/converters-from-hdf/html/reverse-html-mapper.js.map +1 -1
  123. package/lib/src/converters-from-hdf/reverse-any-base-converter.d.ts +1 -0
  124. package/lib/src/converters-from-hdf/reverse-any-base-converter.d.ts.map +1 -0
  125. package/lib/src/converters-from-hdf/reverse-any-base-converter.js +3 -0
  126. package/lib/src/converters-from-hdf/reverse-any-base-converter.js.map +1 -1
  127. package/lib/src/converters-from-hdf/reverse-base-converter.d.ts +1 -0
  128. package/lib/src/converters-from-hdf/reverse-base-converter.d.ts.map +1 -0
  129. package/lib/src/converters-from-hdf/reverse-base-converter.js +29 -9
  130. package/lib/src/converters-from-hdf/reverse-base-converter.js.map +1 -1
  131. package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.d.ts +1 -0
  132. package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.d.ts.map +1 -0
  133. package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.js +39 -14
  134. package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.js.map +1 -1
  135. package/lib/src/converters-from-hdf/xccdf/reverse-xccdf-mapper.d.ts +1 -0
  136. package/lib/src/converters-from-hdf/xccdf/reverse-xccdf-mapper.d.ts.map +1 -0
  137. package/lib/src/converters-from-hdf/xccdf/reverse-xccdf-mapper.js +32 -10
  138. package/lib/src/converters-from-hdf/xccdf/reverse-xccdf-mapper.js.map +1 -1
  139. package/lib/src/conveyor-mapper.d.ts +1 -0
  140. package/lib/src/conveyor-mapper.d.ts.map +1 -0
  141. package/lib/src/conveyor-mapper.js +85 -40
  142. package/lib/src/conveyor-mapper.js.map +1 -1
  143. package/lib/src/cyclonedx-sbom-mapper.d.ts +1 -0
  144. package/lib/src/cyclonedx-sbom-mapper.d.ts.map +1 -0
  145. package/lib/src/cyclonedx-sbom-mapper.js +368 -294
  146. package/lib/src/cyclonedx-sbom-mapper.js.map +1 -1
  147. package/lib/src/dbprotect-mapper.d.ts +1 -0
  148. package/lib/src/dbprotect-mapper.d.ts.map +1 -0
  149. package/lib/src/dbprotect-mapper.js +74 -63
  150. package/lib/src/dbprotect-mapper.js.map +1 -1
  151. package/lib/src/dependency-track-mapper.d.ts +1 -0
  152. package/lib/src/dependency-track-mapper.d.ts.map +1 -0
  153. package/lib/src/dependency-track-mapper.js +144 -130
  154. package/lib/src/dependency-track-mapper.js.map +1 -1
  155. package/lib/src/fortify-mapper.d.ts +7 -0
  156. package/lib/src/fortify-mapper.d.ts.map +1 -0
  157. package/lib/src/fortify-mapper.js +118 -92
  158. package/lib/src/fortify-mapper.js.map +1 -1
  159. package/lib/src/gosec-mapper.d.ts +1 -0
  160. package/lib/src/gosec-mapper.d.ts.map +1 -0
  161. package/lib/src/gosec-mapper.js +90 -72
  162. package/lib/src/gosec-mapper.js.map +1 -1
  163. package/lib/src/ionchannel-mapper.d.ts +1 -0
  164. package/lib/src/ionchannel-mapper.d.ts.map +1 -0
  165. package/lib/src/ionchannel-mapper.js +130 -110
  166. package/lib/src/ionchannel-mapper.js.map +1 -1
  167. package/lib/src/jfrog-xray-mapper.d.ts +1 -0
  168. package/lib/src/jfrog-xray-mapper.d.ts.map +1 -0
  169. package/lib/src/jfrog-xray-mapper.js +92 -78
  170. package/lib/src/jfrog-xray-mapper.js.map +1 -1
  171. package/lib/src/jsonix-converter.d.ts +1 -0
  172. package/lib/src/jsonix-converter.d.ts.map +1 -0
  173. package/lib/src/jsonix-converter.js +1 -0
  174. package/lib/src/jsonix-converter.js.map +1 -1
  175. package/lib/src/jsonix-intermediate-converter.d.ts +1 -0
  176. package/lib/src/jsonix-intermediate-converter.d.ts.map +1 -0
  177. package/lib/src/jsonix-intermediate-converter.js.map +1 -1
  178. package/lib/src/mappings/AwsConfigMapping.d.ts +1 -0
  179. package/lib/src/mappings/AwsConfigMapping.d.ts.map +1 -0
  180. package/lib/src/mappings/AwsConfigMapping.js +19 -9
  181. package/lib/src/mappings/AwsConfigMapping.js.map +1 -1
  182. package/lib/src/mappings/AwsConfigMappingData.d.ts +1 -0
  183. package/lib/src/mappings/AwsConfigMappingData.d.ts.map +1 -0
  184. package/lib/src/mappings/AwsConfigMappingData.js.map +1 -1
  185. package/lib/src/mappings/CciNistMapping.d.ts +1 -0
  186. package/lib/src/mappings/CciNistMapping.d.ts.map +1 -0
  187. package/lib/src/mappings/CciNistMapping.js +4 -0
  188. package/lib/src/mappings/CciNistMapping.js.map +1 -1
  189. package/lib/src/mappings/CciNistMappingData.d.ts +1 -0
  190. package/lib/src/mappings/CciNistMappingData.d.ts.map +1 -0
  191. package/lib/src/mappings/CciNistMappingData.js.map +1 -1
  192. package/lib/src/mappings/CciNistMappingItem.d.ts +1 -0
  193. package/lib/src/mappings/CciNistMappingItem.d.ts.map +1 -0
  194. package/lib/src/mappings/CciNistMappingItem.js +2 -0
  195. package/lib/src/mappings/CciNistMappingItem.js.map +1 -1
  196. package/lib/src/mappings/CheckovToCciAndNistMappingData.d.ts +5 -0
  197. package/lib/src/mappings/CheckovToCciAndNistMappingData.d.ts.map +1 -0
  198. package/lib/src/mappings/CheckovToCciAndNistMappingData.js +2695 -0
  199. package/lib/src/mappings/CheckovToCciAndNistMappingData.js.map +1 -0
  200. package/lib/src/mappings/CweNistMapping.d.ts +1 -0
  201. package/lib/src/mappings/CweNistMapping.d.ts.map +1 -0
  202. package/lib/src/mappings/CweNistMapping.js +1 -0
  203. package/lib/src/mappings/CweNistMapping.js.map +1 -1
  204. package/lib/src/mappings/CweNistMappingData.d.ts +1 -0
  205. package/lib/src/mappings/CweNistMappingData.d.ts.map +1 -0
  206. package/lib/src/mappings/CweNistMappingData.js.map +1 -1
  207. package/lib/src/mappings/CweNistMappingItem.d.ts +1 -0
  208. package/lib/src/mappings/CweNistMappingItem.d.ts.map +1 -0
  209. package/lib/src/mappings/CweNistMappingItem.js +5 -0
  210. package/lib/src/mappings/CweNistMappingItem.js.map +1 -1
  211. package/lib/src/mappings/NessusPluginNistMappingData.d.ts +1 -0
  212. package/lib/src/mappings/NessusPluginNistMappingData.d.ts.map +1 -0
  213. package/lib/src/mappings/NessusPluginNistMappingData.js.map +1 -1
  214. package/lib/src/mappings/NessusPluginsNistMapping.d.ts +1 -0
  215. package/lib/src/mappings/NessusPluginsNistMapping.d.ts.map +1 -0
  216. package/lib/src/mappings/NessusPluginsNistMapping.js +1 -0
  217. package/lib/src/mappings/NessusPluginsNistMapping.js.map +1 -1
  218. package/lib/src/mappings/NessusPluginsNistMappingItem.d.ts +1 -0
  219. package/lib/src/mappings/NessusPluginsNistMappingItem.d.ts.map +1 -0
  220. package/lib/src/mappings/NessusPluginsNistMappingItem.js +4 -0
  221. package/lib/src/mappings/NessusPluginsNistMappingItem.js.map +1 -1
  222. package/lib/src/mappings/NiktoNistMapping.d.ts +1 -0
  223. package/lib/src/mappings/NiktoNistMapping.d.ts.map +1 -0
  224. package/lib/src/mappings/NiktoNistMapping.js.map +1 -1
  225. package/lib/src/mappings/NiktoNistMappingData.d.ts +1 -0
  226. package/lib/src/mappings/NiktoNistMappingData.d.ts.map +1 -0
  227. package/lib/src/mappings/NiktoNistMappingData.js.map +1 -1
  228. package/lib/src/mappings/NiktoNistMappingItem.d.ts +1 -0
  229. package/lib/src/mappings/NiktoNistMappingItem.d.ts.map +1 -0
  230. package/lib/src/mappings/NiktoNistMappingItem.js +4 -0
  231. package/lib/src/mappings/NiktoNistMappingItem.js.map +1 -1
  232. package/lib/src/mappings/NistCciMappingData.d.ts +1 -0
  233. package/lib/src/mappings/NistCciMappingData.d.ts.map +1 -0
  234. package/lib/src/mappings/NistCciMappingData.js.map +1 -1
  235. package/lib/src/mappings/OwaspNistMapping.d.ts +1 -0
  236. package/lib/src/mappings/OwaspNistMapping.d.ts.map +1 -0
  237. package/lib/src/mappings/OwaspNistMapping.js +18 -7
  238. package/lib/src/mappings/OwaspNistMapping.js.map +1 -1
  239. package/lib/src/mappings/OwaspNistMappingData.d.ts +1 -0
  240. package/lib/src/mappings/OwaspNistMappingData.d.ts.map +1 -0
  241. package/lib/src/mappings/OwaspNistMappingData.js.map +1 -1
  242. package/lib/src/mappings/OwaspNistMappingItem.d.ts +1 -0
  243. package/lib/src/mappings/OwaspNistMappingItem.d.ts.map +1 -0
  244. package/lib/src/mappings/OwaspNistMappingItem.js +5 -0
  245. package/lib/src/mappings/OwaspNistMappingItem.js.map +1 -1
  246. package/lib/src/mappings/ScoutsuiteNistMapping.d.ts +1 -0
  247. package/lib/src/mappings/ScoutsuiteNistMapping.d.ts.map +1 -0
  248. package/lib/src/mappings/ScoutsuiteNistMapping.js +1 -0
  249. package/lib/src/mappings/ScoutsuiteNistMapping.js.map +1 -1
  250. package/lib/src/mappings/ScoutsuiteNistMappingData.d.ts +1 -0
  251. package/lib/src/mappings/ScoutsuiteNistMappingData.d.ts.map +1 -0
  252. package/lib/src/mappings/ScoutsuiteNistMappingData.js.map +1 -1
  253. package/lib/src/mappings/ScoutsuiteNistMappingItem.d.ts +1 -0
  254. package/lib/src/mappings/ScoutsuiteNistMappingItem.d.ts.map +1 -0
  255. package/lib/src/mappings/ScoutsuiteNistMappingItem.js +2 -0
  256. package/lib/src/mappings/ScoutsuiteNistMappingItem.js.map +1 -1
  257. package/lib/src/msft-secure-score-mapper.d.ts +1 -0
  258. package/lib/src/msft-secure-score-mapper.d.ts.map +1 -0
  259. package/lib/src/msft-secure-score-mapper.js +202 -185
  260. package/lib/src/msft-secure-score-mapper.js.map +1 -1
  261. package/lib/src/nessus-mapper.d.ts +2 -1
  262. package/lib/src/nessus-mapper.d.ts.map +1 -0
  263. package/lib/src/nessus-mapper.js +122 -105
  264. package/lib/src/nessus-mapper.js.map +1 -1
  265. package/lib/src/netsparker-mapper.d.ts +7 -0
  266. package/lib/src/netsparker-mapper.d.ts.map +1 -0
  267. package/lib/src/netsparker-mapper.js +34 -9
  268. package/lib/src/netsparker-mapper.js.map +1 -1
  269. package/lib/src/neuvector-mapper.d.ts +1 -0
  270. package/lib/src/neuvector-mapper.d.ts.map +1 -0
  271. package/lib/src/neuvector-mapper.js +120 -117
  272. package/lib/src/neuvector-mapper.js.map +1 -1
  273. package/lib/src/nikto-mapper.d.ts +1 -0
  274. package/lib/src/nikto-mapper.d.ts.map +1 -0
  275. package/lib/src/nikto-mapper.js +85 -74
  276. package/lib/src/nikto-mapper.js.map +1 -1
  277. package/lib/src/prisma-mapper.d.ts +1 -0
  278. package/lib/src/prisma-mapper.d.ts.map +1 -0
  279. package/lib/src/prisma-mapper.js +138 -128
  280. package/lib/src/prisma-mapper.js.map +1 -1
  281. package/lib/src/sarif-mapper.d.ts +1 -0
  282. package/lib/src/sarif-mapper.d.ts.map +1 -0
  283. package/lib/src/sarif-mapper.js +116 -105
  284. package/lib/src/sarif-mapper.js.map +1 -1
  285. package/lib/src/scoutsuite-mapper.d.ts +1 -0
  286. package/lib/src/scoutsuite-mapper.d.ts.map +1 -0
  287. package/lib/src/scoutsuite-mapper.js +174 -163
  288. package/lib/src/scoutsuite-mapper.js.map +1 -1
  289. package/lib/src/snyk-mapper.d.ts +1 -0
  290. package/lib/src/snyk-mapper.d.ts.map +1 -0
  291. package/lib/src/snyk-mapper.js +112 -100
  292. package/lib/src/snyk-mapper.js.map +1 -1
  293. package/lib/src/sonarqube-mapper.d.ts +18 -5
  294. package/lib/src/sonarqube-mapper.d.ts.map +1 -0
  295. package/lib/src/sonarqube-mapper.js +525 -271
  296. package/lib/src/sonarqube-mapper.js.map +1 -1
  297. package/lib/src/splunk-mapper.d.ts +3 -2
  298. package/lib/src/splunk-mapper.d.ts.map +1 -0
  299. package/lib/src/splunk-mapper.js +69 -12
  300. package/lib/src/splunk-mapper.js.map +1 -1
  301. package/lib/src/trufflehog-mapper.d.ts +1 -0
  302. package/lib/src/trufflehog-mapper.d.ts.map +1 -0
  303. package/lib/src/trufflehog-mapper.js +72 -69
  304. package/lib/src/trufflehog-mapper.js.map +1 -1
  305. package/lib/src/twistlock-mapper.d.ts +1 -0
  306. package/lib/src/twistlock-mapper.d.ts.map +1 -0
  307. package/lib/src/twistlock-mapper.js +140 -126
  308. package/lib/src/twistlock-mapper.js.map +1 -1
  309. package/lib/src/utils/CCI_List.d.ts +1 -0
  310. package/lib/src/utils/CCI_List.d.ts.map +1 -0
  311. package/lib/src/utils/CCI_List.js.map +1 -1
  312. package/lib/src/utils/attestations.d.ts +1 -0
  313. package/lib/src/utils/attestations.d.ts.map +1 -0
  314. package/lib/src/utils/attestations.js +28 -13
  315. package/lib/src/utils/attestations.js.map +1 -1
  316. package/lib/src/utils/compliance.d.ts +1 -0
  317. package/lib/src/utils/compliance.d.ts.map +1 -0
  318. package/lib/src/utils/compliance.js +11 -3
  319. package/lib/src/utils/compliance.js.map +1 -1
  320. package/lib/src/utils/fingerprinting.d.ts +2 -0
  321. package/lib/src/utils/fingerprinting.d.ts.map +1 -0
  322. package/lib/src/utils/fingerprinting.js +28 -11
  323. package/lib/src/utils/fingerprinting.js.map +1 -1
  324. package/lib/src/utils/global.d.ts +3 -1
  325. package/lib/src/utils/global.d.ts.map +1 -0
  326. package/lib/src/utils/global.js +34 -15
  327. package/lib/src/utils/global.js.map +1 -1
  328. package/lib/src/utils/parseJson.d.ts +1 -0
  329. package/lib/src/utils/parseJson.d.ts.map +1 -0
  330. package/lib/src/utils/parseJson.js +7 -3
  331. package/lib/src/utils/parseJson.js.map +1 -1
  332. package/lib/src/utils/result.d.ts +1 -0
  333. package/lib/src/utils/result.d.ts.map +1 -0
  334. package/lib/src/utils/result.js.map +1 -1
  335. package/lib/src/utils/splunk-tools.d.ts +2 -1
  336. package/lib/src/utils/splunk-tools.d.ts.map +1 -0
  337. package/lib/src/utils/splunk-tools.js +52 -31
  338. package/lib/src/utils/splunk-tools.js.map +1 -1
  339. package/lib/src/veracode-mapper.d.ts +1 -0
  340. package/lib/src/veracode-mapper.d.ts.map +1 -0
  341. package/lib/src/veracode-mapper.js +50 -7
  342. package/lib/src/veracode-mapper.js.map +1 -1
  343. package/lib/src/xccdf-results-mapper.d.ts +7 -0
  344. package/lib/src/xccdf-results-mapper.d.ts.map +1 -0
  345. package/lib/src/xccdf-results-mapper.js +336 -301
  346. package/lib/src/xccdf-results-mapper.js.map +1 -1
  347. package/lib/src/zap-mapper.d.ts +8 -0
  348. package/lib/src/zap-mapper.d.ts.map +1 -0
  349. package/lib/src/zap-mapper.js +119 -90
  350. package/lib/src/zap-mapper.js.map +1 -1
  351. package/lib/tsconfig.build.tsbuildinfo +1 -0
  352. package/lib/types/neuvector-types.d.ts +1 -0
  353. package/lib/types/neuvector-types.d.ts.map +1 -0
  354. package/lib/types/neuvector-types.js +80 -0
  355. package/lib/types/neuvector-types.js.map +1 -1
  356. package/lib/types/splunk-config-types.d.ts +1 -0
  357. package/lib/types/splunk-config-types.d.ts.map +1 -0
  358. package/lib/types/splunk-config-types.js.map +1 -1
  359. package/lib/types/splunk-control-types.d.ts +1 -0
  360. package/lib/types/splunk-control-types.d.ts.map +1 -0
  361. package/lib/types/splunk-control-types.js.map +1 -1
  362. package/lib/types/splunk-profile-types.d.ts +1 -0
  363. package/lib/types/splunk-profile-types.d.ts.map +1 -0
  364. package/lib/types/splunk-profile-types.js.map +1 -1
  365. package/lib/types/splunk-report-types.d.ts +1 -0
  366. package/lib/types/splunk-report-types.d.ts.map +1 -0
  367. package/lib/types/splunk-report-types.js.map +1 -1
  368. package/package.json +19 -40
  369. package/lib/data/converters/csv2json.ts +0 -36
  370. package/lib/data/converters/xml2json.ts +0 -57
@@ -15,26 +15,40 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
28
38
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.checkSplunkCredentials = exports.handleSplunkErrorResponse = exports.generateHostname = void 0;
39
+ exports.generateHostname = generateHostname;
40
+ exports.handleSplunkErrorResponse = handleSplunkErrorResponse;
41
+ exports.checkSplunkCredentials = checkSplunkCredentials;
30
42
  const axios_1 = __importDefault(require("axios"));
31
43
  const _ = __importStar(require("lodash"));
44
+ // Helper function to generate a parseable hostname for HTTP requests
32
45
  function generateHostname(config) {
33
46
  return config.port
34
47
  ? `${config.scheme}://${config.host}:${config.port}`
35
48
  : `${config.scheme}://${config.host}:8089`;
36
49
  }
37
- exports.generateHostname = generateHostname;
50
+ // Parse through valid Splunk HTTP errors and report failed request cause
51
+ // Per https://docs.splunk.com/Documentation/Splunk/latest/RESTUM/RESTusing#HTTP_Status_Codes
38
52
  function handleSplunkErrorResponse(error) {
39
53
  switch (_.get(error, ['response', 'status'])) {
40
54
  case 400:
@@ -57,40 +71,47 @@ function handleSplunkErrorResponse(error) {
57
71
  return `Unexpected error`;
58
72
  }
59
73
  }
60
- exports.handleSplunkErrorResponse = handleSplunkErrorResponse;
74
+ // Returns a string typed session key for any given valid set of credentials
61
75
  async function checkSplunkCredentials(config) {
62
76
  const hostname = generateHostname(config);
63
- const username = (config.username ??= '');
64
- const password = (config.password ??= '');
65
- let authRequest;
77
+ const username = config.username ?? '';
78
+ const password = config.password ?? '';
79
+ // Time to wait (in ms) for login query response until returning bad query status
80
+ // Arbitrary, change as necessary
66
81
  const loginTimeout = 5000;
67
- const loginTimer = setTimeout(() => {
68
- throw new Error('Login timed out - Please check your CORS configuration or validate that you have inputted the correct domain');
69
- }, loginTimeout);
82
+ const controller = new AbortController();
83
+ const timeoutId = setTimeout(() => controller.abort(), loginTimeout);
70
84
  try {
71
- authRequest = await axios_1.default.post(`${hostname}/services/auth/login`, new URLSearchParams({
72
- username: username,
73
- password: password
74
- }), { params: { output_mode: 'json' } });
85
+ // Try authenticating to Splunk with given credentials
86
+ const authRequest = await axios_1.default.post(`${hostname}/services/auth/login`, new URLSearchParams({ username, password }), {
87
+ params: { output_mode: 'json' },
88
+ signal: controller.signal
89
+ });
90
+ if (_.has(authRequest, ['data', 'sessionKey'])) {
91
+ return authRequest.data.sessionKey;
92
+ }
93
+ throw new Error('Failed to login - Malformed authentication response received');
75
94
  }
76
95
  catch (error) {
77
- clearTimeout(loginTimer);
96
+ // Error handling for timeout
97
+ if (error?.name === 'CanceledError' ||
98
+ error?.code === 'ERR_CANCELED' ||
99
+ controller.signal.aborted) {
100
+ // Fail query if request takes too long to respond
101
+ throw new Error('Login timed out - Please check your CORS configuration or validate that you have inputted the correct domain');
102
+ }
103
+ // Error handling for normal HTTP and axios errors
78
104
  console.log(`Splunk axios error: ${error}`);
105
+ // Parse error response and report why request failed
79
106
  const errorCode = handleSplunkErrorResponse(error);
80
107
  if (errorCode === 'Unexpected error') {
81
108
  throw new Error(`Failed to login - Please check your CORS configuration and validate that your input has the correct domain: ${error}`);
82
109
  }
83
- else {
84
- throw new Error(`Failed to login - ${errorCode}`);
85
- }
110
+ throw new Error(`Failed to login - ${errorCode}`);
86
111
  }
87
- clearTimeout(loginTimer);
88
- if (_.has(authRequest, ['data', 'sessionKey'])) {
89
- return authRequest.data.sessionKey;
90
- }
91
- else {
92
- throw new Error('Failed to login - Malformed authentication response received');
112
+ finally {
113
+ // Kill timer since request has failed
114
+ clearTimeout(timeoutId);
93
115
  }
94
116
  }
95
- exports.checkSplunkCredentials = checkSplunkCredentials;
96
117
  //# sourceMappingURL=splunk-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"splunk-tools.js","sourceRoot":"","sources":["../../../src/utils/splunk-tools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA2C;AAC3C,0CAA4B;AAI5B,SAAgB,gBAAgB,CAAC,MAAoB;IACnD,OAAO,MAAM,CAAC,IAAI;QAChB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE;QACpD,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,IAAI,OAAO,CAAC;AAC/C,CAAC;AAJD,4CAIC;AAID,SAAgB,yBAAyB,CAAC,KAAoB;IAC5D,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,EAAE;QAC5C,KAAK,GAAG;YACN,OAAO,4BAA4B,CAAC;QACtC,KAAK,GAAG;YACN,OAAO,gCAAgC,CAAC;QAC1C,KAAK,GAAG;YACN,OAAO,sBAAsB,CAAC;QAChC,KAAK,GAAG;YACN,OAAO,0CAA0C,CAAC;QACpD,KAAK,GAAG;YACN,OAAO,kCAAkC,CAAC;QAC5C,KAAK,GAAG;YACN,OAAO,4CAA4C,CAAC;QACtD,KAAK,GAAG;YACN,OAAO,uBAAuB,CAAC;QACjC,KAAK,GAAG;YACN,OAAO,mDAAmD,CAAC;QAC7D;YACE,OAAO,kBAAkB,CAAC;KAC7B;AACH,CAAC;AArBD,8DAqBC;AAGM,KAAK,UAAU,sBAAsB,CAC1C,MAAoB;IAEpB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC;IAC1C,IAAI,WAA0B,CAAC;IAI/B,MAAM,YAAY,GAAG,IAAI,CAAC;IAG1B,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;QACjC,MAAM,IAAI,KAAK,CACb,8GAA8G,CAC/G,CAAC;IACJ,CAAC,EAAE,YAAY,CAAC,CAAC;IAGjB,IAAI;QACF,WAAW,GAAG,MAAM,eAAK,CAAC,IAAI,CAC5B,GAAG,QAAQ,sBAAsB,EACjC,IAAI,eAAe,CAAC;YAClB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;SACnB,CAAC,EACF,EAAC,MAAM,EAAE,EAAC,WAAW,EAAE,MAAM,EAAC,EAAC,CAChC,CAAC;KACH;IAAC,OAAO,KAAK,EAAE;QAEd,YAAY,CAAC,UAAU,CAAC,CAAC;QAEzB,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;QAG5C,MAAM,SAAS,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,SAAS,KAAK,kBAAkB,EAAE;YACpC,MAAM,IAAI,KAAK,CACb,+GAA+G,KAAK,EAAE,CACvH,CAAC;SACH;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;SACnD;KACF;IAGD,YAAY,CAAC,UAAU,CAAC,CAAC;IAGzB,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE;QAC9C,OAAO,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;KACpC;SAAM;QACL,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;KACH;AACH,CAAC;AAzDD,wDAyDC"}
1
+ {"version":3,"file":"splunk-tools.js","sourceRoot":"","sources":["../../../src/utils/splunk-tools.ts"],"names":[],"mappings":"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","sourcesContent":["import axios, {AxiosResponse} from 'axios';\nimport * as _ from 'lodash';\nimport {SplunkConfig} from '../../types/splunk-config-types';\n\n// Helper function to generate a parseable hostname for HTTP requests\nexport function generateHostname(config: SplunkConfig): string {\n return config.port\n ? `${config.scheme}://${config.host}:${config.port}`\n : `${config.scheme}://${config.host}:8089`;\n}\n\n// Parse through valid Splunk HTTP errors and report failed request cause\n// Per https://docs.splunk.com/Documentation/Splunk/latest/RESTUM/RESTusing#HTTP_Status_Codes\nexport function handleSplunkErrorResponse(error: AxiosResponse | unknown): string {\n switch (_.get(error, ['response', 'status'])) {\n case 400:\n return 'Malformed request received';\n case 401:\n return 'Incorrect username or password';\n case 402:\n return 'Bad license detected';\n case 403:\n return 'Insufficient permission for this request';\n case 404:\n return 'Targeted endpoint does not exist';\n case 409:\n return 'Invalid request operation made on endpoint';\n case 500:\n return 'Internal server error';\n case 503:\n return 'This feature is disabled by server configurations';\n default:\n return `Unexpected error`;\n }\n}\n\n// Returns a string typed session key for any given valid set of credentials\nexport async function checkSplunkCredentials(\n config: SplunkConfig\n): Promise<string> {\n const hostname = generateHostname(config);\n const username = config.username ?? '';\n const password = config.password ?? '';\n\n // Time to wait (in ms) for login query response until returning bad query status\n // Arbitrary, change as necessary\n const loginTimeout = 5000;\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), loginTimeout);\n\n try {\n // Try authenticating to Splunk with given credentials\n const authRequest: AxiosResponse = await axios.post(\n `${hostname}/services/auth/login`,\n new URLSearchParams({username, password}),\n {\n params: {output_mode: 'json'},\n signal: controller.signal\n }\n );\n\n if (_.has(authRequest, ['data', 'sessionKey'])) {\n return authRequest.data.sessionKey;\n }\n\n throw new Error('Failed to login - Malformed authentication response received');\n } catch (error: any) {\n // Error handling for timeout\n if (\n error?.name === 'CanceledError' ||\n error?.code === 'ERR_CANCELED' ||\n controller.signal.aborted\n ) {\n // Fail query if request takes too long to respond\n throw new Error(\n 'Login timed out - Please check your CORS configuration or validate that you have inputted the correct domain'\n );\n }\n\n // Error handling for normal HTTP and axios errors\n console.log(`Splunk axios error: ${error}`);\n // Parse error response and report why request failed\n const errorCode = handleSplunkErrorResponse(error);\n if (errorCode === 'Unexpected error') {\n throw new Error(\n `Failed to login - Please check your CORS configuration and validate that your input has the correct domain: ${error}`\n );\n }\n throw new Error(`Failed to login - ${errorCode}`);\n } finally {\n // Kill timer since request has failed\n clearTimeout(timeoutId);\n }\n}\n"]}
@@ -7,3 +7,4 @@ export declare class VeracodeMapper extends BaseConverter {
7
7
  }, ILookupPath>;
8
8
  constructor(xml: string, withRaw?: boolean);
9
9
  }
10
+ //# sourceMappingURL=veracode-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"veracode-mapper.d.ts","sourceRoot":"","sources":["../../src/veracode-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAGlC,OAAO,EACL,aAAa,EACb,WAAW,EACX,eAAe,EAEhB,MAAM,kBAAkB,CAAC;AA0Z1B,qBAAa,cAAe,SAAQ,aAAa;IAC/C,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,CACZ,OAAO,UAAQ,GACd,eAAe,CAAC,QAAQ,CAAC,SAAS,GAAG;QAAC,WAAW,EAAE,OAAO,CAAA;KAAC,EAAE,WAAW,CAAC;gBA8FhE,GAAG,EAAE,MAAM,EAAE,OAAO,UAAQ;CA0BzC"}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.VeracodeMapper = void 0;
27
37
  const inspecjs_1 = require("inspecjs");
@@ -137,6 +147,7 @@ function getFlaws(input) {
137
147
  input = [input];
138
148
  }
139
149
  for (const value of input) {
150
+ // change name
140
151
  let staticFlaw = _.get(value, STATIC_FLAWS);
141
152
  if (!Array.isArray(staticFlaw)) {
142
153
  staticFlaw = [staticFlaw];
@@ -362,6 +373,7 @@ function componentPass(component) {
362
373
  return _.omit(component, 'vulnerabilities');
363
374
  }
364
375
  class VeracodeMapper extends base_converter_1.BaseConverter {
376
+ originalData;
365
377
  defaultMapping(withRaw = false) {
366
378
  return {
367
379
  platform: {
@@ -410,6 +422,35 @@ class VeracodeMapper extends base_converter_1.BaseConverter {
410
422
  })),
411
423
  {
412
424
  path: 'detailedreport.software_composition_analysis.vulnerable_components',
425
+ /* The original formal of vulnerable_components is the following:
426
+
427
+ [
428
+ {
429
+ component_data (including file path)
430
+ vulnerabliities{
431
+ vulnerability[
432
+ cve_data
433
+ ]
434
+ }
435
+ }
436
+ ...
437
+ ]
438
+
439
+ these need to be switched to be:
440
+ [
441
+ {
442
+ cve_data
443
+ filepaths
444
+ components [
445
+ {component_data}
446
+ ]
447
+ }
448
+ ]
449
+ this is because in heimdall, in general each control should be the error itself, with tests
450
+ being specific failure instances having the cve, being listed as the control since it is an issue
451
+ and the component, where the issue happened as being a test is a better aproximation of this.
452
+ format.
453
+ */
413
454
  pathTransform: componentTransform,
414
455
  ...controlMappingCve()
415
456
  }
@@ -420,6 +461,8 @@ class VeracodeMapper extends base_converter_1.BaseConverter {
420
461
  };
421
462
  }
422
463
  constructor(xml, withRaw = false) {
464
+ // the default textNodeName that we're using ('text') clobbers any attributes that also are named 'text' of which there are many in this format
465
+ // the attribute group names are necessary since there are many times that attributes and inner tags share the same name within a tag (ex. 'vulnerabilities' the attribute is a count whereas as an inner tag it is an array detailing the vulnerabilities) where it seems that the attribute clobbers the inner tag
423
466
  const parsedXML = (0, base_converter_1.parseXml)(xml, {
424
467
  attributesGroupName: '@_',
425
468
  textNodeName: 'text_'
@@ -1 +1 @@
1
- {"version":3,"file":"veracode-mapper.js","sourceRoot":"","sources":["../../src/veracode-mapper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAkC;AAClC,0CAA4B;AAC5B,kDAAgE;AAChE,qDAK0B;AAC1B,8DAAyD;AACzD,2CAAkD;AAClD,MAAM,YAAY,GAAG,kBAAkB,CAAC;AACxC,MAAM,QAAQ,GAAG,yBAAyB,CAAC;AAC3C,MAAM,eAAe,GAAG,+BAA+B,CAAC;AACxD,MAAM,gBAAgB,GAAG,IAAI,+BAAc,EAAE,CAAC;AAC9C,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IAClD,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;CACX,CAAC,CAAC;AAEH,SAAS,aAAa,CAAC,QAAyB;IAC9C,OAAO,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,GAAG,CAAC;AACxD,CAAC;AAED,SAAS,OAAO,CAAC,KAA8B;IAC7C,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACvB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;KACb;IACD,IAAI,CAAC,IAAI,CACP,GAAI,GAAiC,CAAC,GAAG,CACvC,CAAC,KAA8B,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAC7D,CACF,CAAC;IACF,OAAO,gBAAgB,CAAC,UAAU,CAAC,IAAgB,EAAE,gBAAgB,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,qBAAqB,CAAC,KAA8B;IAC3D,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,sBAAsB,CAAC,EAAE;QACxC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,8BAA8B,CAAC,EAAE;YAChD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,8BAA8B,CAAC,EAAE,CAAC,CAAC;SAC9D;aAAM;YACL,IAAI,CAAC,IAAI,CACP,GACE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,sBAAsB,CACpC,CAAC,GAAG,CACH,CAAC,KAA8B,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAW,CACtE,CACF,CAAC;SACH;KACF;IACD,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,iCAAiC,CAAC,EAAE;QACnD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,iCAAiC,CAAC,CAAC,EAAE;YAClE,IAAI,CAAC,IAAI,CACP,GACE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,iCAAiC,CAI/C,CAAC,GAAG,CACH,CAAC,KAA8B,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAW,CACtE,CACF,CAAC;SACH;KACF;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,UAAU,CAAC,KAA8B;IAChD,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE;QAC7B,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC;SACnD;aAAM;YACL,IAAI,CAAC,IAAI,CACP,GAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAA+B,CAAC,GAAG,CAC7D,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CACnC,CACF,CAAC;SACH;KACF;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,KAA8B;IACnD,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,UAAU,GAAG;QACjB,aAAa;QACb,OAAO;QACP,WAAW;QACX,MAAM;QACN,OAAO;QACP,SAAS;QACT,UAAU;QACV,aAAa;KACd,CAAC;IACF,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;QACvB,IAAI,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC5B,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;SACvB;QACD,IAAI,CAAC,IAAI,CACP,GAAI,QAAsC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACzD,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC;YAChD,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;YACzC,GAAG,IAAI,UAAU;iBACd,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;gBACrB,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,EAAE,CAAC,EAAE;oBACjC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC;oBAC1C,OAAO,GAAG,KAAK,KAAK,GAAG,IAAI,CAAC;iBAC7B;qBAAM;oBACL,OAAO,EAAE,CAAC;iBACX;YACH,CAAC,CAAC;iBACD,IAAI,CAAC,EAAE,CAAC,CAAC;YACZ,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CACH,CAAC;KACH;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,aAAa,CAAC,KAA8B;IACnD,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;QACvB,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACvB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;SACb;QACD,IAAI,CAAC,IAAI,CACP,GAAI,GAAiC,CAAC,GAAG,CACvC,CAAC,KAA8B,EAAE,EAAE,CACjC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CACvC,KAAK,EACL,YAAY,CACb,iBAAiB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,0BAA0B,CAAC,IAAI,CACjE,CACF,CAAC;KACH;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,MAAM,OAAO,GAA8B,EAAE,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACzB,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;KACjB;IACD,KAAK,MAAM,KAAK,IAAI,KAAkC,EAAE;QAEtD,IAAI,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAEb,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC9B,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC;SAC3B;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;KAC7B;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AACD,SAAS,cAAc,CAAC,KAAgC;IACtD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,MAAM,UAAU,GAAG;QACjB,CAAC,aAAa,EAAE,MAAM,CAAC;QACvB,CAAC,0BAA0B,EAAE,2BAA2B,CAAC;QACzD,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;QAC3C,CAAC,eAAe,EAAE,cAAc,CAAC;QACjC,CAAC,UAAU,EAAE,SAAS,CAAC;QACvB,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACpB,CAAC,MAAM,EAAE,MAAM,CAAC;QAChB,CAAC,QAAQ,EAAE,OAAO,CAAC;QACnB,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;QAChD,CAAC,YAAY,EAAE,YAAY,CAAC;QAC5B,CAAC,aAAa,EAAE,aAAa,CAAC;QAC9B,CAAC,aAAa,EAAE,YAAY,CAAC;QAC7B,CAAC,OAAO,EAAE,OAAO,CAAC;QAClB,CAAC,YAAY,EAAE,YAAY,CAAC;QAC5B,CAAC,aAAa,EAAE,YAAY,CAAC;QAC7B,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;QAC3C,CAAC,4BAA4B,EAAE,0BAA0B,CAAC;KAC3D,CAAC;IACF,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,EAAE;QACrC,QAAQ,GAAG,oBAAoB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,IAAI,CAAC;QACrE,QAAQ,IAAI,UAAU;aACnB,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;YACrB,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,EAAE;gBAC9B,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;gBAC3C,OAAO,GAAG,KAAK,KAAK,OAAO,IAAI,CAAC;aACjC;iBAAM;gBACL,OAAO,EAAE,CAAC;aACX;QACH,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;KACb;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA8B;IACvD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,MAAM,UAAU,GAAG;QACjB,MAAM;QACN,WAAW;QACX,gBAAgB;QAChB,SAAS;QACT,SAAS;QACT,YAAY;QACZ,QAAQ;QACR,aAAa;QACb,YAAY;QACZ,qCAAqC;KACtC,CAAC;IACF,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE;QACnC,QAAQ,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC;QAChE,QAAQ,IAAI,CAAC,CAAC,OAAO,CACnB,UAAU,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;YAC/B,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,EAAE,CAAC,EAAE;gBAC/B,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC;gBACxC,OAAO,GAAG,KAAK,KAAK,GAAG,EAAE,CAAC;aAC3B;iBAAM;gBACL,OAAO,EAAE,CAAC;aACX;QACH,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE;YACjC,QAAQ,IAAI,gBAAgB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC;SAC/D;KACF;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAgC;IAC5D,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACzB,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;KACjB;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;QACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,EAAE;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAW,CAAC,CAAC;SACpD;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,GAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAc,CAAC,CAAC;SAC3D;KACF;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,aAAa,GAA8B,EAAE,CAAC;IACpD,IAAI,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAEX,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;QAC7B,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC;KACzB;IACD,KAAK,MAAM,KAAK,IAAI,SAAsC,EAAE;QAC1D,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,oBAAoB,CAAC,KAAK,GAAG,EAAE;YAC9C,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3B;KACF;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,aAAa,GAA8B,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAE5E,MAAM,KAAK,GAA8B,aAAa;SACnD,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACjB,IAAI,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,+BAA+B,CAEvC,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YACjC,aAAa,GAAG,CAAC,aAAa,CAAC,CAAC;SACjC;QACD,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3C,GAAG,IAAI;YACP,UAAU,EAAE,CAAC,SAAS,CAAC;SACxB,CAAC,CAAC,CAAC;QACJ,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;SACD,IAAI,EAAE;SACN,MAAM,CAAC,CAAC,GAA8B,EAAE,GAA4B,EAAE,EAAE;QACvE,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;QAC1E,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;SACtB;aAAM;YACJ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,YAAY,CAA+B,CAAC,IAAI,CACjE,GAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAA+B,CAC3D,CAAC;YACF,OAAO,GAAG,CAAC;SACZ;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB;IAIxB,OAAO;QACL,EAAE,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC;QACvB,KAAK,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC;QAC1B,IAAI,EAAE,EAAC,IAAI,EAAE,gBAAgB,EAAC;QAC9B,MAAM,EAAE,EAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAC;QACzD,IAAI,EAAE,EAAE;QACR,IAAI,EAAE;YACJ,GAAG,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC;YACxB,IAAI,EAAE;gBACJ,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,CAAC,KAAwB,EAAE,EAAE;oBACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;wBACzB,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;qBACjB;oBAED,OAAO,gBAAgB,CAAC,UAAU,CAChC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC5C,gBAAgB,CACjB,CAAC;gBACJ,CAAC;aACF;SACF;QACD,eAAe,EAAE;YACf,GAAG,EAAE;gBACH,WAAW,EAAE,CAAC,IAA6B,EAAE,EAAE,CAC5C,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAA+B;qBACrD,GAAG,CAAC,CAAC,IAA6B,EAAE,EAAE,CACrC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,CAC7B;qBACA,IAAI,CAAC,IAAI,CAAC;aAChB;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,mBAAQ,CAAC,mBAAmB,CAAC,MAAM;gBAC3C,SAAS,EAAE,EAAC,WAAW,EAAE,iBAAiB,EAAC;gBAC3C,UAAU,EAAE,EAAC,IAAI,EAAE,gDAAgD,EAAC;aACrE;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAgB;IAEhB,OAAO;QACL,EAAE,EAAE,EAAC,IAAI,EAAE,eAAe,EAAC;QAC3B,KAAK,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAC;QAChC,IAAI,EAAE,EAAC,WAAW,EAAE,UAAU,EAAC;QAC/B,YAAY,EAAE;YACZ;gBACE,IAAI,EAAE,EAAC,WAAW,EAAE,qBAAqB,EAAC;gBAC1C,KAAK,EAAE,KAAK;aACb;SACF;QACD,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC;QAC/B,IAAI,EAAE,EAAE;QACR,IAAI,EAAE;YACJ,KAAK,EAAE,EAAC,WAAW,EAAE,aAAa,EAAC;YACnC,cAAc,EAAE,EAAC,WAAW,EAAE,aAAa,EAAC;YAC5C,GAAG,EAAE;gBACH,WAAW,EAAE,CAAC,IAA6B,EAAE,EAAE,CAC7C,IAAA,2BAAkB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACpC;YACD,IAAI,EAAE,EAAC,WAAW,EAAE,OAAO,EAAC;SAC7B;QACD,eAAe,EAAE;YACf,GAAG,EAAE;gBACH,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,oBAAoB;aAClC;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,KAAK;gBACX,aAAa,EAAE,QAAQ;gBACvB,MAAM,EAAE,mBAAQ,CAAC,mBAAmB,CAAC,MAAM;gBAC3C,SAAS,EAAE,EAAC,WAAW,EAAE,cAAc,EAAC;gBACxC,UAAU,EAAE,EAAC,IAAI,EAAE,gDAAgD,EAAC;gBACpE,OAAO,EAAE;oBACP,IAAI,EAAE,2DAA2D;iBAClE;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,SAAkC;IACvD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC,KAAK,EAAE,EAAE;QAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,+BAA+B,CAAC,CAAC,EAAE;YACrE,QAAQ,CAAC,IAAI,CACX,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,yCAAyC,CAAW,CACtE,CAAC;YACF,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;SAC3C;aAAM;YACL,QAAQ,CAAC,IAAI,CACX,GACE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,+BAA+B,CAIjD,CAAC,GAAG,CACH,CAAC,IAA6B,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAW,CACtE,CACF,CAAC;YACF,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;SAC3C;KACF;IACD,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAC9C,CAAC;AAED,MAAa,cAAe,SAAQ,8BAAa;IAE/C,cAAc,CACZ,OAAO,GAAG,KAAK;QAEf,OAAO;YACL,QAAQ,EAAE;gBACR,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,sBAAoB;aAC9B;YACD,WAAW,EAAE;gBACX,UAAU,EAAE;oBACV,IAAI,EAAE,oEAAoE;oBAC1E,WAAW,EAAE,CAAC,KAA8B,EAAE,EAAE;wBAC9C,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAA8B,EAAE;4BAC1D,OACE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CACzB,CAAC,GAAG,CAAC,CAAC,SAAkC,EAAE,EAAE,CAC3C,aAAa,CAAC,SAAS,CAAC,CACzB,CAAC;yBACH;6BAAM;4BACL,OAAO,EAAE,CAAC;yBACX;oBACH,CAAC;iBACF;gBACD,cAAc,EAAE;oBACd;wBACE,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE;4BACJ,WAAW,EAAE,CAAC,KAA8B,EAAE,EAAE,CAC9C,CAAC,CAAC,IAAI,CACJ,KAAK,EACL,QAAQ,EACR,8CAA8C,CAC/C;yBACJ;qBACF;iBACF;gBACD,GAAG,CAAC,OAAO,IAAI,EAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAC,CAAC;aACzC;YACD,OAAO,EAAE,sBAAoB;YAC7B,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,EAAC,IAAI,EAAE,+BAA+B,EAAC;oBAC7C,OAAO,EAAE,EAAC,IAAI,EAAE,kCAAkC,EAAC;oBACnD,KAAK,EAAE;wBACL,IAAI,EAAE,uDAAuD;qBAC9D;oBACD,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,EAAE;oBACd,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,QAAQ;oBAChB,QAAQ,EAAE;wBACR,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;4BAC/B,IAAI,EAAE,2BAA2B,KAAK,YAAY;4BAClD,GAAG,iBAAiB,CAAC,CAAC,GAAG,KAAK,CAAC;yBAChC,CAAC,CAAC;wBACH;4BACE,IAAI,EAAE,oEAAoE;4BA8B1E,aAAa,EAAE,kBAAkB;4BACjC,GAAG,iBAAiB,EAAE;yBACvB;qBACF;oBACD,MAAM,EAAE,EAAE;iBACX;aACF;SACF,CAAC;IACJ,CAAC;IACD,YAAY,GAAW,EAAE,OAAO,GAAG,KAAK;QAGtC,MAAM,SAAS,GAAG,IAAA,yBAAQ,EAAC,GAAG,EAAE;YAC9B,mBAAmB,EAAE,IAAI;YACzB,YAAY,EAAE,OAAO;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACnE;QACD,MAAM,eAAe,GAAI,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAQ,CAAC,GAAG,CAC5D,CAAC,OAA2C,EAAE,EAAE;YAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACnC,OAAO,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAC,CAAC;aAC3D;iBAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gBAC5B,OAAO,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAC,CAAC;aAC/B;iBAAM;gBACL,OAAO,EAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAC,CAAC;aAC7D;QACH,CAAC,CACF,CAAC;QACF,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC5C,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC;CACF;AA5HD,wCA4HC"}
1
+ {"version":3,"file":"veracode-mapper.js","sourceRoot":"","sources":["../../src/veracode-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ExecJSON} from 'inspecjs';\nimport * as _ from 'lodash';\nimport {version as HeimdallToolsVersion} from '../package.json';\nimport {\n BaseConverter,\n ILookupPath,\n MappedTransform,\n parseXml\n} from './base-converter';\nimport {CweNistMapping} from './mappings/CweNistMapping';\nimport {getCCIsForNISTTags} from './utils/global';\nconst STATIC_FLAWS = 'staticflaws.flaw';\nconst SEVERITY = 'detailedreport.severity';\nconst FILE_PATH_VALUE = 'file_paths.file_path.@_.value';\nconst CWE_NIST_MAPPING = new CweNistMapping();\nconst DEFAULT_NIST_TAG = ['SI-2', 'RA-5'];\nconst IMPACT_MAPPING: Map<string, number> = new Map([\n ['5', 0.9],\n ['4', 0.7],\n ['3', 0.5],\n ['2', 0.3],\n ['1', 0.1],\n ['0', 0.0]\n]);\n\nfunction impactMapping(severity: number | string): number {\n return IMPACT_MAPPING.get(severity.toString()) || 0.1;\n}\n\nfunction nistTag(input: Record<string, unknown>): string[] {\n const cwes = [];\n let cwe = _.get(input, 'cwe');\n if (!Array.isArray(cwe)) {\n cwe = [cwe];\n }\n cwes.push(\n ...(cwe as Record<string, unknown>[]).map(\n (value: Record<string, unknown>) => _.get(value, '@_.cweid')\n )\n );\n return CWE_NIST_MAPPING.nistFilter(cwes as string[], DEFAULT_NIST_TAG);\n}\n\nfunction formatRecommendations(input: Record<string, unknown>): string {\n const text: string[] = [];\n if (_.has(input, 'recommendations.para')) {\n if (_.has(input, 'recommendations.para.@_.text')) {\n text.push(`${_.get(input, 'recommendations.para.@_.text')}`);\n } else {\n text.push(\n ...(\n _.get(input, `recommendations.para`) as Record<string, unknown>[]\n ).map(\n (value: Record<string, unknown>) => _.get(value, '@_.text') as string\n )\n );\n }\n }\n if (_.has(input, 'recommendations.para.bulletitem')) {\n if (Array.isArray(_.get(input, `recommendations.para.bulletitem`))) {\n text.push(\n ...(\n _.get(input, `recommendations.para.bulletitem`) as Record<\n string,\n unknown\n >[]\n ).map(\n (value: Record<string, unknown>) => _.get(value, '@_.text') as string\n )\n );\n }\n }\n return text.join('\\n');\n}\n\nfunction formatDesc(input: Record<string, unknown>): string {\n const text = [];\n if (_.has(input, 'desc.para')) {\n if (_.has(input, 'desc.para.@_.text')) {\n text.push(`${_.get(input, 'desc.para.@_.text')}`);\n } else {\n text.push(\n ...(_.get(input, `desc.para`) as Record<string, unknown>[]).map(\n (value) => _.get(value, '@_.text')\n )\n );\n }\n }\n return text.join('\\n');\n}\n\nfunction formatCweData(input: Record<string, unknown>): string {\n const text = [];\n const categories = [\n 'pcrirelated',\n 'owasp',\n 'owasp2013',\n 'sans',\n 'certc',\n 'certccp',\n 'certjava',\n 'owaspmobile'\n ];\n if (_.has(input, 'cwe')) {\n let cweInput = _.get(input, 'cwe');\n if (!Array.isArray(cweInput)) {\n cweInput = [cweInput];\n }\n text.push(\n ...(cweInput as Record<string, unknown>[]).map((cweinfo) => {\n let cwe = `CWE-${_.get(cweinfo, '@_.cweid')}: `;\n cwe += `${_.get(cweinfo, '@_.cwename')}`;\n cwe += categories\n .map((value: string) => {\n if (_.has(cweinfo, `@_.${value}`)) {\n const val = _.get(cweinfo, `@_.${value}`);\n return `${value}: ${val}\\n`;\n } else {\n return '';\n }\n })\n .join('');\n return cwe;\n })\n );\n }\n return text.join('\\n');\n}\n\nfunction formatCweDesc(input: Record<string, unknown>): string {\n const text = [];\n if (_.has(input, 'cwe')) {\n let cwe = _.get(input, 'cwe');\n if (!Array.isArray(cwe)) {\n cwe = [cwe];\n }\n text.push(\n ...(cwe as Record<string, unknown>[]).map(\n (value: Record<string, unknown>) =>\n `CWE-${_.get(value, '@_.cweid')}: ${_.get(\n value,\n '@_.cwename'\n )} Description: ${_.get(value, 'description.text.@_.text')}; `\n )\n );\n }\n return text.join('\\n');\n}\n\nfunction getFlaws(input: unknown): Record<string, unknown>[] {\n const flawArr: Record<string, unknown>[] = [];\n if (!Array.isArray(input)) {\n input = [input];\n }\n for (const value of input as Record<string, unknown>[]) {\n // change name\n let staticFlaw = _.get(value, STATIC_FLAWS) as\n | Record<string, unknown>\n | Record<string, unknown>[];\n if (!Array.isArray(staticFlaw)) {\n staticFlaw = [staticFlaw];\n }\n flawArr.push(...staticFlaw);\n }\n return flawArr;\n}\nfunction formatCodeDesc(input: Record<string, unknown>[]): string {\n let flawDesc = '';\n const categories = [\n ['Line Number', 'line'],\n ['Affect Policy Compliance', 'affects_policy_compliance'],\n ['Remediation Effort', 'remediationeffort'],\n ['Exploit level', 'exploitLevel'],\n ['Issue ID', 'issueid'],\n ['Module', 'module'],\n ['Type', 'type'],\n ['CWE ID', 'cweid'],\n ['Date First Occurence', 'date_first_occurence'],\n ['CIA Impact', 'cia_impact'],\n ['Description', 'description'],\n ['Source File', 'sourcefile'],\n ['Scope', 'scope'],\n ['CIA Impact', 'cia_impact'],\n ['PCI Related', 'pcirelated'],\n ['Function Prototype', 'functionprototype'],\n ['Function Relative Location', 'functionrelativelocation']\n ];\n if (_.has(input, '@_.sourcefilepath')) {\n flawDesc = `Sourcefile Path: ${_.get(input, '@_.sourcefilepath')}\\n`;\n flawDesc += categories\n .map(([title, name]) => {\n if (_.has(input, `@_.${name}`)) {\n const nameVal = _.get(input, `@_.${name}`);\n return `${title}: ${nameVal}\\n`;\n } else {\n return '';\n }\n })\n .join('');\n }\n return flawDesc;\n}\n\nfunction formatSCACodeDesc(input: Record<string, unknown>): string {\n let flawDesc = '';\n const categories = [\n 'sha1',\n 'file_name',\n 'max_cvss_score',\n 'version',\n 'library',\n 'library_id',\n 'vendor',\n 'description',\n 'added_date',\n 'component_affects_policy_compliance'\n ];\n if (_.has(input, '@_.component_id')) {\n flawDesc = `component_id: ${_.get(input, '@_.component_id')}\\n`;\n flawDesc += _.compact(\n categories.map((value: string) => {\n if (_.has(input, `@_.${value}`)) {\n const val = _.get(input, `@_.${value}`);\n return `${value}: ${val}`;\n } else {\n return '';\n }\n })\n ).join('\\n');\n if (_.has(input, FILE_PATH_VALUE)) {\n flawDesc += `\\nfile_path: ${_.get(input, FILE_PATH_VALUE)}\\n`;\n }\n }\n return flawDesc;\n}\n\nfunction formatSourceLocation(input: Record<string, unknown>[]): string {\n const flawArr: string[] = [];\n if (!Array.isArray(input)) {\n input = [input];\n }\n for (const value of input) {\n if (!Array.isArray(_.get(value, STATIC_FLAWS))) {\n flawArr.push(_.get(value, STATIC_FLAWS) as string);\n } else {\n flawArr.push(...(_.get(value, STATIC_FLAWS) as string[]));\n }\n }\n return flawArr.map((value) => _.get(value, '@_.sourcefile')).join('\\n');\n}\n\nfunction componentListCreate(input: unknown): Record<string, unknown>[] {\n const componentList: Record<string, unknown>[] = [];\n let component = _.get(input, 'component') as unknown as\n | Record<string, unknown>\n | Record<string, unknown>[];\n if (!Array.isArray(component)) {\n component = [component];\n }\n for (const value of component as Record<string, unknown>[]) {\n if (_.get(value, '@_.vulnerabilities') !== '0') {\n componentList.push(value);\n }\n }\n return componentList;\n}\n\nfunction componentTransform(input: unknown): Record<string, unknown>[] {\n const componentList: Record<string, unknown>[] = componentListCreate(input);\n\n const vulns: Record<string, unknown>[] = componentList\n .map((component) => {\n let vulnerability = _.get(component, 'vulnerabilities.vulnerability') as\n | Record<string, unknown>\n | Record<string, unknown>[];\n if (!Array.isArray(vulnerability)) {\n vulnerability = [vulnerability];\n }\n vulnerability = vulnerability.map((vuln) => ({\n ...vuln,\n components: [component]\n }));\n return vulnerability;\n })\n .flat()\n .reduce((acc: Record<string, unknown>[], cur: Record<string, unknown>) => {\n const cveId = _.get(cur, '@_.cve_id');\n const index = acc.findIndex((vuln) => cveId === _.get(vuln, '@_.cve_id'));\n if (index === -1) {\n return [...acc, cur];\n } else {\n (_.get(acc[index], 'components') as Record<string, unknown>[]).push(\n ...(_.get(cur, 'components') as Record<string, unknown>[])\n );\n return acc;\n }\n }, []);\n return vulns;\n}\n\nfunction controlMappingCve(): MappedTransform<\n ExecJSON.Control & ILookupPath,\n ILookupPath\n> {\n return {\n id: {path: '@_.cve_id'},\n title: {path: '@_.cve_id'},\n desc: {path: '@_.cve_summary'},\n impact: {path: '@_.severity', transformer: impactMapping},\n refs: [],\n tags: {\n cwe: {path: '@_.cwe_id'},\n nist: {\n path: '@_.cwe_id',\n transformer: (value: string | string[]) => {\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n return CWE_NIST_MAPPING.nistFilter(\n value.map((val: string) => val.substring(4)),\n DEFAULT_NIST_TAG\n );\n }\n }\n },\n source_location: {\n ref: {\n transformer: (vuln: Record<string, unknown>) =>\n (_.get(vuln, 'components') as Record<string, unknown>[])\n .map((comp: Record<string, unknown>) =>\n _.get(comp, FILE_PATH_VALUE)\n )\n .join('\\n')\n }\n },\n results: [\n {\n path: 'components',\n status: ExecJSON.ControlResultStatus.Failed,\n code_desc: {transformer: formatSCACodeDesc},\n start_time: {path: '$.detailedreport.@_.first_build_submitted_date'}\n }\n ]\n };\n}\n\nfunction controlMappingCwe(\n severity: number\n): MappedTransform<ExecJSON.Control & ILookupPath, ILookupPath> {\n return {\n id: {path: '@_.categoryid'},\n title: {path: '@_.categoryname'},\n desc: {transformer: formatDesc},\n descriptions: [\n {\n data: {transformer: formatRecommendations},\n label: 'fix'\n }\n ],\n impact: impactMapping(severity),\n refs: [],\n tags: {\n cweid: {transformer: formatCweData},\n cweDescription: {transformer: formatCweDesc},\n cci: {\n transformer: (data: Record<string, unknown>) =>\n getCCIsForNISTTags(nistTag(data))\n },\n nist: {transformer: nistTag}\n },\n source_location: {\n ref: {\n path: 'cwe',\n transformer: formatSourceLocation\n }\n },\n results: [\n {\n path: 'cwe',\n pathTransform: getFlaws,\n status: ExecJSON.ControlResultStatus.Failed,\n code_desc: {transformer: formatCodeDesc},\n start_time: {path: '$.detailedreport.@_.first_build_submitted_date'},\n message: {\n path: 'exploitability_adjustments.exploitability_adjustment.note'\n }\n }\n ]\n };\n}\n\nfunction componentPass(component: Record<string, unknown>) {\n const vulnList: string[] = [];\n _.set(component, 'control_ids', vulnList);\n if (_.get(component, 'vulnerabilities') !== '') {\n if (!Array.isArray(_.get(component, 'vulnerabilities.vulnerability'))) {\n vulnList.push(\n _.get(component, 'vulnerabilities.vulnerability.@_.cve_id') as string\n );\n _.set(component, 'control_ids', vulnList);\n } else {\n vulnList.push(\n ...(\n _.get(component, 'vulnerabilities.vulnerability') as Record<\n string,\n unknown\n >[]\n ).map(\n (vuln: Record<string, unknown>) => _.get(vuln, '@_.cve_id') as string\n )\n );\n _.set(component, 'control_ids', vulnList);\n }\n }\n return _.omit(component, 'vulnerabilities');\n}\n\nexport class VeracodeMapper extends BaseConverter {\n originalData: unknown;\n defaultMapping(\n withRaw = false\n ): MappedTransform<ExecJSON.Execution & {passthrough: unknown}, ILookupPath> {\n return {\n platform: {\n name: 'Heimdall Tools',\n release: HeimdallToolsVersion\n },\n passthrough: {\n components: {\n path: 'detailedreport.software_composition_analysis.vulnerable_components',\n transformer: (value: Record<string, unknown>) => {\n if (_.get(value, 'component') as Record<string, unknown>[]) {\n return (\n _.get(value, 'component') as Record<string, unknown>[]\n ).map((component: Record<string, unknown>) =>\n componentPass(component)\n );\n } else {\n return '';\n }\n }\n },\n auxiliary_data: [\n {\n name: 'veracode',\n data: {\n transformer: (value: Record<string, unknown>) =>\n _.omit(\n value,\n SEVERITY,\n 'detailedreport.software_composition_analysis'\n )\n }\n }\n ],\n ...(withRaw && {raw: this.originalData})\n },\n version: HeimdallToolsVersion,\n statistics: {},\n profiles: [\n {\n name: {path: 'detailedreport.@_.policy_name'},\n version: {path: 'detailedreport.@_.policy_version'},\n title: {\n path: 'detailedreport.static-analysis.modules.module.@_.name'\n },\n supports: [],\n attributes: [],\n groups: [],\n status: 'loaded',\n controls: [\n ..._.range(0, 6).map((value) => ({\n path: `detailedreport.severity[${value}].category`,\n ...controlMappingCwe(5 - value)\n })),\n {\n path: 'detailedreport.software_composition_analysis.vulnerable_components',\n /* The original formal of vulnerable_components is the following:\n\n [\n {\n component_data (including file path)\n vulnerabliities{\n vulnerability[\n cve_data\n ]\n }\n }\n ...\n ]\n\n these need to be switched to be:\n [\n {\n cve_data\n filepaths\n components [\n {component_data}\n ]\n }\n ]\n this is because in heimdall, in general each control should be the error itself, with tests\n being specific failure instances having the cve, being listed as the control since it is an issue\n and the component, where the issue happened as being a test is a better aproximation of this.\n format.\n */\n pathTransform: componentTransform,\n ...controlMappingCve()\n }\n ],\n sha256: ''\n }\n ]\n };\n }\n constructor(xml: string, withRaw = false) {\n // the default textNodeName that we're using ('text') clobbers any attributes that also are named 'text' of which there are many in this format\n // the attribute group names are necessary since there are many times that attributes and inner tags share the same name within a tag (ex. 'vulnerabilities' the attribute is a count whereas as an inner tag it is an array detailing the vulnerabilities) where it seems that the attribute clobbers the inner tag\n const parsedXML = parseXml(xml, {\n attributesGroupName: '@_',\n textNodeName: 'text_'\n });\n if (_.has(parsedXML, 'summaryreport')) {\n throw new Error('Current mapper does not accept summary reports');\n }\n const arrayedControls = (_.get(parsedXML, SEVERITY) as []).map(\n (control: {category: unknown; level: string}) => {\n if (Array.isArray(control.category)) {\n return {level: control.level, category: control.category};\n } else if (!control.category) {\n return {level: control.level};\n } else {\n return {level: control.level, category: [control.category]};\n }\n }\n );\n _.set(parsedXML, SEVERITY, arrayedControls);\n super(parsedXML);\n this.originalData = xml;\n this.setMappings(this.defaultMapping(withRaw));\n }\n}\n"]}
@@ -1,5 +1,11 @@
1
1
  import { ExecJSON } from 'inspecjs';
2
2
  import { BaseConverter, ILookupPath, MappedTransform } from './base-converter';
3
+ export declare class XCCDFResultsResults {
4
+ readonly scapXml: string;
5
+ readonly withRaw: boolean;
6
+ constructor(scapXml: string, withRaw?: boolean);
7
+ toHdf(): Promise<ExecJSON.Execution>;
8
+ }
3
9
  export declare class XCCDFResultsMapper extends BaseConverter {
4
10
  withRaw: boolean;
5
11
  mappings: MappedTransform<ExecJSON.Execution & {
@@ -7,3 +13,4 @@ export declare class XCCDFResultsMapper extends BaseConverter {
7
13
  }, ILookupPath>;
8
14
  constructor(scapXml: string, withRaw?: boolean);
9
15
  }
16
+ //# sourceMappingURL=xccdf-results-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xccdf-results-mapper.d.ts","sourceRoot":"","sources":["../../src/xccdf-results-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAyB,MAAM,UAAU,CAAC;AAG1D,OAAO,EACL,aAAa,EACb,WAAW,EAEX,eAAe,EAGhB,MAAM,kBAAkB,CAAC;AA2N1B,qBAAa,mBAAmB;IAClB,QAAQ,CAAC,OAAO,EAAE,MAAM;IAAE,QAAQ,CAAC,OAAO;gBAAjC,OAAO,EAAE,MAAM,EAAW,OAAO,UAAQ;IAExD,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;CAK3C;AAED,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,OAAO,EAAE,OAAO,CAAC;IAEjB,QAAQ,EAAE,eAAe,CACvB,QAAQ,CAAC,SAAS,GAAG;QAAC,WAAW,EAAE,OAAO,CAAA;KAAC,EAC3C,WAAW,CACZ,CAkYC;gBACU,OAAO,EAAE,MAAM,EAAE,OAAO,UAAQ;CAe7C"}