@mitre/hdf-converters 2.12.2 → 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 +28 -45
  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 +276 -242
  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 +28 -15
  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 +38 -22
  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 +51 -33
  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 +59 -25
  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 +264 -155
  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 +38 -16
  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 +82 -55
  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 +65 -38
  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 +40 -16
  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 +33 -12
  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 +377 -309
  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 +6 -2
  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 +19 -8
  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 +123 -124
  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 +526 -278
  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 +72 -16
  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 +35 -17
  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 -32
  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 +29 -46
  369. package/lib/data/converters/csv2json.ts +0 -36
  370. package/lib/data/converters/xml2json.ts +0 -57
@@ -15,17 +15,31 @@ 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.FromHdfBaseConverter = void 0;
27
37
  const _ = __importStar(require("lodash"));
38
+ //Base converter used to support conversions from HDF to Any Format
28
39
  class FromHdfBaseConverter {
40
+ data;
41
+ mappings;
42
+ collapseResults;
29
43
  constructor(data, collapseResults = false) {
30
44
  this.data = data;
31
45
  this.collapseResults = collapseResults;
@@ -33,18 +47,22 @@ class FromHdfBaseConverter {
33
47
  setMappings(mappings) {
34
48
  this.mappings = mappings;
35
49
  }
50
+ //Called over and over to iterate through objects assigned to keys too
36
51
  convertInternal(file, fields) {
37
52
  const result = this.objectMap(fields, (v) => this.evaluate(file, v));
38
53
  return result;
39
54
  }
55
+ // Preforms fn() on all entries inside the passed obj
40
56
  objectMap(obj, fn) {
41
57
  return Object.fromEntries(Object.entries(obj).map(([k, v]) => [k, fn(v)]));
42
58
  }
59
+ //Used to get the data located at the paths
43
60
  evaluate(file, v) {
44
61
  const transformer = _.get(v, 'transformer');
45
62
  if (Array.isArray(v)) {
46
63
  return this.handleArray(file, v);
47
64
  }
65
+ // Do we have a static value set here?
48
66
  if (typeof v === 'string' ||
49
67
  typeof v === 'number' ||
50
68
  typeof v === 'boolean' ||
@@ -79,8 +97,9 @@ class FromHdfBaseConverter {
79
97
  }
80
98
  handleArray(file, v) {
81
99
  const resultingData = [];
100
+ // Looks through parsed data file using the mapping setup in V
82
101
  if (v[0] && !v[0].path) {
83
- const arrayTransformer = v[0].arrayTransformer;
102
+ const arrayTransformer = v[0].arrayTransformer; //does nothing since null
84
103
  let output = v.map((element) => this.evaluate(file, element));
85
104
  if (arrayTransformer) {
86
105
  output = arrayTransformer(output, this.data);
@@ -92,7 +111,7 @@ class FromHdfBaseConverter {
92
111
  const arrayTransformer = v[0].arrayTransformer;
93
112
  const transformer = v[0].transformer;
94
113
  if (this.hasPath(file, path)) {
95
- const pathVal = this.handlePath(file, path);
114
+ const pathVal = this.handlePath(file, path); //Any matches in the path even if more than one, will grab an array of results
96
115
  if (Array.isArray(pathVal)) {
97
116
  v = pathVal.map((element) => this.convertInternal(element, v[0]));
98
117
  if (arrayTransformer) {
@@ -118,6 +137,7 @@ class FromHdfBaseConverter {
118
137
  });
119
138
  return uniqueResults;
120
139
  }
140
+ //Gets the value at the path using lodash and path stored in object
121
141
  handlePath(file, path) {
122
142
  if (path.startsWith('$.')) {
123
143
  return _.get(this.data, path.slice(2));
@@ -1 +1 @@
1
- {"version":3,"file":"reverse-base-converter.js","sourceRoot":"","sources":["../../../src/converters-from-hdf/reverse-base-converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reverse-base-converter.js","sourceRoot":"","sources":["../../../src/converters-from-hdf/reverse-base-converter.ts"],"names":[],"mappings":"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","sourcesContent":["import {ExecJSON} from 'inspecjs';\nimport * as _ from 'lodash';\nimport {\n MappedReform,\n MappedTransform,\n ObjectEntryValue\n} from '../base-converter';\n\nexport interface ILookupPathFH {\n path?: string;\n transformer?: (value: any, context?: any) => unknown;\n arrayTransformer?: (value: unknown[], file: ExecJSON.Execution) => unknown[];\n key?: string;\n passParent?: boolean;\n default?: any;\n}\n\n//Base converter used to support conversions from HDF to Any Format\nexport class FromHdfBaseConverter {\n data: ExecJSON.Execution;\n mappings?: MappedTransform<any, ILookupPathFH>;\n collapseResults: boolean;\n\n constructor(data: ExecJSON.Execution, collapseResults = false) {\n this.data = data;\n this.collapseResults = collapseResults;\n }\n\n setMappings(mappings: MappedTransform<any, ILookupPathFH>): void {\n this.mappings = mappings;\n }\n\n //Called over and over to iterate through objects assigned to keys too\n convertInternal<T>(file: object, fields: T): MappedReform<T, ILookupPathFH> {\n const result = this.objectMap(fields as T[], (v) =>\n this.evaluate(file, v as T & object & ILookupPathFH)\n );\n return result as MappedReform<T, ILookupPathFH>;\n }\n\n // Preforms fn() on all entries inside the passed obj\n objectMap<T extends Array<unknown>, V>(\n obj: T,\n fn: (v: ObjectEntryValue<T>) => V\n ): {[K in keyof T]: V} {\n return Object.fromEntries(\n Object.entries(obj).map(([k, v]) => [k, fn(v as ObjectEntryValue<T>)])\n ) as Record<keyof T, V>;\n }\n\n //Used to get the data located at the paths\n evaluate<T extends object & ILookupPathFH>(\n file: object,\n v: T | Array<T>\n ): T | Array<T> | MappedReform<T, ILookupPathFH> {\n const transformer = _.get(v, 'transformer') as any;\n if (Array.isArray(v)) {\n return this.handleArray(file, v);\n }\n // Do we have a static value set here?\n if (\n typeof v === 'string' ||\n typeof v === 'number' ||\n typeof v === 'boolean' ||\n v === undefined ||\n v === null\n ) {\n return v;\n }\n\n if (typeof transformer === 'function') {\n if (!v.path) {\n if (v.passParent) {\n return transformer(file, this);\n } else {\n return transformer(file);\n }\n } else {\n if (v.passParent) {\n return transformer(this.handlePath(file, v.path), this);\n } else {\n return transformer(this.handlePath(file, v.path));\n }\n }\n } else {\n if (v.path) {\n return this.handlePath(file, v.path) as T | T[];\n }\n }\n return this.convertInternal(file, v);\n }\n\n handleArray<T extends ILookupPathFH>(\n file: object,\n v: Array<T & ILookupPathFH>\n ): Array<T> {\n const resultingData: Array<T> = [];\n // Looks through parsed data file using the mapping setup in V\n if (v[0] && !v[0].path) {\n const arrayTransformer = v[0].arrayTransformer; //does nothing since null\n let output: Array<T> = v.map(\n (element) => this.evaluate(file, element) as T\n );\n if (arrayTransformer) {\n output = arrayTransformer(output, this.data) as T[];\n }\n resultingData.push(...output);\n } else if (v[0] && v[0].path) {\n const path = v[0].path;\n const arrayTransformer = v[0].arrayTransformer;\n const transformer = v[0].transformer;\n if (this.hasPath(file, path)) {\n const pathVal = this.handlePath(file, path); //Any matches in the path even if more than one, will grab an array of results\n if (Array.isArray(pathVal)) {\n v = pathVal.map(\n (element: Record<string, unknown>) =>\n this.convertInternal(element, v[0]) as T\n );\n if (arrayTransformer) {\n v = arrayTransformer(v, this.data) as T[];\n }\n resultingData.push(...v);\n } else {\n if (transformer) {\n resultingData.push(\n transformer(this.handlePath(file, path) as any) as T\n );\n } else {\n resultingData.push(this.handlePath(file, path) as T);\n }\n }\n }\n }\n\n const uniqueResults: T[] = [];\n resultingData.forEach((result) => {\n if (\n !uniqueResults.some((uniqueResult) => _.isEqual(result, uniqueResult))\n ) {\n uniqueResults.push(result);\n }\n });\n return uniqueResults;\n }\n\n //Gets the value at the path using lodash and path stored in object\n handlePath(file: object, path: string): unknown {\n if (path.startsWith('$.')) {\n return _.get(this.data, path.slice(2));\n } else {\n return _.get(file, path);\n }\n }\n hasPath(file: object, path: string): boolean {\n if (path.startsWith('$.')) {\n return _.has(this.data, path.slice(2));\n } else {\n return _.has(file, path);\n }\n }\n}\n"]}
@@ -40,3 +40,4 @@ export declare class FromHDFToSplunkMapper extends FromAnyBaseConverter {
40
40
  uploadSplunkData(config: SplunkConfig, targetIndex: any, splunkData: SplunkData): Promise<void>;
41
41
  toSplunk(config: SplunkConfig, filename: string): Promise<string>;
42
42
  }
43
+ //# sourceMappingURL=reverse-splunk-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reverse-splunk-mapper.d.ts","sourceRoot":"","sources":["../../../../src/converters-from-hdf/splunk/reverse-splunk-mapper.ts"],"names":[],"mappings":"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"}
@@ -15,18 +15,34 @@ 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.FromHDFToSplunkMapper = exports.FromHDFControlToSplunkControlMapper = exports.FromHDFProfileToSplunkProfileMapper = exports.FromHDFExecutionToSplunkExecutionMapper = exports.createControlMapping = exports.createProfileMapping = exports.getProfileRunLevel = exports.getDependencies = exports.createReportMapping = exports.createGUID = void 0;
39
+ exports.FromHDFToSplunkMapper = exports.FromHDFControlToSplunkControlMapper = exports.FromHDFProfileToSplunkProfileMapper = exports.FromHDFExecutionToSplunkExecutionMapper = void 0;
40
+ exports.createGUID = createGUID;
41
+ exports.createReportMapping = createReportMapping;
42
+ exports.getDependencies = getDependencies;
43
+ exports.getProfileRunLevel = getProfileRunLevel;
44
+ exports.createProfileMapping = createProfileMapping;
45
+ exports.createControlMapping = createControlMapping;
30
46
  const axios_1 = __importDefault(require("axios"));
31
47
  const _ = __importStar(require("lodash"));
32
48
  const global_1 = require("../../utils/global");
@@ -45,7 +61,6 @@ function createGUID(length) {
45
61
  }
46
62
  return result;
47
63
  }
48
- exports.createGUID = createGUID;
49
64
  function createReportMapping(execution, filename, guid) {
50
65
  return {
51
66
  meta: {
@@ -62,7 +77,6 @@ function createReportMapping(execution, filename, guid) {
62
77
  version: execution.data.version
63
78
  };
64
79
  }
65
- exports.createReportMapping = createReportMapping;
66
80
  function getDependencies(profile, execution) {
67
81
  if (profile && execution) {
68
82
  const dependencies = [];
@@ -78,11 +92,9 @@ function getDependencies(profile, execution) {
78
92
  }
79
93
  return [];
80
94
  }
81
- exports.getDependencies = getDependencies;
82
95
  function getProfileRunLevel(profile, execution) {
83
96
  return getDependencies(profile, execution).length;
84
97
  }
85
- exports.getProfileRunLevel = getProfileRunLevel;
86
98
  function createProfileMapping(filename, guid) {
87
99
  return {
88
100
  meta: {
@@ -150,15 +162,13 @@ function createProfileMapping(filename, guid) {
150
162
  }
151
163
  };
152
164
  }
153
- exports.createProfileMapping = createProfileMapping;
154
165
  function createControlMapping(control, profile, execution, filename, guid) {
155
166
  return {
156
167
  meta: {
157
168
  guid: guid,
158
169
  status: {
159
170
  transformer: (data) => {
160
- var _a;
161
- if (((_a = data.hdf.segments) === null || _a === void 0 ? void 0 : _a.length) === 0 &&
171
+ if (data.hdf.segments?.length === 0 &&
162
172
  data.extendsFrom.length !== 0) {
163
173
  return 'Overlaid Control';
164
174
  }
@@ -199,7 +209,6 @@ function createControlMapping(control, profile, execution, filename, guid) {
199
209
  results: control.hdf.segments
200
210
  };
201
211
  }
202
- exports.createControlMapping = createControlMapping;
203
212
  class FromHDFExecutionToSplunkExecutionMapper extends reverse_any_base_converter_1.FromAnyBaseConverter {
204
213
  constructor(evaluation, filename, guid) {
205
214
  super(evaluation);
@@ -231,6 +240,8 @@ class FromHDFControlToSplunkControlMapper extends reverse_any_base_converter_1.F
231
240
  }
232
241
  exports.FromHDFControlToSplunkControlMapper = FromHDFControlToSplunkControlMapper;
233
242
  class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConverter {
243
+ contextualizedEvaluation;
244
+ axiosInstance;
234
245
  constructor(data, logService, loggingLevel) {
235
246
  if (logService) {
236
247
  logger = logService;
@@ -262,6 +273,7 @@ class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConv
262
273
  this.axiosInstance.defaults.params['sourcetype'] = MAPPER_NAME;
263
274
  this.axiosInstance.defaults.params['index'] = targetIndex.name;
264
275
  try {
276
+ // Upload execution event
265
277
  const execEvents = splunkData.reports.map((report) => {
266
278
  return this.axiosInstance
267
279
  .post(`${hostname}/services/receivers/simple`, JSON.stringify(report))
@@ -270,8 +282,12 @@ class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConv
270
282
  });
271
283
  });
272
284
  await Promise.all(execEvents);
285
+ // Upload profile event(s)
286
+ // \r\n Is the default LINE_BREAKER for splunk, this is very poorly documented.
287
+ // See https://docs.splunk.com/Documentation/StreamProcessor/standard/FunctionReference/LineBreak
273
288
  await this.axiosInstance.post(`${hostname}/services/receivers/simple`, splunkData.profiles.map((profile) => JSON.stringify(profile)).join('\n'));
274
289
  logger.verbose(`Successfully uploaded ${splunkData.profiles.length} profile layer(s)`);
290
+ // Upload control event(s)
275
291
  const controlEvents = _.chunk(splunkData.controls, UPLOAD_CHUNK_SIZE).map((chunk) => {
276
292
  return this.axiosInstance
277
293
  .post(`${hostname}/services/receivers/simple`, chunk.map((control) => JSON.stringify(control)).join('\n'))
@@ -285,15 +301,19 @@ class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConv
285
301
  }
286
302
  async toSplunk(config, filename) {
287
303
  const hostname = (0, splunk_tools_1.generateHostname)(config);
304
+ // returnCount specifies the number of found results to return, if set to 0 returns all available data
305
+ // Per https://docs.splunk.com/Documentation/Splunk/9.0.5/RESTREF/RESTintrospect#data.2Findexes
288
306
  const returnCount = 0;
289
307
  let indexResponse;
290
308
  logger.info(`Logging into Splunk instance at ${hostname} with user ${config.username}`);
291
309
  logger.verbose(`Found designated file to transfer: ${filename}`);
292
310
  const guid = createGUID(30);
293
311
  logger.verbose(`Using GUID: ${guid}`);
312
+ // Attempt to authenticate using given credentials
294
313
  const authResponse = await (0, splunk_tools_1.checkSplunkCredentials)(config);
295
314
  this.axiosInstance.defaults.headers.common['Authorization'] =
296
315
  `Bearer ${authResponse}`;
316
+ // Request all available indexes
297
317
  try {
298
318
  indexResponse = await this.axiosInstance.get(`${hostname}/services/data/indexes`, {
299
319
  params: { count: returnCount }
@@ -302,9 +322,11 @@ class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConv
302
322
  catch (error) {
303
323
  throw new Error(`Failed to request indexes - ${(0, splunk_tools_1.handleSplunkErrorResponse)(error)}`);
304
324
  }
325
+ // Check if index request reponse schema is valid
305
326
  if (!_.has(indexResponse, ['data', 'entry'])) {
306
327
  throw new Error('Failed to request indexes - Malformed index reponse received');
307
328
  }
329
+ // Report provided indexes
308
330
  const indexes = indexResponse.data.entry;
309
331
  if (indexes.length <= 0) {
310
332
  throw new Error('Unable to retrieve available indexes, double-check your scheme configuration and try again');
@@ -312,9 +334,11 @@ class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConv
312
334
  else {
313
335
  const indexNames = indexes.map((index) => index.name);
314
336
  logger.verbose(`Available indexes: ${indexNames.join(', ')}`);
337
+ // Parse available indexes for user desired index
315
338
  if (indexNames.includes(config.index)) {
316
339
  const targetIndex = indexes.filter((index) => index.name === config.index)[0];
317
340
  logger.verbose(`Found index: ${targetIndex.name}`);
341
+ // Post given file(s) to identified index
318
342
  const splunkData = this.createSplunkData(guid, filename);
319
343
  try {
320
344
  await this.uploadSplunkData(config, targetIndex, splunkData);
@@ -1 +1 @@
1
- {"version":3,"file":"reverse-splunk-mapper.js","sourceRoot":"","sources":["../../../../src/converters-from-hdf/splunk/reverse-splunk-mapper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0D;AAO1D,0CAA4B;AAO5B,+CAG4B;AAC5B,2DAIkC;AAClC,8EAAmE;AAGnE,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAChC,MAAM,WAAW,GAAG,YAAY,CAAC;AACjC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAQ9B,IAAI,MAAM,GAAG,IAAA,4BAAmB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAEvD,SAAgB,UAAU,CAAC,MAAc;IACvC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,UAAU,GACd,gEAAgE,CAAC;IACnE,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;QAC/B,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;KAC3E;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AATD,gCASC;AAED,SAAgB,mBAAmB,CACjC,SAAmC,EACnC,QAAgB,EAChB,IAAY;IAEZ,OAAO;QACL,IAAI,EAAE;YACJ,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,QAAQ;YACjB,iBAAiB,EAAE,iBAAiB;YACpC,QAAQ,EAAE,YAAY;SACvB;QACD,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,CAAC;QACjD,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ;QACjC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU;QACrC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO;KAChC,CAAC;AACJ,CAAC;AAnBD,kDAmBC;AAED,SAAgB,eAAe,CAC7B,OAA+B,EAC/B,SAAoC;IAEpC,IAAI,OAAO,IAAI,SAAS,EAAE;QACxB,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;YACxB,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;gBAC7C,IAAI,UAAU,CAAC,IAAI,EAAE;oBACnB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACnC,YAAY,CAAC,IAAI,CACf,GAAG,eAAe,CAChB,SAAS,CAAC,QAAQ,CAAC,IAAI,CACrB,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAC3D,EACD,SAAS,CACV,CACF,CAAC;iBACH;aACF;SACF;QACD,OAAO,YAAY,CAAC;KACrB;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAzBD,0CAyBC;AAED,SAAgB,kBAAkB,CAChC,OAA8B,EAC9B,SAAmC;IAEnC,OAAO,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC;AACpD,CAAC;AALD,gDAKC;AAED,SAAgB,oBAAoB,CAClC,QAAgB,EAChB,IAAY;IAEZ,OAAO;QACL,IAAI,EAAE;YACJ,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,YAAY;YACtB,IAAI,EAAE,IAAI;YACV,iBAAiB,EAAE,iBAAiB;YACpC,WAAW,EAAE;gBACX,IAAI,EAAE,sBAAsB;gBAC5B,WAAW,EAAE,CAAC,KAAc,EAAE,EAAE;oBAC9B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;aACF;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,aAAa;aACpB;YACD,OAAO,EAAE,SAAS;SACnB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;SACrB;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,WAAW;SAClB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;SACpB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,eAAe;SACtB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,gBAAgB;SACvB;QACD,eAAe,EAAE;YACf,IAAI,EAAE,sBAAsB;SAC7B;QACD,UAAU,EAAE;YACV,IAAI,EAAE,iBAAiB;SACxB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;SACrB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;SACrB;QACD,KAAK,EAAE;YACL,IAAI,EAAE,YAAY;SACnB;QACD,QAAQ,EAAE,EAAE;QACZ,cAAc,EAAE;YACd,IAAI,EAAE,qBAAqB;SAC5B;QACD,OAAO,EAAE;YACP,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,EAAE;SACZ;QACD,UAAU,EAAE;YACV,IAAI,EAAE,iBAAiB;SACxB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;SACpB;QACD,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;SACpB;KACF,CAAC;AACJ,CAAC;AArED,oDAqEC;AAED,SAAgB,oBAAoB,CAClC,OAA8B,EAC9B,OAA8B,EAC9B,SAAmC,EACnC,QAAgB,EAChB,IAAY;IAEZ,OAAO;QACL,IAAI,EAAE;YACJ,IAAI,EAAE,IAAI;YACV,MAAM,EAAE;gBACN,WAAW,EAAE,CAAC,IAA2B,EAAE,EAAE;;oBAC3C,IACE,CAAA,MAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,0CAAE,MAAM,MAAK,CAAC;wBAC/B,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAC7B;wBACA,OAAO,kBAAkB,CAAC;qBAC3B;yBAAM;wBACL,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;qBACxB;gBACH,CAAC;aACF;YACD,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;YACnC,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,SAAS;YAClB,iBAAiB,EAAE,iBAAiB;YACpC,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC;YACzD,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM;YAC7B,aAAa,EAAE,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC;SAC1D;QACD,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;QACzB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;QAC7B,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;QAC7B,YAAY,EAAE;YACZ,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,CAAC,IAAqC,EAAE,EAAE;gBACrD,MAAM,WAAW,GAA2B,EAAE,CAAC;gBAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACvB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;wBACvB,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;qBAC3C;iBACF;gBACD,OAAO,WAAW,CAAC;YACrB,CAAC;SACF;QACD,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;QACnB,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;QAC3B,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;QAC7B,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe;QAC7C,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;QACvB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;KAC9B,CAAC;AACJ,CAAC;AArDD,oDAqDC;AAED,MAAa,uCAAwC,SAAQ,iDAAoB;IAC/E,YACE,UAAoC,EACpC,QAAgB,EAChB,IAAY;QAEZ,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF;AAbD,0FAaC;AAED,MAAa,mCAAoC,SAAQ,iDAAoB;IAC3E,YAAY,OAA8B,EAAE,QAAgB,EAAE,IAAY;QACxE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF;AATD,kFASC;AAED,MAAa,mCAAoC,SAAQ,iDAAoB;IAC3E,YACE,OAA8B,EAC9B,OAA8B,EAC9B,SAAmC,EACnC,QAAgB,EAChB,IAAY;QAEZ,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,WAAW,CACd,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAClE,CAAC;IACJ,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF;AAjBD,kFAiBC;AAED,MAAa,qBAAsB,SAAQ,iDAAoB;IAK7D,YACE,IAAmD,EACnD,UAAmB,EACnB,YAAqB;QAErB,IAAI,UAAU,EAAE;YACd,MAAM,GAAG,UAAU,CAAC;SACrB;aAAM;YACL,MAAM,GAAG,IAAA,4BAAmB,EAAC,WAAW,EAAE,YAAY,IAAI,OAAO,CAAC,CAAC;SACpE;QACD,KAAK,CAAC,IAAA,uCAA8B,EAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,eAAK,CAAC,MAAM,CAAC,EAAC,MAAM,EAAE,EAAC,WAAW,EAAE,MAAM,EAAC,EAAC,CAAC,CAAC;QACnE,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC,CAAC;IACpE,CAAC;IAED,gBAAgB,CAAC,IAAY,EAAE,QAAgB;QAC7C,MAAM,UAAU,GAAe;YAC7B,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,EAAE;SACZ,CAAC;QACF,UAAU,CAAC,OAAO,CAAC,IAAI,CACrB,IAAI,uCAAuC,CACzC,IAAI,CAAC,IAAI,EACT,QAAQ,EACR,IAAI,CACL,CAAC,iBAAiB,EAAkB,CACtC,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACxC,UAAU,CAAC,QAAQ,CAAC,IAAI,CACtB,IAAI,mCAAmC,CACrC,OAAO,EACP,QAAQ,EACR,IAAI,CACL,CAAC,eAAe,EAAmB,CACrC,CAAC;YACF,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE;gBACtC,UAAU,CAAC,QAAQ,CAAC,IAAI,CACtB,IAAI,mCAAmC,CACrC,OAAO,EACP,OAAO,EACP,IAAI,CAAC,IAAI,EACT,QAAQ,EACR,IAAI,CACL,CAAC,eAAe,EAAmB,CACrC,CAAC;aACH;SACF;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,MAAoB,EACpB,WAAgB,EAChB,UAAsB;QAEtB,MAAM,QAAQ,GAAG,IAAA,+BAAgB,EAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC;QAC/D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC;QAE/D,IAAI;YAEF,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnD,OAAO,IAAI,CAAC,aAAa;qBACtB,IAAI,CAAC,GAAG,QAAQ,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;qBACrE,IAAI,CAAC,GAAG,EAAE;oBACT,MAAM,CAAC,OAAO,CACZ,uCAAuC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAC9D,CAAC;gBACJ,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAK9B,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAC3B,GAAG,QAAQ,4BAA4B,EACvC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACzE,CAAC;YACF,MAAM,CAAC,OAAO,CACZ,yBAAyB,UAAU,CAAC,QAAQ,CAAC,MAAM,mBAAmB,CACvE,CAAC;YAGF,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,GAAG,CACvE,CAAC,KAAK,EAAE,EAAE;gBACR,OAAO,IAAI,CAAC,aAAa;qBACtB,IAAI,CACH,GAAG,QAAQ,4BAA4B,EACvC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC3D;qBACA,IAAI,CAAC,GAAG,EAAE,CACT,MAAM,CAAC,OAAO,CAAC,yBAAyB,KAAK,CAAC,MAAM,aAAa,CAAC,CACnE,CAAC;YACN,CAAC,CACF,CAAC;YACF,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;SAClC;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,IAAA,wCAAyB,EAAC,KAAK,CAAC,CAAC,CAAC;SACnD;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAoB,EAAE,QAAgB;QACnD,MAAM,QAAQ,GAAG,IAAA,+BAAgB,EAAC,MAAM,CAAC,CAAC;QAG1C,MAAM,WAAW,GAAG,CAAC,CAAC;QACtB,IAAI,aAA4B,CAAC;QAEjC,MAAM,CAAC,IAAI,CACT,mCAAmC,QAAQ,cAAc,MAAM,CAAC,QAAQ,EAAE,CAC3E,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5B,MAAM,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QAGtC,MAAM,YAAY,GAAG,MAAM,IAAA,qCAAsB,EAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;YACzD,UAAU,YAAY,EAAE,CAAC;QAG3B,IAAI;YACF,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAC1C,GAAG,QAAQ,wBAAwB,EACnC;gBACE,MAAM,EAAE,EAAC,KAAK,EAAE,WAAW,EAAC;aAC7B,CACF,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CACb,+BAA+B,IAAA,wCAAyB,EAAC,KAAK,CAAC,EAAE,CAClE,CAAC;SACH;QAGD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE;YAC5C,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;SACH;QAGD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QACzC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YACvB,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAC;SACH;aAAM;YACL,MAAM,UAAU,GAAa,OAAO,CAAC,GAAG,CACtC,CAAC,KAAqB,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CACtC,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,sBAAsB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAG9D,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACrC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAChC,CAAC,KAAqB,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CACvD,CAAC,CAAC,CAAC,CAAC;gBACL,MAAM,CAAC,OAAO,CAAC,gBAAgB,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;gBAGnD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAEzD,IAAI;oBACF,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;iBAC9D;gBAAC,OAAO,KAAK,EAAE;oBACd,MAAM,IAAI,KAAK,CACb,gCAAgC,IAAA,wCAAyB,EAAC,KAAK,CAAC,EAAE,CACnE,CAAC;iBACH;gBACD,MAAM,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxD,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;aACpD;SACF;IACH,CAAC;CACF;AAxLD,sDAwLC"}
1
+ {"version":3,"file":"reverse-splunk-mapper.js","sourceRoot":"","sources":["../../../../src/converters-from-hdf/splunk/reverse-splunk-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import axios, {AxiosInstance, AxiosResponse} from 'axios';\nimport {\n ContextualizedControl,\n ContextualizedEvaluation,\n ContextualizedProfile,\n ExecJSON\n} from 'inspecjs';\nimport * as _ from 'lodash';\nimport {Logger} from 'winston';\nimport {SplunkConfig} from '../../../types/splunk-config-types';\nimport {SplunkControl} from '../../../types/splunk-control-types';\nimport {SplunkProfile} from '../../../types/splunk-profile-types';\nimport {SplunkReport} from '../../../types/splunk-report-types';\nimport {MappedTransform} from '../../base-converter';\nimport {\n createWinstonLogger,\n ensureContextualizedEvaluation\n} from '../../utils/global';\nimport {\n checkSplunkCredentials,\n generateHostname,\n handleSplunkErrorResponse\n} from '../../utils/splunk-tools';\nimport {FromAnyBaseConverter} from '../reverse-any-base-converter';\nimport {ILookupPathFH} from '../reverse-base-converter';\n\nconst HDF_SPLUNK_SCHEMA = '1.1';\nconst MAPPER_NAME = 'HDF2Splunk';\nconst UPLOAD_CHUNK_SIZE = 100;\n\nexport type SplunkData = {\n profiles: SplunkProfile[];\n controls: SplunkControl[];\n reports: SplunkReport[];\n};\n\nlet logger = createWinstonLogger('HDF2Splunk', 'INFO');\n\nexport function createGUID(length: number) {\n let result = '';\n const characters =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n const charactersLength = characters.length;\n for (let i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n}\n\nexport function createReportMapping(\n execution: ContextualizedEvaluation,\n filename: string,\n guid: string\n): MappedTransform<SplunkReport, ILookupPathFH> {\n return {\n meta: {\n guid: guid,\n filename: filename,\n subtype: 'header',\n hdf_splunk_schema: HDF_SPLUNK_SCHEMA,\n filetype: 'evaluation'\n },\n passthrough: _.get(execution, 'data.passthrough'),\n profiles: [],\n platform: execution.data.platform,\n statistics: execution.data.statistics,\n version: execution.data.version\n };\n}\n\nexport function getDependencies(\n profile?: ContextualizedProfile,\n execution?: ContextualizedEvaluation\n) {\n if (profile && execution) {\n const dependencies: string[] = [];\n if (profile.data.depends) {\n for (const dependency of profile.data.depends) {\n if (dependency.name) {\n dependencies.push(dependency.name);\n dependencies.push(\n ...getDependencies(\n execution.contains.find(\n (execProfile) => execProfile.data.name === dependency.name\n ),\n execution\n )\n );\n }\n }\n }\n return dependencies;\n }\n\n return [];\n}\n\nexport function getProfileRunLevel(\n profile: ContextualizedProfile,\n execution: ContextualizedEvaluation\n): number {\n return getDependencies(profile, execution).length;\n}\n\nexport function createProfileMapping(\n filename: string,\n guid: string\n): MappedTransform<SplunkProfile, ILookupPathFH> {\n return {\n meta: {\n filename: filename,\n filetype: 'evaluation',\n guid: guid,\n hdf_splunk_schema: HDF_SPLUNK_SCHEMA,\n is_baseline: {\n path: 'data.depends[0].name',\n transformer: (value?: string) => {\n return !Boolean(value);\n }\n },\n profile_sha256: {\n path: 'data.sha256'\n },\n subtype: 'profile'\n },\n summary: {\n path: 'data.summary'\n },\n name: {\n path: 'data.name'\n },\n sha256: {\n path: 'data.sha256'\n },\n supports: {\n path: 'data.supports'\n },\n copyright: {\n path: 'data.copyright'\n },\n copyright_email: {\n path: 'data.copyright_email'\n },\n maintainer: {\n path: 'data.maintainer'\n },\n version: {\n path: 'data.version'\n },\n license: {\n path: 'data.license'\n },\n title: {\n path: 'data.title'\n },\n controls: [],\n parent_profile: {\n path: 'data.parent_profile'\n },\n depends: {\n path: 'data.depends',\n default: []\n },\n attributes: {\n path: 'data.attributes'\n },\n groups: {\n path: 'data.groups'\n },\n status: {\n path: 'data.status'\n }\n };\n}\n\nexport function createControlMapping(\n control: ContextualizedControl,\n profile: ContextualizedProfile,\n execution: ContextualizedEvaluation,\n filename: string,\n guid: string\n): MappedTransform<SplunkControl, ILookupPathFH> {\n return {\n meta: {\n guid: guid,\n status: {\n transformer: (data: ContextualizedControl) => {\n if (\n data.hdf.segments?.length === 0 &&\n data.extendsFrom.length !== 0\n ) {\n return 'Overlaid Control';\n } else {\n return data.hdf.status;\n }\n }\n },\n profile_sha256: profile.data.sha256,\n filename: filename,\n subtype: 'control',\n hdf_splunk_schema: HDF_SPLUNK_SCHEMA,\n filetype: 'evaluation',\n is_baseline: getProfileRunLevel(profile, execution) === 0,\n is_waived: control.hdf.waived,\n overlay_depth: getProfileRunLevel(profile, execution) + 1\n },\n title: control.data.title,\n code: control.data.code || '',\n desc: control.data.desc || '',\n descriptions: {\n path: 'data.descriptions',\n transformer: (data: {label: string; data: string}[]) => {\n const descObjects: Record<string, string> = {};\n if (Array.isArray(data)) {\n for (const item of data) {\n descObjects[item['label']] = item['data'];\n }\n }\n return descObjects;\n }\n },\n id: control.data.id,\n impact: control.data.impact,\n refs: control.data.refs || [],\n source_location: control.data.source_location,\n tags: control.data.tags,\n results: control.hdf.segments\n };\n}\n\nexport class FromHDFExecutionToSplunkExecutionMapper extends FromAnyBaseConverter {\n constructor(\n evaluation: ContextualizedEvaluation,\n filename: string,\n guid: string\n ) {\n super(evaluation);\n this.setMappings(createReportMapping(evaluation, filename, guid));\n }\n\n toSplunkExecution() {\n return this.convertInternal(this.data, this.mappings);\n }\n}\n\nexport class FromHDFProfileToSplunkProfileMapper extends FromAnyBaseConverter {\n constructor(profile: ContextualizedProfile, filename: string, guid: string) {\n super(profile);\n this.setMappings(createProfileMapping(filename, guid));\n }\n\n toSplunkProfile() {\n return this.convertInternal(this.data, this.mappings);\n }\n}\n\nexport class FromHDFControlToSplunkControlMapper extends FromAnyBaseConverter {\n constructor(\n control: ContextualizedControl,\n profile: ContextualizedProfile,\n execution: ContextualizedEvaluation,\n filename: string,\n guid: string\n ) {\n super(control);\n this.setMappings(\n createControlMapping(control, profile, execution, filename, guid)\n );\n }\n\n toSplunkControl() {\n return this.convertInternal(this.data, this.mappings);\n }\n}\n\nexport class FromHDFToSplunkMapper extends FromAnyBaseConverter {\n declare mappings?: MappedTransform<SplunkData, ILookupPathFH>;\n contextualizedEvaluation?: ContextualizedEvaluation;\n axiosInstance: AxiosInstance;\n\n constructor(\n data: ExecJSON.Execution | ContextualizedEvaluation,\n logService?: Logger,\n loggingLevel?: string\n ) {\n if (logService) {\n logger = logService;\n } else {\n logger = createWinstonLogger(MAPPER_NAME, loggingLevel || 'debug');\n }\n super(ensureContextualizedEvaluation(data));\n this.axiosInstance = axios.create({params: {output_mode: 'json'}});\n logger.debug(`Initialized ${this.constructor.name} successfully`);\n }\n\n createSplunkData(guid: string, filename: string) {\n const splunkData: SplunkData = {\n controls: [],\n profiles: [],\n reports: []\n };\n splunkData.reports.push(\n new FromHDFExecutionToSplunkExecutionMapper(\n this.data,\n filename,\n guid\n ).toSplunkExecution() as SplunkReport\n );\n for (const profile of this.data.contains) {\n splunkData.profiles.push(\n new FromHDFProfileToSplunkProfileMapper(\n profile,\n filename,\n guid\n ).toSplunkProfile() as SplunkProfile\n );\n for (const control of profile.contains) {\n splunkData.controls.push(\n new FromHDFControlToSplunkControlMapper(\n control,\n profile,\n this.data,\n filename,\n guid\n ).toSplunkControl() as SplunkControl\n );\n }\n }\n return splunkData;\n }\n\n async uploadSplunkData(\n config: SplunkConfig,\n targetIndex: any,\n splunkData: SplunkData\n ): Promise<void> {\n const hostname = generateHostname(config);\n this.axiosInstance.defaults.params['sourcetype'] = MAPPER_NAME;\n this.axiosInstance.defaults.params['index'] = targetIndex.name;\n\n try {\n // Upload execution event\n const execEvents = splunkData.reports.map((report) => {\n return this.axiosInstance\n .post(`${hostname}/services/receivers/simple`, JSON.stringify(report))\n .then(() => {\n logger.verbose(\n `Successfully uploaded execution for ${report.meta.filename}`\n );\n });\n });\n await Promise.all(execEvents);\n\n // Upload profile event(s)\n // \\r\\n Is the default LINE_BREAKER for splunk, this is very poorly documented.\n // See https://docs.splunk.com/Documentation/StreamProcessor/standard/FunctionReference/LineBreak\n await this.axiosInstance.post(\n `${hostname}/services/receivers/simple`,\n splunkData.profiles.map((profile) => JSON.stringify(profile)).join('\\n')\n );\n logger.verbose(\n `Successfully uploaded ${splunkData.profiles.length} profile layer(s)`\n );\n\n // Upload control event(s)\n const controlEvents = _.chunk(splunkData.controls, UPLOAD_CHUNK_SIZE).map(\n (chunk) => {\n return this.axiosInstance\n .post(\n `${hostname}/services/receivers/simple`,\n chunk.map((control) => JSON.stringify(control)).join('\\n')\n )\n .then(() =>\n logger.verbose(`Successfully uploaded ${chunk.length} control(s)`)\n );\n }\n );\n await Promise.all(controlEvents);\n } catch (error) {\n throw new Error(handleSplunkErrorResponse(error));\n }\n }\n\n async toSplunk(config: SplunkConfig, filename: string): Promise<string> {\n const hostname = generateHostname(config);\n // returnCount specifies the number of found results to return, if set to 0 returns all available data\n // Per https://docs.splunk.com/Documentation/Splunk/9.0.5/RESTREF/RESTintrospect#data.2Findexes\n const returnCount = 0;\n let indexResponse: AxiosResponse;\n\n logger.info(\n `Logging into Splunk instance at ${hostname} with user ${config.username}`\n );\n logger.verbose(`Found designated file to transfer: ${filename}`);\n const guid = createGUID(30);\n logger.verbose(`Using GUID: ${guid}`);\n\n // Attempt to authenticate using given credentials\n const authResponse = await checkSplunkCredentials(config);\n this.axiosInstance.defaults.headers.common['Authorization'] =\n `Bearer ${authResponse}`;\n\n // Request all available indexes\n try {\n indexResponse = await this.axiosInstance.get(\n `${hostname}/services/data/indexes`,\n {\n params: {count: returnCount}\n }\n );\n } catch (error) {\n throw new Error(\n `Failed to request indexes - ${handleSplunkErrorResponse(error)}`\n );\n }\n\n // Check if index request reponse schema is valid\n if (!_.has(indexResponse, ['data', 'entry'])) {\n throw new Error(\n 'Failed to request indexes - Malformed index reponse received'\n );\n }\n\n // Report provided indexes\n const indexes = indexResponse.data.entry;\n if (indexes.length <= 0) {\n throw new Error(\n 'Unable to retrieve available indexes, double-check your scheme configuration and try again'\n );\n } else {\n const indexNames: string[] = indexes.map(\n (index: {name: string}) => index.name\n );\n logger.verbose(`Available indexes: ${indexNames.join(', ')}`);\n\n // Parse available indexes for user desired index\n if (indexNames.includes(config.index)) {\n const targetIndex = indexes.filter(\n (index: {name: string}) => index.name === config.index\n )[0];\n logger.verbose(`Found index: ${targetIndex.name}`);\n\n // Post given file(s) to identified index\n const splunkData = this.createSplunkData(guid, filename);\n\n try {\n await this.uploadSplunkData(config, targetIndex, splunkData);\n } catch (error) {\n throw new Error(\n `Failed to upload to Splunk - ${handleSplunkErrorResponse(error)}`\n );\n }\n logger.info(`Successfully uploaded to ${config.index}`);\n return guid;\n } else {\n throw new Error(`Invalid index - ${config.index}`);\n }\n }\n }\n}\n"]}
@@ -34,3 +34,4 @@ export declare class FromHDFToXCCDFMapper {
34
34
  };
35
35
  toXCCDF(): string;
36
36
  }
37
+ //# sourceMappingURL=reverse-xccdf-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reverse-xccdf-mapper.d.ts","sourceRoot":"","sources":["../../../../src/converters-from-hdf/xccdf/reverse-xccdf-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAKlC,OAAO,EAEL,gBAAgB,EAChB,aAAa,EACd,MAAM,mCAAmC,CAAC;AA2E3C,qBAAa,oBAAoB;IAC/B,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,UAAQ;IAMrE,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,GAAG,aAAa;IAYrD,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO;;;;;;;;;;;;;;;;;;IA0DxC,gBAAgB,CAAC,OAAO,UAAQ,GAAG,MAAM;IAiCzC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO;;;;;;;IAe/C,OAAO;CA4ER"}
@@ -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
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -91,6 +101,9 @@ function getMessages(segments) {
91
101
  return segments.map(toMessageLine).join('\n\n');
92
102
  }
93
103
  class FromHDFToXCCDFMapper {
104
+ data;
105
+ xccdfTemplate;
106
+ dateOverride;
94
107
  constructor(data, xccdfTemplate, dateOverride = false) {
95
108
  this.data = JSON.parse(data);
96
109
  this.xccdfTemplate = xccdfTemplate;
@@ -127,8 +140,8 @@ class FromHDFToXCCDFMapper {
127
140
  return {
128
141
  groupId: 'xccdf_hdf_group_' +
129
142
  control.id
130
- .replace(/_/g, '-')
131
- .replace(/[^\w-.]/g, '_'),
143
+ .replace(/_/g, '-') // Prevents STIG Viewer from parsing IDs incorrectly when there is underscores after group_
144
+ .replace(/[^\w-.]/g, '_'), // Change everything that isn't a word, underscore, or dash into an underscore
132
145
  id: 'xccdf_hdf_rule_' +
133
146
  (control.tags.rid ||
134
147
  control.id.replace(/_/g, '-').replace(/[^\w-.]/g, '_') + '_rule'),
@@ -160,14 +173,17 @@ class FromHDFToXCCDFMapper {
160
173
  };
161
174
  }
162
175
  getExecutionTime(isoTime = false) {
176
+ // Extract the first results from profile level
163
177
  const results = [];
164
178
  this.data.profiles.forEach((profile) => {
165
179
  if (profile.controls[0].results) {
166
180
  results.push(...profile.controls[0].results);
167
181
  }
168
182
  });
183
+ // Find the execution time from the first profile level that contains it
169
184
  for (const result of results) {
170
185
  if (typeof result.start_time === 'string') {
186
+ // Date parsing can be tricky sometimes
171
187
  try {
172
188
  const parsedDate = (0, moment_1.default)(result.start_time);
173
189
  if (parsedDate.isValid()) {
@@ -183,6 +199,7 @@ class FromHDFToXCCDFMapper {
183
199
  }
184
200
  }
185
201
  }
202
+ // Default return date is now
186
203
  return isoTime ? (0, moment_1.default)().toISOString() : (0, moment_1.default)().format(DATE_FORMAT);
187
204
  }
188
205
  getControlResultsInfo(control) {
@@ -190,7 +207,7 @@ class FromHDFToXCCDFMapper {
190
207
  idref: 'xccdf_hdf_rule_' +
191
208
  (control.tags.rid ||
192
209
  control.id
193
- .replace(/_/g, '-')
210
+ .replace(/_/g, '-') // Prevent STIG Viewer from parsing IDs incorrectly when there is underscores after rule_
194
211
  .replace(/[^\w-.]/g, '_') + '_rule'),
195
212
  result: getXCCDFResult(control),
196
213
  message: getMessages(control.results),
@@ -233,12 +250,14 @@ class FromHDFToXCCDFMapper {
233
250
  }
234
251
  };
235
252
  this.data.profiles.forEach((profile) => {
236
- var _a;
253
+ // Add Profile to Profile list
237
254
  mappedData.Benchmark.Profile.push({
238
255
  id: 'xccdf_mitre.hdf-converters_profile_hdf2xccdf_' +
239
- (((_a = profile.title) === null || _a === void 0 ? void 0 : _a.replace(/[^\w-.]/g, '_')) || 'profile_missing_title'),
256
+ // Replace all non-word characters and spaces with underscores
257
+ (profile.title?.replace(/[^\w-.]/g, '_') || 'profile_missing_title'),
240
258
  title: profile.title || '',
241
259
  description: profile.description || '',
260
+ // All control IDs
242
261
  select: profile.controls.map((control) => 'xccdf_hdf_rule_' +
243
262
  (control.tags.rid ||
244
263
  control.id.replace(/_/g, '-').replace(/[^\w-.]/g, '_') + '_rule'))
@@ -249,10 +268,12 @@ class FromHDFToXCCDFMapper {
249
268
  }
250
269
  profile.controls.forEach((control) => {
251
270
  if (control.results) {
271
+ // Add results info
252
272
  mappedData.Benchmark.TestResult.results.push(this.getControlResultsInfo(control));
253
273
  }
254
274
  });
255
275
  });
276
+ // Add the control metadata for the top-level profile
256
277
  this.data.profiles[0].controls.forEach((control) => {
257
278
  mappedData.Benchmark.Rule.push(this.getControlInfo(control));
258
279
  });
@@ -1 +1 @@
1
- {"version":3,"file":"reverse-xccdf-mapper.js","sourceRoot":"","sources":["../../../../src/converters-from-hdf/xccdf/reverse-xccdf-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reverse-xccdf-mapper.js","sourceRoot":"","sources":["../../../../src/converters-from-hdf/xccdf/reverse-xccdf-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ExecJSON} from 'inspecjs';\nimport * as _ from 'lodash';\nimport moment from 'moment';\nimport Mustache from 'mustache';\nimport {version as HeimdallToolsVersion} from '../../../package.json';\nimport {\n MappedXCCDFtoHDF,\n TestResultStatus,\n XCCDFSeverity\n} from '../../../types/reverseMappedXCCDF';\nimport {getDescription} from '../../utils/global';\n\nconst DATE_FORMAT = 'YYYY-MM-DD';\nconst TESTING_DATE_OVERRIDE = '1970-01-01';\nconst TESTING_DATETIME_OVERRIDE = '2022-05-06T21:46:47.939Z';\n\nfunction arrayifyObjectDescriptions(\n descriptions?: {[key: string]: any} | ExecJSON.ControlDescription[] | null\n): ExecJSON.ControlDescription[] {\n if (!descriptions) {\n return [];\n }\n\n if (Array.isArray(descriptions)) {\n return descriptions;\n }\n\n return Object.entries(descriptions).map(([key, value]) => {\n return {\n label: key,\n data: value\n };\n });\n}\n\nfunction getXCCDFResult(control: ExecJSON.Control): TestResultStatus {\n if (control.results.some((result) => result.backtrace)) {\n return 'error';\n }\n if (control.results.some((result) => !result.status)) {\n return 'unknown';\n }\n\n if (control.results.every((result) => result.status === 'passed')) {\n return 'pass';\n }\n\n if (control.results.every((result) => result.status === 'skipped')) {\n return 'notchecked';\n }\n\n if (control.results.some((result) => result.status === 'failed')) {\n return 'fail';\n }\n\n return 'unknown';\n}\n\nfunction getXCCDFResultMessageSeverity(segments: ExecJSON.ControlResult[]) {\n if (segments.some((result) => result.backtrace)) {\n return 'medium';\n }\n return 'info';\n}\n\nfunction toMessageLine(segment: ExecJSON.ControlResult): string {\n switch (segment.status) {\n case 'skipped':\n return `SKIPPED -- ${segment.skip_message}\\n`;\n case 'failed':\n return `FAILED -- Test: ${segment.code_desc}\\nMessage: ${segment.message}\\n`;\n case 'passed':\n return `PASSED -- ${segment.code_desc}\"`;\n case 'error':\n return `ERROR -- Test: ${segment.code_desc}\\nMessage: ${segment.message}`;\n default:\n return `Exception: ${segment.exception}`;\n }\n}\n\nfunction getMessages(segments: ExecJSON.ControlResult[]) {\n return segments.map(toMessageLine).join('\\n\\n');\n}\n\nexport class FromHDFToXCCDFMapper {\n data: ExecJSON.Execution;\n xccdfTemplate: string;\n dateOverride: boolean;\n\n constructor(data: string, xccdfTemplate: string, dateOverride = false) {\n this.data = JSON.parse(data);\n this.xccdfTemplate = xccdfTemplate;\n this.dateOverride = dateOverride;\n }\n\n getSeverity(control: ExecJSON.Control): XCCDFSeverity {\n if (control.impact < 0.1) {\n return 'info';\n } else if (control.impact < 0.4) {\n return 'low';\n } else if (control.impact < 0.7) {\n return 'medium';\n } else {\n return 'high';\n }\n }\n\n getControlInfo(control: ExecJSON.Control) {\n const knownDescriptions = [\n 'default',\n 'check',\n 'fix',\n 'gtitle',\n 'gid',\n 'rid',\n 'stig_id',\n 'cci',\n 'satisfies',\n 'fix_id',\n 'documentable'\n ];\n\n return {\n groupId:\n 'xccdf_hdf_group_' +\n control.id\n .replace(/_/g, '-') // Prevents STIG Viewer from parsing IDs incorrectly when there is underscores after group_\n .replace(/[^\\w-.]/g, '_'), // Change everything that isn't a word, underscore, or dash into an underscore\n id:\n 'xccdf_hdf_rule_' +\n (control.tags.rid ||\n control.id.replace(/_/g, '-').replace(/[^\\w-.]/g, '_') + '_rule'),\n version: control.tags.stig_id || '',\n gtitle: control.tags.gtitle || control.title,\n title: control.title || '',\n severity: this.getSeverity(control),\n description:\n control.desc +\n (control.tags.satisfies\n ? '\\n\\nSatisfies: ' + control.tags.satisfies.join(', ')\n : '') ||\n getDescription(control.descriptions || [], 'default') ||\n '',\n documentable: control.tags.documentable || false,\n descriptions: arrayifyObjectDescriptions(control.descriptions).filter(\n (description) => !knownDescriptions.includes(description.label)\n ),\n waiver: control.waiver_data ? JSON.stringify(control.waiver_data) : '',\n checkContent:\n getDescription(control.descriptions || [], 'check') ||\n control.tags.check ||\n '',\n tags: Object.entries(control.tags)\n .filter(([key]) => !knownDescriptions.includes(key))\n .map(([key, value]) => `${key}: ${value}`),\n code: control.code || '',\n fixid: control.tags.fix_id,\n fix:\n getDescription(control.descriptions || [], 'fix') ||\n control.tags.fix ||\n '',\n ccis: control.tags.cci || []\n };\n }\n\n getExecutionTime(isoTime = false): string {\n // Extract the first results from profile level\n const results: ExecJSON.ControlResult[] = [];\n\n this.data.profiles.forEach((profile) => {\n if (profile.controls[0].results) {\n results.push(...profile.controls[0].results);\n }\n });\n\n // Find the execution time from the first profile level that contains it\n for (const result of results) {\n if (typeof result.start_time === 'string') {\n // Date parsing can be tricky sometimes\n try {\n const parsedDate = moment(result.start_time);\n if (parsedDate.isValid()) {\n return isoTime\n ? moment(result.start_time).toISOString()\n : moment(result.start_time, false).format(DATE_FORMAT);\n }\n } catch {\n return isoTime\n ? moment().toISOString()\n : moment().format(DATE_FORMAT);\n }\n }\n }\n\n // Default return date is now\n return isoTime ? moment().toISOString() : moment().format(DATE_FORMAT);\n }\n\n getControlResultsInfo(control: ExecJSON.Control) {\n return {\n idref:\n 'xccdf_hdf_rule_' +\n (control.tags.rid ||\n control.id\n .replace(/_/g, '-') // Prevent STIG Viewer from parsing IDs incorrectly when there is underscores after rule_\n .replace(/[^\\w-.]/g, '_') + '_rule'),\n result: getXCCDFResult(control),\n message: getMessages(control.results),\n messageType: getXCCDFResultMessageSeverity(control.results),\n code: control.code || ''\n };\n }\n\n toXCCDF() {\n const passthrough = _.get(this.data, 'passthrough');\n let passthroughString = '';\n if (typeof passthrough === 'object') {\n passthroughString = JSON.stringify(passthrough);\n } else if (typeof passthrough !== 'undefined') {\n passthroughString = String(passthrough);\n }\n\n const mappedData: MappedXCCDFtoHDF = {\n Benchmark: {\n id: 'xccdf_mitre.hdf-converters.xccdf_benchmark_hdf2xccdf',\n title: this.data.profiles[0].title || 'HDF to XCCDF Benchmark',\n date: this.dateOverride\n ? TESTING_DATE_OVERRIDE\n : this.getExecutionTime(),\n metadata: {\n copyright: this.data.profiles[0].copyright || '',\n maintainer: this.data.profiles[0].maintainer || ''\n },\n passthrough: passthroughString,\n version: HeimdallToolsVersion,\n Profile: [],\n Rule: [],\n TestResult: {\n endTime: this.dateOverride\n ? TESTING_DATETIME_OVERRIDE\n : this.getExecutionTime(true),\n hasAttributes: false,\n attributes: [],\n results: []\n }\n }\n };\n\n this.data.profiles.forEach((profile) => {\n // Add Profile to Profile list\n mappedData.Benchmark.Profile.push({\n id:\n 'xccdf_mitre.hdf-converters_profile_hdf2xccdf_' +\n // Replace all non-word characters and spaces with underscores\n (profile.title?.replace(/[^\\w-.]/g, '_') || 'profile_missing_title'),\n title: profile.title || '',\n description: profile.description || '',\n // All control IDs\n select: profile.controls.map(\n (control) =>\n 'xccdf_hdf_rule_' +\n (control.tags.rid ||\n control.id.replace(/_/g, '-').replace(/[^\\w-.]/g, '_') + '_rule')\n )\n });\n mappedData.Benchmark.TestResult.attributes.push(\n ...(profile.attributes || [])\n );\n if (mappedData.Benchmark.TestResult.attributes.length > 0) {\n mappedData.Benchmark.TestResult.hasAttributes = true;\n }\n\n profile.controls.forEach((control) => {\n if (control.results) {\n // Add results info\n mappedData.Benchmark.TestResult.results.push(\n this.getControlResultsInfo(control)\n );\n }\n });\n });\n\n // Add the control metadata for the top-level profile\n this.data.profiles[0].controls.forEach((control) => {\n mappedData.Benchmark.Rule.push(this.getControlInfo(control));\n });\n\n return Mustache.render(this.xccdfTemplate, mappedData);\n }\n}\n"]}
@@ -12,3 +12,4 @@ export declare class ConveyorResults {
12
12
  constructor(conveyorJson: string);
13
13
  toHdf(): Record<string, ExecJSON.Execution>;
14
14
  }
15
+ //# sourceMappingURL=conveyor-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conveyor-mapper.d.ts","sourceRoot":"","sources":["../../src/conveyor-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AA8M7E,qBAAa,cAAe,SAAQ,aAAa;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,eAAe,CACvB,QAAQ,CAAC,SAAS,GAAG;QAAC,WAAW,EAAE,OAAO,CAAA;KAAC,EAC3C,WAAW,CACZ,CA4BC;gBAEA,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,WAAW,EAAE,MAAM;CAMtB;AAED,qBAAa,eAAe;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAClB,YAAY,EAAE,MAAM;IAWhC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC;CAW5C"}