@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
@@ -1 +1 @@
1
- {"version":3,"file":"xccdf-results-mapper.js","sourceRoot":"","sources":["../../src/xccdf-results-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xccdf-results-mapper.js","sourceRoot":"","sources":["../../src/xccdf-results-mapper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA0D;AAC1D,0CAA4B;AAC5B,kDAAgE;AAChE,qDAO0B;AAC1B,8DAAyD;AACzD,2CAGwB;AAExB,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IAClD,CAAC,UAAU,EAAE,GAAG,CAAC;IACjB,CAAC,MAAM,EAAE,GAAG,CAAC;IACb,CAAC,QAAQ,EAAE,GAAG,CAAC;IACf,CAAC,KAAK,EAAE,GAAG,CAAC;CACb,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,IAAI,+BAAc,EAAE,CAAC;AAE9C,IAAI,SAAqC,CAAC;AAE1C,SAAS,OAAO,CAAI,GAAY;IAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC;IACb,CAAC;SAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC7C,OAAO,EAAE,CAAC;IACZ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,MAAc,EACd,SAAkC;IAElC,MAAM,WAAW,GAAG,OAAO,CACzB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,wBAAwB,CAEZ,CAC9B,CAAC;IACF,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,SAAS,CAAC,gBAAwB;IACzC,QAAQ,gBAAgB,EAAE,CAAC;QACzB,KAAK,MAAM;YACT,OAAO,mBAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC;QAC7C,KAAK,MAAM;YACT,OAAO,mBAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC;QAC7C,KAAK,OAAO;YACV,OAAO,mBAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC;QAC5C,KAAK,SAAS;YACZ,OAAO,mBAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC;QAC5C,KAAK,eAAe;YAClB,OAAO,mBAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC;QAC9C,KAAK,YAAY;YACf,OAAO,mBAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC;QAC9C,KAAK,aAAa;YAChB,OAAO,mBAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC;QAC9C,KAAK,eAAe;YAClB,OAAO,mBAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC;QAC9C,KAAK,OAAO;YACV,OAAO,mBAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC;QAC7C;YACE,OAAO,mBAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAChB,IAA6B,EAC7B,KAA8B,EAC9B,SAAkC;IAElC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,MAAmC,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,uBAAuB,CAAW,CAAC;QAChE,IAAI,OAAO,EAAE,CAAC;YACZ,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAA8B,EAAE,CAAC;IACrD,KAAK,MAAM,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,SAAS;QACX,CAAC;QACD,cAAc,CAAC,IAAI,CACjB,GAAI,OAAO,CAAC,MAAM,CAA+B,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CACjE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAW,CAAC,CACpD,CACF,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,WAAW,CAClB,GAAa,EACb,SAAkC;IAElC,MAAM,gBAAgB,GAA8B,EAAE,CAAC;IACvD,MAAM,QAAQ,GAAG,OAAO,CACtB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAEG,CAC9B,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,OAAO,CACrB,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAEM,CAC9B,CAAC;QACF,IACE,OAAO,CAAC,IAAI,CACV,CAAC,MAAM,EAAE,EAAE,CACT,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAW,CAAC;YAC9C,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,MAAM,CACvC,EACD,CAAC;YACD,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAOD,SAAS,UAAU,CAAC,KAAwB;IAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAElC,MAAM,SAAS,GAAG,WAAW,CAAC;IAE9B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,KAAwB;IACvC,OAAO,CAAC,CAAC,IAAI,CACX,gBAAgB,CAAC,UAAU,CACzB,UAAU,CAAC,KAAK,CAAC,EACjB,+CAAsC,EACtC,KAAK,CACN,CAAC,MAAM,CACN,OAAO,CAAC,KAAK,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAClB,GAAG,CAAC,qBAAU,CAAC;SACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAClB,MAAM,CAAC,qBAAU,CAAC;SAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAC5B,CACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CACtB,QAAmC,EACnC,SAAkC,EAClC,KAA8B;IAE9B,MAAM,SAAS,GAAG,OAAO,CACvB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAwD,CAC7E,CAAC;IACF,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CACnB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAwD,CAC5E,CAAC;IACF,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CACX,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE;gBAChB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,4FAA4F;gBACrI,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAW,EAAE,SAAS,CAAC,EAAE,2GAA2G;gBAC9K,QAAQ,EAAE,WAAW,CACnB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAW,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAW,CAAC,EAC3D,SAAS,CACV,EAAE,qGAAqG;gBACxG,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,+FAA+F;aAC1I,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,SAAS,GAAG,KAAgC,CAAC;IACnD,MAAM,MAAM,GAAG,OAAO,CACpB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAEK,CAC9B,CAAC;IACF,MAAM,QAAQ,GAA8B,EAAE,CAAC;IAC/C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAa,mBAAmB;IACT;IAA0B;IAA/C,YAAqB,OAAe,EAAW,UAAU,KAAK;QAAzC,YAAO,GAAP,OAAO,CAAQ;QAAW,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAElE,KAAK,CAAC,KAAK;QACT,SAAS,GAAG,MAAM,IAAA,mCAAkB,GAAE,CAAC;QAEvC,OAAO,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACtE,CAAC;CACF;AARD,kDAQC;AAED,MAAa,kBAAmB,SAAQ,8BAAa;IACnD,OAAO,CAAU;IAEjB,QAAQ,GAGJ;QACF,QAAQ,EAAE;YACR,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,sBAAoB;YAC7B,SAAS,EAAE;gBACT,IAAI,EAAE,0BAA0B;aACjC;SACF;QACD,OAAO,EAAE,sBAAoB;QAC7B,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,EAAC,IAAI,EAAE,cAAc,EAAC;gBAC5B,OAAO,EAAE,EAAC,IAAI,EAAE,iBAAiB,EAAC;gBAClC,KAAK,EAAE,EAAC,IAAI,EAAE,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,EAAC;gBAC1D,UAAU,EAAE;oBACV,IAAI,EAAE,+BAA+B;iBACtC;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,CAAC,4BAA4B,EAAE,uBAAuB,CAAC;oBAC7D,WAAW,EAAE,SAAS;iBACvB;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,CAAC,KAA8B,EAAU,EAAE;wBACtD,MAAM,gBAAgB,GAAG;4BACvB,CAAC,kBAAkB,CAAC;4BACpB,CAAC,cAAc,CAAC;4BAChB,CAAC,UAAU,CAAC;4BACZ,CAAC,OAAO,CAAC;4BACT,CAAC,YAAY,CAAC;4BACd,CAAC,aAAa,CAAC;4BACf,CAAC,WAAW,CAAC;4BACb,CAAC,QAAQ,CAAC;4BACV,CAAC,SAAS,CAAC;4BACX,CAAC,UAAU,CAAC;4BACZ,CAAC,WAAW,EAAE,OAAO,CAAC;4BACtB,CAAC,UAAU,CAAC;4BACZ,CAAC,WAAW,CAAC;4BACb,CAAC,oBAAoB,CAAC;4BACtB,CAAC,sBAAsB,CAAC;4BACxB,CAAC,uBAAuB,CAAC;4BACzB,CAAC,qBAAqB,CAAC;4BACvB,CAAC,eAAe,CAAC;4BACjB,CAAC,qBAAqB,CAAC;4BACvB,CAAC,yBAAyB,CAAC;4BAC3B,CAAC,2BAA2B,CAAC;4BAC7B,CAAC,0BAA0B,CAAC;4BAC5B,CAAC,kBAAkB,CAAC;4BACpB,CAAC,sBAAsB,CAAC;4BACxB,CAAC,mBAAmB,CAAC;4BACrB,CAAC,2BAA2B,CAAC;4BAC7B,CAAC,yBAAyB,CAAC;4BAC3B,CAAC,0BAA0B,CAAC;4BAC5B,CAAC,wBAAwB,CAAC;4BAC1B,CAAC,kBAAkB,CAAC;4BACpB,CAAC,oBAAoB,CAAC;yBACvB,CAAC;wBACF,MAAM,eAAe,GAA4B,EAAE,CAAC;wBACpD,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;4BACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gCACzB,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gCAChC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oCACvB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wCAC7B,eAAe,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;oCAC1C,CAAC;yCAAM,CAAC;wCACN,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;oCAC/B,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;wBACD,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBAClD,CAAC;iBACF;gBACD,OAAO,EAAE,EAAC,IAAI,EAAE,qBAAqB,EAAC;gBACtC,SAAS,EAAE;oBACT,IAAI,EAAE,4BAA4B;iBACnC;gBACD,eAAe,EAAE,wBAAwB,EAAE,kFAAkF;gBAC7H,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,WAAW;wBACjB,aAAa,EAAE,mBAAmB;wBAClC,GAAG,EAAE,IAAI;wBACT,IAAI,EAAE;4BACJ,GAAG,EAAE;gCACH,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;gCAC5B,WAAW,EAAE,UAAU;6BACxB;4BACD,IAAI,EAAE;gCACJ,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;gCAC5B,WAAW,EAAE,OAAO;6BACrB;4BACD,QAAQ,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC;4BAC5B,WAAW,EAAE;gCACX,IAAI,EAAE,CAAC,kBAAkB,EAAE,aAAa,CAAC;gCACzC,WAAW,EAAE,CAAC,WAAmB,EAAU,EAAE,CAC3C,SAAS,CACP,CAAC,CAAC,GAAG,CACH,IAAA,yBAAQ,EAAC,WAAW,CAAC,EACrB,gBAAgB,EAChB,WAAW,CACF,CACZ;6BACJ;4BACD,QAAQ,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC;4BAC5B,WAAW,EAAE,EAAC,IAAI,EAAE,CAAC,kBAAkB,EAAE,aAAa,CAAC,EAAC;4BACxD,iBAAiB,EAAE;gCACjB,IAAI,EAAE,CAAC,wBAAwB,EAAE,mBAAmB,CAAC;gCACrD,WAAW,EAAE,CAAC,WAAmB,EAAU,EAAE,CAC3C,SAAS,CACP,CAAC,CAAC,GAAG,CACH,IAAA,yBAAQ,EAAC,WAAW,CAAC,EACrB,kBAAkB,EAClB,WAAW,CACF,CACZ;6BACJ;4BACD,OAAO,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC;4BACrB,KAAK,EAAE;gCACL,IAAI,EAAE,OAAO;gCACb,WAAW,EAAE,CACX,IAAyD,EACzD,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;6BACnC;4BACD,MAAM,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;4BACxB,cAAc,EAAE;gCACd,IAAI,EAAE,CAAC,qBAAqB,EAAE,gBAAgB,CAAC;gCAC/C,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS;6BAC5D;4BACD,KAAK,EAAE;gCACL,IAAI,EAAE,OAAO;gCACb,WAAW,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,IAAI,SAAS;6BACjD;4BACD,SAAS,EAAE;gCACT,IAAI,EAAE,WAAW;gCACjB,WAAW,EAAE,CAAC,IAA6B,EAAE,EAAE,CAAC,CAAC;oCAC/C,UAAU,EAAE,IAAI;iCACjB,CAAC;6BACH;4BACD,QAAQ,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC;4BAC5B,MAAM,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;4BACxB,QAAQ,EAAE;gCACR;oCACE,IAAI,EAAE,CAAC,UAAU,CAAC;oCAClB,EAAE,EAAE,EAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAC;oCAClB,WAAW,EAAE;wCACX,IAAI,EAAE,CAAC,kBAAkB,EAAE,aAAa,CAAC;wCACzC,WAAW,EAAE,CAAC,WAAmB,EAAU,EAAE,CAC3C,SAAS,CACP,CAAC,CAAC,GAAG,CACH,IAAA,yBAAQ,EAAC,WAAW,CAAC,EACrB,oBAAoB,EACpB,WAAW,CACF,CACZ;qCACJ;oCACD,KAAK,EAAE,EAAC,IAAI,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,EAAC;iCACvC;6BACF;4BACD,WAAW,EAAE;gCACX,IAAI,EAAE,CAAC,YAAY,CAAC;6BACrB;4BACD,KAAK,EAAE;gCACL,IAAI,EAAE,CAAC,QAAQ,CAAC;gCAChB,WAAW,EAAE,CACX,MAA2D,EAC3D,EAAE,CACF,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oCAC9B,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;oCAC1D,WAAW,EAAE,SAAS,CACpB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC;wCAC9B,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAC9B;oCACD,OAAO,EAAE,SAAS,CAChB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CACxD;oCACD,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;oCAC5B,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;oCACtB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;oCACtB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;oCAC1B,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC;iCACzC,CAAC,CAAC;6BACN;4BACD,WAAW,EAAE,CAAC,IAA6B,EAAE,EAAE,CAAC,CAAC;gCAC/C,GAAG,IAAA,sCAA6B,EAC9B,SAAS,EACT,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,EAC3B,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAC5B;6BACF,CAAC;yBACH;wBACD,IAAI,EAAE;4BACJ;gCACE,IAAI,EAAE,WAAW;gCACjB,WAAW,EAAE,CACX,IAA6B,EACT,EAAE,CAAC,CAAC;oCACxB,GAAG,EACD,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC;wCACxB,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC;wCACzB,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC;wCACjB,CAAC,CAAC;4CACE;gDACE,GAAG,IAAA,sCAA6B,EAC9B,MAAM,EACN,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EACnB,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CACpB;gDACD,GAAG,IAAA,sCAA6B,EAC9B,WAAW,EACX,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,EACxB,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CACzB;gDACD,GAAG,IAAA,sCAA6B,EAC9B,YAAY,EACZ,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,EACzB,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAC1B;gDACD,GAAG,IAAA,sCAA6B,EAC9B,MAAM,EACN,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EACnB,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CACpB;6CACF;yCACF;wCACH,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC;4CACnB,CAAC,CAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAY;4CACjC,CAAC,CAAC,SAAS;oCACjB,GAAG,IAAA,sCAA6B,EAC9B,KAAK,EACL,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,EACnB,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAClD;iCACF,CAAC;6BACH;yBACF;wBACD,eAAe,EAAE,EAAE;wBACnB,KAAK,EAAE,EAAC,IAAI,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,EAAC;wBACtC,EAAE,EAAE,EAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAC;wBAClB,IAAI,EAAE;4BACJ,IAAI,EAAE,CAAC,kBAAkB,EAAE,aAAa,CAAC;4BACzC,WAAW,EAAE,CAAC,WAAmB,EAAU,EAAE,CAC3C,SAAS,CACP,CAAC,CAAC,GAAG,CACH,IAAA,yBAAQ,EAAC,WAAW,CAAC,EACrB,oBAAoB,EACpB,WAAW,CACF,CACZ;yBACJ;wBACD,YAAY,EAAE;4BACZ;gCACE,IAAI,EAAE,CAAC,8BAA8B,CAAC;gCACtC,WAAW,EAAE,CACX,IAAuB,EACM,EAAE,CAAC,CAAC;oCACjC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oCAC9B,KAAK,EAAE,OAAO;iCACf,CAAC;6BACuC;4BAC3C;gCACE,IAAI,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC;gCAClC,WAAW,EAAE,CACX,IAAuB,EACM,EAAE,CAAC,CAAC;oCACjC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oCAC7C,KAAK,EAAE,KAAK;iCACb,CAAC;6BACuC;4BAC3C;gCACE,IAAI,EAAE,CAAC,gBAAgB,CAAC;gCACxB,WAAW,EAAE,CACX,IAAuB,EACM,EAAE,CAAC,CAAC;oCACjC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oCAC7C,KAAK,EAAE,WAAW;iCACnB,CAAC;6BACuC;4BAC3C;gCACE,IAAI,EAAE,CAAC,cAAc,CAAC;gCACtB,WAAW,EAAE,CACX,IAAuB,EACM,EAAE,CAAC,CAAC;oCACjC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oCAC7C,KAAK,EAAE,SAAS;iCACjB,CAAC;6BACuC;yBAC5C;wBACD,MAAM,EAAE;4BACN,WAAW,EAAE,CAAC,aAAsC,EAAU,EAAE;gCAC9D,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAGnD,CAAC;gCACF,IAAI,UAAU,EAAE,CAAC;oCACf,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAW,CAAC;oCACrD,IACE,MAAM,KAAK,aAAa;wCACxB,MAAM,KAAK,eAAe;wCAC1B,MAAM,KAAK,eAAe,EAC1B,CAAC;wCACD,OAAO,CAAC,CAAC;oCACX,CAAC;gCACH,CAAC;gCACD,OAAO,IAAA,8BAAa,EAAC,cAAc,CAAC,CAClC,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CACjC,CAAC;4BACJ,CAAC;yBACF;wBACD,IAAI,EAAE;4BACJ,WAAW,EAAE,CAAC,aAAsC,EAAU,EAAE,CAC9D,IAAI,CAAC,SAAS,CACZ,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE;gCACpB,OAAO;gCACP,YAAY;gCACZ,UAAU;gCACV,QAAQ;6BACT,CAAC,EACF,IAAI,EACJ,CAAC,CACF;yBACJ;wBACD,OAAO,EAAE;4BACP;gCACE,MAAM,EAAE;oCACN,IAAI,EAAE,CAAC,mBAAmB,CAAC;oCAC3B,WAAW,EAAE,SAAS;iCACvB;gCACD,SAAS,EAAE;oCACT,IAAI,EAAE,CAAC,kBAAkB,EAAE,aAAa,CAAC;oCACzC,WAAW,EAAE,CAAC,WAAmB,EAAU,EAAE,CAC3C,SAAS,CACP,CAAC,CAAC,GAAG,CACH,IAAA,yBAAQ,EAAC,WAAW,CAAC,EACrB,gBAAgB,EAChB,WAAW,CACF,CACZ;iCACJ;gCACD,UAAU,EAAE;oCACV,IAAI,EAAE,CAAC,iBAAiB,CAAC;iCAC1B;6BACF;yBACF;qBACF;iBACF;gBACD,MAAM,EAAE,EAAE;aACX;SACF;QACD,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,IAA6B,EAA2B,EAAE;gBACtE,IAAI,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAA4B,CAAC;gBAClE,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;wBACxB,IAAI;wBACJ,UAAU;wBACV,OAAO;wBACP,OAAO;wBACP,aAAa;wBACb,QAAQ;wBACR,cAAc;wBACd,WAAW;wBACX,UAAU;wBACV,SAAS;wBACT,OAAO;wBACP,OAAO;wBACP,YAAY;qBACb,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,GAAG,EAAC,SAAS,EAAE,OAAO,EAAC,CAAC;gBAC/B,OAAO;oBACL,cAAc,EAAE;wBACd;4BACE,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,OAAO;yBACd;qBACF;oBACD,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAC,GAAG,EAAE,IAAI,EAAC,CAAC;iBACjC,CAAC;YACJ,CAAC;SACF;KACF,CAAC;IACF,YAAY,OAAe,EAAE,OAAO,GAAG,KAAK;QAC1C,KAAK,CACH,IAAA,yBAAQ,EAAC,OAAO,EAAE;YAChB,SAAS,EAAE;gBACT,WAAW;gBACX,OAAO;gBACP,aAAa;gBACb,WAAW;gBACX,SAAS;gBACT,eAAe;aAChB;SACF,CAAC,CACH,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAxZD,gDAwZC","sourcesContent":["import {ExecJSON, is_control, parse_nist} from 'inspecjs';\nimport * as _ from 'lodash';\nimport {version as HeimdallToolsVersion} from '../package.json';\nimport {\n BaseConverter,\n ILookupPath,\n impactMapping,\n MappedTransform,\n buildParseHtmlFunc,\n parseXml\n} from './base-converter';\nimport {CciNistMapping} from './mappings/CciNistMapping';\nimport {\n conditionallyProvideAttribute,\n DEFAULT_STATIC_CODE_ANALYSIS_NIST_TAGS\n} from './utils/global';\n\nconst IMPACT_MAPPING: Map<string, number> = new Map([\n ['critical', 0.9],\n ['high', 0.7],\n ['medium', 0.5],\n ['low', 0.3]\n]);\n\nconst CCI_NIST_MAPPING = new CciNistMapping();\n\nlet parseHtml: (input: unknown) => string;\n\nfunction asArray<T>(arg: T | T[]): T[] {\n if (Array.isArray(arg)) {\n return arg;\n } else if (arg === undefined || arg === null) {\n return [];\n } else {\n return [arg];\n }\n}\n\nfunction getRuleResult(\n ruleId: string,\n benchmark: Record<string, unknown>\n): Record<string, unknown> | undefined {\n const ruleResults = asArray(\n _.get(benchmark, 'TestResult.rule-result') as\n | Record<string, unknown>\n | Record<string, unknown>[]\n );\n return ruleResults.find((element) => _.get(element, 'idref') === ruleId);\n}\n\nfunction getStatus(testResultStatus: string): ExecJSON.ControlResultStatus {\n switch (testResultStatus) {\n case 'pass':\n return ExecJSON.ControlResultStatus.Passed;\n case 'fail':\n return ExecJSON.ControlResultStatus.Failed;\n case 'error':\n return ExecJSON.ControlResultStatus.Error;\n case 'unknown':\n return ExecJSON.ControlResultStatus.Error;\n case 'notapplicable':\n return ExecJSON.ControlResultStatus.Skipped;\n case 'notchecked':\n return ExecJSON.ControlResultStatus.Skipped;\n case 'notselected':\n return ExecJSON.ControlResultStatus.Skipped;\n case 'informational':\n return ExecJSON.ControlResultStatus.Skipped;\n case 'fixed':\n return ExecJSON.ControlResultStatus.Passed;\n default:\n return ExecJSON.ControlResultStatus.Error;\n }\n}\n\nfunction getValues(\n rule: Record<string, unknown>,\n group: Record<string, unknown>,\n benchmark: Record<string, unknown>\n): Record<string, unknown>[] {\n const checks = asArray(_.get(rule, 'check'));\n if (!checks) {\n return [];\n }\n const ruleValueIds: string[] = [];\n for (const check of checks as Record<string, unknown>[]) {\n const valueId = _.get(check, 'check-export.value-id') as string;\n if (valueId) {\n ruleValueIds.push(valueId);\n }\n }\n const matchingValues: Record<string, unknown>[] = [];\n for (const values of [_.get(group, 'Value'), _.get(benchmark, 'Value')]) {\n if (!values) {\n continue;\n }\n matchingValues.push(\n ...(asArray(values) as Record<string, unknown>[]).filter((value) =>\n ruleValueIds.includes(_.get(value, 'id') as string)\n )\n );\n }\n return matchingValues;\n}\n\nfunction getProfiles(\n ids: string[],\n benchmark: Record<string, unknown>\n): Record<string, unknown>[] {\n const matchingProfiles: Record<string, unknown>[] = [];\n const profiles = asArray(\n _.get(benchmark, 'Profile') as\n | Record<string, unknown>\n | Record<string, unknown>[]\n );\n for (const profile of profiles) {\n const selects = asArray(\n _.get(profile, 'select') as\n | Record<string, unknown>\n | Record<string, unknown>[]\n );\n if (\n selects.find(\n (select) =>\n ids.includes(_.get(select, 'idref') as string) &&\n _.get(select, 'selected') === 'true'\n )\n ) {\n matchingProfiles.push(profile);\n }\n }\n return matchingProfiles;\n}\n\ninterface IIdent {\n system: string;\n text: string;\n}\n\nfunction extractCci(input: IIdent | IIdent[]): string[] {\n const inputArray = asArray(input);\n\n const CCI_REGEX = /CCI-(\\d*)/;\n\n const output: string[] = [];\n for (const element of inputArray) {\n const text = _.get(element, 'text');\n if (!!text && CCI_REGEX.exec(text)) {\n output.push(text);\n }\n }\n return output;\n}\n\nfunction nistTag(input: IIdent | IIdent[]): string[] {\n return _.uniq(\n CCI_NIST_MAPPING.nistFilter(\n extractCci(input),\n DEFAULT_STATIC_CODE_ANALYSIS_NIST_TAGS,\n false\n ).concat(\n asArray(input)\n .filter((x) => !!x)\n .map((x) => x.text)\n .map(parse_nist)\n .filter((x) => !!x)\n .filter(is_control)\n .map((x) => x.canonize())\n )\n );\n}\n\n/**\n * Given a group, returns all the rules within it (including rules in groups nested within the group).\n *\n * @param allRules a mutable list that will be populated with the rules.\n * @param benchmark The benchmark being operated upon.\n * @param group The group for which rules are to be retrieved.\n */\nfunction getRulesInGroup(\n allRules: Record<string, unknown>[],\n benchmark: Record<string, unknown>,\n group: Record<string, unknown>\n) {\n const subGroups = asArray(\n _.get(group, 'Group') as Record<string, unknown> | Record<string, unknown>[]\n );\n if (subGroups) {\n for (const subGroup of subGroups) {\n getRulesInGroup(allRules, benchmark, subGroup);\n }\n }\n const rules = asArray(\n _.get(group, 'Rule') as Record<string, unknown> | Record<string, unknown>[]\n );\n if (rules) {\n for (const rule of rules) {\n allRules.push(\n _.merge({}, rule, {\n group: _.omit(group, ['Rule', 'Group']), // save the group as a new \"group\" property on the rule to allow the mapper to use the group\n ruleResult: getRuleResult(_.get(rule, 'id') as string, benchmark), // save the ruleResult as a new \"ruleResult\" property on the rule to allow the mapper to use the ruleResult\n profiles: getProfiles(\n [_.get(rule, 'id') as string, _.get(group, 'id') as string],\n benchmark\n ), // save the profiles as a new \"profiles\" property on the rule to allow the mapper to use the profiles\n values: getValues(rule, group, benchmark) // save the values as a new \"values\" property on the rule to allow the mapper to use the values\n })\n );\n }\n }\n}\n\n/**\n * Given groups or a group, returns all the rules.\n */\nfunction getRulesInBenchmark(input: unknown): Record<string, unknown>[] {\n const benchmark = input as Record<string, unknown>;\n const groups = asArray(\n _.get(benchmark, 'Group') as\n | Record<string, unknown>\n | Record<string, unknown>[]\n );\n const allRules: Record<string, unknown>[] = [];\n for (const group of groups) {\n getRulesInGroup(allRules, benchmark, group);\n }\n return allRules;\n}\n\nexport class XCCDFResultsResults {\n constructor(readonly scapXml: string, readonly withRaw = false) {}\n\n async toHdf(): Promise<ExecJSON.Execution> {\n parseHtml = await buildParseHtmlFunc();\n\n return (new XCCDFResultsMapper(this.scapXml, this.withRaw)).toHdf();\n }\n}\n\nexport class XCCDFResultsMapper extends BaseConverter {\n withRaw: boolean;\n\n mappings: MappedTransform<\n ExecJSON.Execution & {passthrough: unknown},\n ILookupPath\n > = {\n platform: {\n name: 'Heimdall Tools',\n release: HeimdallToolsVersion,\n target_id: {\n path: 'Benchmark.platform.idref'\n }\n },\n version: HeimdallToolsVersion,\n statistics: {},\n profiles: [\n {\n name: {path: 'Benchmark.id'},\n version: {path: 'Benchmark.style'},\n title: {path: ['Benchmark.title.text', 'Benchmark.title']},\n maintainer: {\n path: 'Benchmark.reference.publisher'\n },\n summary: {\n path: ['Benchmark.description.text', 'Benchmark.description'],\n transformer: parseHtml\n },\n description: {\n path: 'Benchmark',\n transformer: (input: Record<string, unknown>): string => {\n const descriptionPaths = [\n ['description.text'],\n ['front-matter'],\n ['metadata'],\n ['model'],\n ['plain-text'],\n ['rear-matter'],\n ['reference'],\n ['status'],\n ['version'],\n ['xml:lang'],\n ['xmlns:cdf', 'xmlns'],\n ['xmlns:dc'],\n ['xmlns:dsi'],\n ['xsi:schemaLocation'],\n ['TestResult.benchmark'],\n ['TestResult.start-time'],\n ['TestResult.end-time'],\n ['TestResult.id'],\n ['TestResult.identity'],\n ['TestResult.organization'],\n ['TestResult.platform.idref'],\n ['TestResult.profile.idref'],\n ['TestResult.score'],\n ['TestResult.set-value'],\n ['TestResult.target'],\n ['TestResult.target-address'],\n ['TestResult.target-facts'],\n ['TestResult.target-id-ref'],\n ['TestResult.test-system'],\n ['TestResult.title'],\n ['TestResult.version']\n ];\n const fullDescription: Record<string, unknown> = {};\n for (const paths of descriptionPaths) {\n for (const path of paths) {\n const item = _.get(input, path);\n if (item !== undefined) {\n if (typeof item === 'string') {\n fullDescription[path] = parseHtml(item);\n } else {\n fullDescription[path] = item;\n }\n }\n }\n }\n return JSON.stringify(fullDescription, null, 2);\n }\n },\n license: {path: 'Benchmark.notice.id'},\n copyright: {\n path: 'Benchmark.metadata.creator'\n },\n copyright_email: 'disa.stig_spt@mail.mil', // this should only be specified if that email address is in Benchmark.description\n supports: [],\n attributes: [],\n groups: [],\n status: 'loaded',\n controls: [\n {\n path: 'Benchmark',\n pathTransform: getRulesInBenchmark,\n key: 'id',\n tags: {\n cci: {\n path: ['ident', 'reference'],\n transformer: extractCci\n },\n nist: {\n path: ['ident', 'reference'],\n transformer: nistTag\n },\n severity: {path: 'severity'},\n description: {\n path: ['description.text', 'description'],\n transformer: (description: string): string =>\n parseHtml(\n _.get(\n parseXml(description),\n 'VulnDiscussion',\n description\n ) as string\n )\n },\n group_id: {path: 'group.id'},\n group_title: {path: ['group.title.text', 'group.title']},\n group_description: {\n path: ['group.description.text', 'group.description'],\n transformer: (description: string): string =>\n parseHtml(\n _.get(\n parseXml(description),\n 'GroupDescription',\n description\n ) as string\n )\n },\n rule_id: {path: 'id'},\n check: {\n path: 'check',\n transformer: (\n data: Record<string, unknown> | Record<string, unknown>[]\n ) => JSON.stringify(data, null, 2)\n },\n fix_id: {path: 'fix.id'},\n fixtext_fixref: {\n path: ['fixtext.fixref.text', 'fixtext.fixref'],\n transformer: (text: string) => parseHtml(text) || undefined\n },\n ident: {\n path: 'ident',\n transformer: (text: string) => text || undefined\n },\n reference: {\n path: 'reference',\n transformer: (data: Record<string, unknown>) => ({\n references: data\n })\n },\n selected: {path: 'selected'},\n weight: {path: 'weight'},\n profiles: [\n {\n path: ['profiles'],\n id: {path: ['id']},\n description: {\n path: ['description.text', 'description'],\n transformer: (description: string): string =>\n parseHtml(\n _.get(\n parseXml(description),\n 'ProfileDescription',\n description\n ) as string\n )\n },\n title: {path: ['title.text', 'title']}\n }\n ],\n rule_result: {\n path: ['ruleResult']\n },\n value: {\n path: ['values'],\n transformer: (\n values: Record<string, unknown> | Record<string, unknown>[]\n ) =>\n asArray(values).map((value) => ({\n title: _.get(value, 'title.text') || _.get(value, 'title'),\n description: parseHtml(\n _.get(value, 'description.text') ||\n _.get(value, 'description')\n ),\n warning: parseHtml(\n _.get(value, 'warning.text') || _.get(value, 'warning')\n ),\n value: _.get(value, 'value'),\n Id: _.get(value, 'Id'),\n id: _.get(value, 'id'),\n type: _.get(value, 'type'),\n interactive: _.get(value, 'interactive')\n }))\n },\n transformer: (data: Record<string, unknown>) => ({\n ...conditionallyProvideAttribute(\n 'version',\n _.get(data, 'version.text'),\n _.has(data, 'version.text')\n )\n })\n },\n refs: [\n {\n path: 'reference',\n transformer: (\n data: Record<string, unknown>\n ): ExecJSON.Reference => ({\n ref:\n _.has(data, 'publisher') ||\n _.has(data, 'identifier') ||\n _.has(data, 'type')\n ? [\n {\n ...conditionallyProvideAttribute(\n 'text',\n _.get(data, 'text'),\n _.has(data, 'text')\n ),\n ...conditionallyProvideAttribute(\n 'publisher',\n _.get(data, 'publisher'),\n _.has(data, 'publisher')\n ),\n ...conditionallyProvideAttribute(\n 'identifier',\n _.get(data, 'identifier'),\n _.has(data, 'identifier')\n ),\n ...conditionallyProvideAttribute(\n 'type',\n _.get(data, 'type'),\n _.has(data, 'type')\n )\n }\n ]\n : _.has(data, 'text')\n ? (_.get(data, 'text') as string)\n : undefined,\n ...conditionallyProvideAttribute(\n 'url',\n _.get(data, 'href'),\n _.has(data, 'href') && _.get(data, 'href') !== ''\n )\n })\n }\n ],\n source_location: {},\n title: {path: ['title.text', 'title']},\n id: {path: ['id']},\n desc: {\n path: ['description.text', 'description'],\n transformer: (description: string): string =>\n parseHtml(\n _.get(\n parseXml(description),\n 'ProfileDescription',\n description\n ) as string\n )\n },\n descriptions: [\n {\n path: ['check.check-content-ref.name'],\n transformer: (\n data: string | string[]\n ): ExecJSON.ControlDescription => ({\n data: asArray(data).join('\\n'),\n label: 'check'\n })\n } as unknown as ExecJSON.ControlDescription,\n {\n path: ['fixtext.text', 'fix.text'],\n transformer: (\n data: string | string[]\n ): ExecJSON.ControlDescription => ({\n data: asArray(data).map(parseHtml).join('\\n'),\n label: 'fix'\n })\n } as unknown as ExecJSON.ControlDescription,\n {\n path: ['rationale.text'],\n transformer: (\n data: string | string[]\n ): ExecJSON.ControlDescription => ({\n data: asArray(data).map(parseHtml).join('\\n'),\n label: 'rationale'\n })\n } as unknown as ExecJSON.ControlDescription,\n {\n path: ['warning.text'],\n transformer: (\n data: string | string[]\n ): ExecJSON.ControlDescription => ({\n data: asArray(data).map(parseHtml).join('\\n'),\n label: 'warning'\n })\n } as unknown as ExecJSON.ControlDescription\n ],\n impact: {\n transformer: (vulnerability: Record<string, unknown>): number => {\n const ruleResult = _.get(vulnerability, 'ruleResult') as Record<\n string,\n unknown\n >;\n if (ruleResult) {\n const result = _.get(ruleResult, 'result') as string;\n if (\n result === 'notselected' ||\n result === 'notapplicable' ||\n result === 'informational'\n ) {\n return 0;\n }\n }\n return impactMapping(IMPACT_MAPPING)(\n _.get(vulnerability, 'severity')\n );\n }\n },\n code: {\n transformer: (vulnerability: Record<string, unknown>): string =>\n JSON.stringify(\n _.omit(vulnerability, [\n 'group',\n 'ruleResult',\n 'profiles',\n 'values'\n ]),\n null,\n 2\n )\n },\n results: [\n {\n status: {\n path: ['ruleResult.result'],\n transformer: getStatus\n },\n code_desc: {\n path: ['description.text', 'description'],\n transformer: (description: string): string =>\n parseHtml(\n _.get(\n parseXml(description),\n 'VulnDiscussion',\n description\n ) as string\n )\n },\n start_time: {\n path: ['ruleResult.time']\n }\n }\n ]\n }\n ],\n sha256: ''\n }\n ],\n passthrough: {\n transformer: (data: Record<string, unknown>): Record<string, unknown> => {\n let auxData = _.get(data, 'Benchmark') as Record<string, unknown>;\n if (auxData) {\n auxData = _.omit(auxData, [\n 'id',\n 'xml:lang',\n 'style',\n 'title',\n 'description',\n 'notice',\n 'front-matter',\n 'reference',\n 'platform',\n 'version',\n 'model',\n 'Group',\n 'TestResult'\n ]);\n }\n auxData = {Benchmark: auxData};\n return {\n auxiliary_data: [\n {\n name: 'XCCDF',\n data: auxData\n }\n ],\n ...(this.withRaw && {raw: data})\n };\n }\n }\n };\n constructor(scapXml: string, withRaw = false) {\n super(\n parseXml(scapXml, {\n stopNodes: [\n '*.fixtext',\n '*.fix',\n '*.rationale',\n '*.warning',\n '*.title',\n '*.description'\n ]\n })\n );\n this.withRaw = withRaw;\n }\n}\n"]}
@@ -1,5 +1,12 @@
1
1
  import { ExecJSON } from 'inspecjs';
2
2
  import { BaseConverter, ILookupPath, MappedTransform } from './base-converter';
3
+ export declare class ZapResults {
4
+ readonly zapJson: string;
5
+ readonly name?: string | undefined;
6
+ readonly withRaw: boolean;
7
+ constructor(zapJson: string, name?: string | undefined, withRaw?: boolean);
8
+ toHdf(): Promise<ExecJSON.Execution>;
9
+ }
3
10
  export declare class ZapMapper extends BaseConverter {
4
11
  withRaw: boolean;
5
12
  mappings: MappedTransform<ExecJSON.Execution & {
@@ -8,3 +15,4 @@ export declare class ZapMapper extends BaseConverter {
8
15
  constructor(zapJson: string, name?: string, withRaw?: boolean);
9
16
  toHdf(): ExecJSON.Execution;
10
17
  }
18
+ //# sourceMappingURL=zap-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zap-mapper.d.ts","sourceRoot":"","sources":["../../src/zap-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAGlC,OAAO,EACL,aAAa,EACb,WAAW,EACX,eAAe,EAEhB,MAAM,kBAAkB,CAAC;AA2F1B,qBAAa,UAAU;IACT,QAAQ,CAAC,OAAO,EAAE,MAAM;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM;IAAE,QAAQ,CAAC,OAAO;gBAAzD,OAAO,EAAE,MAAM,EAAW,IAAI,CAAC,EAAE,MAAM,YAAA,EAAW,OAAO,UAAQ;IAEhF,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;CAK3C;AAED,qBAAa,SAAU,SAAQ,aAAa;IAC1C,OAAO,EAAE,OAAO,CAAC;IAEjB,QAAQ,EAAE,eAAe,CACvB,QAAQ,CAAC,SAAS,GAAG;QAAC,WAAW,EAAE,OAAO,CAAA;KAAC,EAC3C,WAAW,CACZ,CAqFC;gBACU,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,UAAQ;IAY3D,KAAK,IAAI,QAAQ,CAAC,SAAS;CAmB5B"}
@@ -15,15 +15,25 @@ 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
- exports.ZapMapper = void 0;
36
+ exports.ZapMapper = exports.ZapResults = void 0;
27
37
  const inspecjs_1 = require("inspecjs");
28
38
  const _ = __importStar(require("lodash"));
29
39
  const package_json_1 = require("../package.json");
@@ -31,10 +41,13 @@ const base_converter_1 = require("./base-converter");
31
41
  const CweNistMapping_1 = require("./mappings/CweNistMapping");
32
42
  const global_1 = require("./utils/global");
33
43
  const CWE_NIST_MAPPING = new CweNistMapping_1.CweNistMapping();
44
+ let parseHtml;
34
45
  function filterSite(input, name) {
46
+ // Choose passed site if provided
35
47
  if (name) {
36
48
  return input.find((element) => _.get(element, '@name') === name);
37
49
  }
50
+ // Otherwise choose the site with the most alerts
38
51
  else {
39
52
  return input.reduce((a, b) => _.get(a, 'alerts').length >
40
53
  _.get(b, 'alerts').length
@@ -103,94 +116,110 @@ function deduplicateId(input) {
103
116
  });
104
117
  return input;
105
118
  }
106
- class ZapMapper extends base_converter_1.BaseConverter {
119
+ class ZapResults {
120
+ zapJson;
121
+ name;
122
+ withRaw;
107
123
  constructor(zapJson, name, withRaw = false) {
108
- super(_.set(JSON.parse(zapJson), 'site', filterSite(_.get(JSON.parse(zapJson), 'site'), name)), false);
109
- this.mappings = {
110
- platform: {
111
- name: 'Heimdall Tools',
112
- release: package_json_1.version
113
- },
114
- version: package_json_1.version,
115
- statistics: {},
116
- profiles: [
117
- {
118
- name: 'OWASP ZAP Scan',
119
- version: { path: '@version' },
120
- title: {
121
- path: 'site.@host',
122
- transformer: (input) => {
123
- return `OWASP ZAP Scan of Host: ${input}`;
124
- }
125
- },
126
- summary: {
127
- path: 'site.@host',
128
- transformer: (input) => {
129
- return `OWASP ZAP Scan of Host: ${input}`;
130
- }
131
- },
132
- supports: [],
133
- attributes: [],
134
- groups: [],
135
- status: 'loaded',
136
- controls: [
137
- {
138
- path: 'site.alerts',
139
- arrayTransformer: deduplicateId,
140
- tags: {
141
- cci: {
142
- path: 'cweid',
143
- transformer: (cwe) => (0, global_1.getCCIsForNISTTags)(nistTag(cwe))
144
- },
145
- nist: { path: 'cweid', transformer: nistTag },
146
- cweid: { path: 'cweid' },
147
- wascid: { path: 'wascid' },
148
- sourceid: { path: 'sourceid' },
149
- confidence: { path: 'confidence' },
150
- riskdesc: { path: 'riskdesc' }
151
- },
152
- refs: [],
153
- source_location: {},
154
- title: { path: 'name' },
155
- id: { path: 'pluginid' },
156
- desc: { path: 'desc', transformer: base_converter_1.parseHtml },
157
- descriptions: [
158
- {
159
- data: { transformer: checkText },
160
- label: 'check'
161
- }
162
- ],
163
- impact: { path: 'riskcode', transformer: impactMapping },
164
- code: {
165
- transformer: (vulnerability) => JSON.stringify(vulnerability, null, 2)
124
+ this.zapJson = zapJson;
125
+ this.name = name;
126
+ this.withRaw = withRaw;
127
+ }
128
+ async toHdf() {
129
+ parseHtml = await (0, base_converter_1.buildParseHtmlFunc)();
130
+ return (new ZapMapper(this.zapJson, this.name, this.withRaw)).toHdf();
131
+ }
132
+ }
133
+ exports.ZapResults = ZapResults;
134
+ class ZapMapper extends base_converter_1.BaseConverter {
135
+ withRaw;
136
+ mappings = {
137
+ platform: {
138
+ name: 'Heimdall Tools',
139
+ release: package_json_1.version
140
+ },
141
+ version: package_json_1.version,
142
+ statistics: {},
143
+ profiles: [
144
+ {
145
+ name: 'OWASP ZAP Scan',
146
+ version: { path: '@version' },
147
+ title: {
148
+ path: 'site.@host',
149
+ transformer: (input) => {
150
+ return `OWASP ZAP Scan of Host: ${input}`;
151
+ }
152
+ },
153
+ summary: {
154
+ path: 'site.@host',
155
+ transformer: (input) => {
156
+ return `OWASP ZAP Scan of Host: ${input}`;
157
+ }
158
+ },
159
+ supports: [],
160
+ attributes: [],
161
+ groups: [],
162
+ status: 'loaded',
163
+ controls: [
164
+ {
165
+ path: 'site.alerts',
166
+ arrayTransformer: deduplicateId,
167
+ tags: {
168
+ cci: {
169
+ path: 'cweid',
170
+ transformer: (cwe) => (0, global_1.getCCIsForNISTTags)(nistTag(cwe))
166
171
  },
167
- results: [
168
- {
169
- path: 'instances',
170
- status: inspecjs_1.ExecJSON.ControlResultStatus.Failed,
171
- code_desc: { transformer: formatCodeDesc },
172
- start_time: { path: '$.@generated' }
173
- }
174
- ]
175
- }
176
- ],
177
- sha256: ''
178
- }
179
- ],
180
- passthrough: {
181
- transformer: (data) => {
182
- return {
183
- auxiliary_data: [
172
+ nist: { path: 'cweid', transformer: nistTag },
173
+ cweid: { path: 'cweid' },
174
+ wascid: { path: 'wascid' },
175
+ sourceid: { path: 'sourceid' },
176
+ confidence: { path: 'confidence' },
177
+ riskdesc: { path: 'riskdesc' }
178
+ },
179
+ refs: [],
180
+ source_location: {},
181
+ title: { path: 'name' },
182
+ id: { path: 'pluginid' },
183
+ desc: { path: 'desc', transformer: parseHtml },
184
+ descriptions: [
184
185
  {
185
- name: 'OWASP ZAP',
186
- data: _.pick(data, ['site.@port', 'site.@ssl'])
186
+ data: { transformer: checkText },
187
+ label: 'check'
187
188
  }
188
189
  ],
189
- ...(this.withRaw && { raw: data })
190
- };
191
- }
190
+ impact: { path: 'riskcode', transformer: impactMapping },
191
+ code: {
192
+ transformer: (vulnerability) => JSON.stringify(vulnerability, null, 2)
193
+ },
194
+ results: [
195
+ {
196
+ path: 'instances',
197
+ status: inspecjs_1.ExecJSON.ControlResultStatus.Failed,
198
+ code_desc: { transformer: formatCodeDesc },
199
+ start_time: { path: '$.@generated' }
200
+ }
201
+ ]
202
+ }
203
+ ],
204
+ sha256: ''
192
205
  }
193
- };
206
+ ],
207
+ passthrough: {
208
+ transformer: (data) => {
209
+ return {
210
+ auxiliary_data: [
211
+ {
212
+ name: 'OWASP ZAP',
213
+ data: _.pick(data, ['site.@port', 'site.@ssl'])
214
+ }
215
+ ],
216
+ ...(this.withRaw && { raw: data })
217
+ };
218
+ }
219
+ }
220
+ };
221
+ constructor(zapJson, name, withRaw = false) {
222
+ super(_.set(JSON.parse(zapJson), 'site', filterSite(_.get(JSON.parse(zapJson), 'site'), name)), false);
194
223
  this.withRaw = withRaw;
195
224
  }
196
225
  toHdf() {
@@ -1 +1 @@
1
- {"version":3,"file":"zap-mapper.js","sourceRoot":"","sources":["../../src/zap-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zap-mapper.js","sourceRoot":"","sources":["../../src/zap-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 buildParseHtmlFunc,\n} from './base-converter';\nimport {CweNistMapping} from './mappings/CweNistMapping';\nimport {\n DEFAULT_STATIC_CODE_ANALYSIS_NIST_TAGS,\n getCCIsForNISTTags\n} from './utils/global';\n\nconst CWE_NIST_MAPPING = new CweNistMapping();\n\nlet parseHtml: (input: unknown) => string;\n\nfunction filterSite<T>(input: Array<T>, name?: string) {\n // Choose passed site if provided\n if (name) {\n return input.find(\n (element) => (_.get(element, '@name') as unknown as string) === name\n );\n }\n // Otherwise choose the site with the most alerts\n else {\n return input.reduce((a, b) =>\n (_.get(a, 'alerts') as unknown as Record<string, unknown>[]).length >\n (_.get(b, 'alerts') as unknown as Record<string, unknown>[]).length\n ? a\n : b\n );\n }\n}\nfunction impactMapping(input: unknown): number {\n if (typeof input === 'string') {\n const impact = parseInt(input);\n if (0 <= impact && impact <= 1) {\n return 0.3;\n } else if (impact === 2) {\n return 0.5;\n } else if (impact >= 3) {\n return 0.7;\n } else {\n return 0;\n }\n } else {\n return 0;\n }\n}\nfunction nistTag(cweid: string): string[] {\n return CWE_NIST_MAPPING.nistFilter(\n [cweid],\n DEFAULT_STATIC_CODE_ANALYSIS_NIST_TAGS\n );\n}\nfunction checkText(input: Record<string, unknown>): string {\n const text = [];\n text.push(_.get(input, 'solution'));\n text.push(_.get(input, 'otherinfo'));\n text.push(_.get(input, 'otherinfo'));\n return text.join('\\n');\n}\nfunction formatCodeDesc(input: unknown): string {\n const text: string[] = [];\n if (input instanceof Object) {\n Object.keys(input).forEach((key) => {\n text.push(\n `${key.charAt(0).toUpperCase() + key.slice(1)}: ${_.get(input, key)}`\n );\n });\n }\n return text.join('\\n') + '\\n';\n}\nfunction deduplicateId(input: unknown[]): ExecJSON.Control[] {\n const controlId = input.map((element) => {\n return _.get(element, 'id');\n });\n const dupId = _.chain(controlId)\n .groupBy()\n .pickBy((value) => value.length > 1)\n .keys()\n .value();\n dupId.forEach((id) => {\n let index = 1;\n input\n .filter((element) => _.get(element, 'id') === id)\n .forEach((element) => {\n if (element instanceof Object) {\n _.set(element, 'id', `${id}.${index.toString()}`);\n }\n index++;\n });\n });\n return input as ExecJSON.Control[];\n}\n\nexport class ZapResults {\n constructor(readonly zapJson: string, readonly name?: string, readonly withRaw = false) {}\n\n async toHdf(): Promise<ExecJSON.Execution> {\n parseHtml = await buildParseHtmlFunc();\n\n return (new ZapMapper(this.zapJson, this.name, this.withRaw)).toHdf();\n }\n}\n\nexport class ZapMapper extends BaseConverter {\n withRaw: boolean;\n\n mappings: MappedTransform<\n ExecJSON.Execution & {passthrough: unknown},\n ILookupPath\n > = {\n platform: {\n name: 'Heimdall Tools',\n release: HeimdallToolsVersion\n },\n version: HeimdallToolsVersion,\n statistics: {},\n profiles: [\n {\n name: 'OWASP ZAP Scan',\n version: {path: '@version'},\n title: {\n path: 'site.@host',\n transformer: (input: unknown): string => {\n return `OWASP ZAP Scan of Host: ${input}`;\n }\n },\n summary: {\n path: 'site.@host',\n transformer: (input: unknown): string => {\n return `OWASP ZAP Scan of Host: ${input}`;\n }\n },\n supports: [],\n attributes: [],\n groups: [],\n status: 'loaded',\n controls: [\n {\n path: 'site.alerts',\n arrayTransformer: deduplicateId,\n tags: {\n cci: {\n path: 'cweid',\n transformer: (cwe: string) => getCCIsForNISTTags(nistTag(cwe))\n },\n nist: {path: 'cweid', transformer: nistTag},\n cweid: {path: 'cweid'},\n wascid: {path: 'wascid'},\n sourceid: {path: 'sourceid'},\n confidence: {path: 'confidence'},\n riskdesc: {path: 'riskdesc'}\n },\n refs: [],\n source_location: {},\n title: {path: 'name'},\n id: {path: 'pluginid'},\n desc: {path: 'desc', transformer: parseHtml},\n descriptions: [\n {\n data: {transformer: checkText},\n label: 'check'\n }\n ],\n impact: {path: 'riskcode', transformer: impactMapping},\n code: {\n transformer: (vulnerability: Record<string, unknown>): string =>\n JSON.stringify(vulnerability, null, 2)\n },\n results: [\n {\n path: 'instances',\n status: ExecJSON.ControlResultStatus.Failed,\n code_desc: {transformer: formatCodeDesc},\n start_time: {path: '$.@generated'}\n }\n ]\n }\n ],\n sha256: ''\n }\n ],\n passthrough: {\n transformer: (data: Record<string, unknown>): Record<string, unknown> => {\n return {\n auxiliary_data: [\n {\n name: 'OWASP ZAP',\n data: _.pick(data, ['site.@port', 'site.@ssl'])\n }\n ],\n ...(this.withRaw && {raw: data})\n };\n }\n }\n };\n constructor(zapJson: string, name?: string, withRaw = false) {\n super(\n _.set(\n JSON.parse(zapJson),\n 'site',\n filterSite(_.get(JSON.parse(zapJson), 'site'), name)\n ),\n false\n );\n this.withRaw = withRaw;\n }\n\n toHdf(): ExecJSON.Execution {\n const original = super.toHdf();\n _.get(original, 'profiles').forEach((profile) => {\n _.get(profile, 'controls').forEach((control) => {\n _.set(\n control,\n 'results',\n _.get(control, 'results').filter(function (\n element: ExecJSON.ControlResult,\n index: number,\n self: ExecJSON.ControlResult[]\n ) {\n return index === self.indexOf(element);\n })\n );\n });\n });\n return original;\n }\n}\n"]}