@mitre/hdf-converters 2.12.6 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/README.md +25 -24
  2. package/lib/data/converters/csv2json.d.ts +1 -0
  3. package/lib/data/converters/csv2json.d.ts.map +1 -0
  4. package/lib/data/converters/csv2json.js +1 -1
  5. package/lib/data/converters/csv2json.js.map +1 -1
  6. package/lib/data/converters/xml2json.d.ts +1 -0
  7. package/lib/data/converters/xml2json.d.ts.map +1 -0
  8. package/lib/data/converters/xml2json.js +6 -25
  9. package/lib/data/converters/xml2json.js.map +1 -1
  10. package/lib/data/reverse-html-mapper/convert-to-embedded-strings.d.ts +2 -0
  11. package/lib/data/reverse-html-mapper/convert-to-embedded-strings.d.ts.map +1 -0
  12. package/lib/data/reverse-html-mapper/convert-to-embedded-strings.js +13 -0
  13. package/lib/data/reverse-html-mapper/convert-to-embedded-strings.js.map +1 -0
  14. package/lib/index.d.ts +6 -0
  15. package/lib/index.d.ts.map +1 -0
  16. package/lib/index.js +23 -8
  17. package/lib/index.js.map +1 -1
  18. package/lib/package.json +19 -40
  19. package/lib/src/anchore-grype-mapper.d.ts +1 -0
  20. package/lib/src/anchore-grype-mapper.d.ts.map +1 -0
  21. package/lib/src/anchore-grype-mapper.js +7 -1
  22. package/lib/src/anchore-grype-mapper.js.map +1 -1
  23. package/lib/src/asff-mapper/asff-mapper.d.ts +1 -0
  24. package/lib/src/asff-mapper/asff-mapper.d.ts.map +1 -0
  25. package/lib/src/asff-mapper/asff-mapper.js +274 -237
  26. package/lib/src/asff-mapper/asff-mapper.js.map +1 -1
  27. package/lib/src/asff-mapper/case-cms-inspec.d.ts +1 -0
  28. package/lib/src/asff-mapper/case-cms-inspec.d.ts.map +1 -0
  29. package/lib/src/asff-mapper/case-cms-inspec.js +18 -9
  30. package/lib/src/asff-mapper/case-cms-inspec.js.map +1 -1
  31. package/lib/src/asff-mapper/case-firewall-manager.d.ts +1 -0
  32. package/lib/src/asff-mapper/case-firewall-manager.d.ts.map +1 -0
  33. package/lib/src/asff-mapper/case-firewall-manager.js +18 -9
  34. package/lib/src/asff-mapper/case-firewall-manager.js.map +1 -1
  35. package/lib/src/asff-mapper/case-guardduty.d.ts +1 -0
  36. package/lib/src/asff-mapper/case-guardduty.d.ts.map +1 -0
  37. package/lib/src/asff-mapper/case-guardduty.js +18 -9
  38. package/lib/src/asff-mapper/case-guardduty.js.map +1 -1
  39. package/lib/src/asff-mapper/case-inspector.d.ts +1 -0
  40. package/lib/src/asff-mapper/case-inspector.d.ts.map +1 -0
  41. package/lib/src/asff-mapper/case-inspector.js +18 -9
  42. package/lib/src/asff-mapper/case-inspector.js.map +1 -1
  43. package/lib/src/asff-mapper/case-previously-hdf.d.ts +1 -0
  44. package/lib/src/asff-mapper/case-previously-hdf.d.ts.map +1 -0
  45. package/lib/src/asff-mapper/case-previously-hdf.js +21 -10
  46. package/lib/src/asff-mapper/case-previously-hdf.js.map +1 -1
  47. package/lib/src/asff-mapper/case-prowler.d.ts +1 -0
  48. package/lib/src/asff-mapper/case-prowler.d.ts.map +1 -0
  49. package/lib/src/asff-mapper/case-prowler.js +19 -9
  50. package/lib/src/asff-mapper/case-prowler.js.map +1 -1
  51. package/lib/src/asff-mapper/case-security-hub.d.ts +1 -0
  52. package/lib/src/asff-mapper/case-security-hub.d.ts.map +1 -0
  53. package/lib/src/asff-mapper/case-security-hub.js +24 -9
  54. package/lib/src/asff-mapper/case-security-hub.js.map +1 -1
  55. package/lib/src/asff-mapper/case-trivy.d.ts +1 -0
  56. package/lib/src/asff-mapper/case-trivy.d.ts.map +1 -0
  57. package/lib/src/asff-mapper/case-trivy.js +18 -9
  58. package/lib/src/asff-mapper/case-trivy.js.map +1 -1
  59. package/lib/src/aws-config-mapper.d.ts +1 -0
  60. package/lib/src/aws-config-mapper.d.ts.map +1 -0
  61. package/lib/src/aws-config-mapper.js +29 -7
  62. package/lib/src/aws-config-mapper.js.map +1 -1
  63. package/lib/src/base-converter.d.ts +2 -1
  64. package/lib/src/base-converter.d.ts.map +1 -0
  65. package/lib/src/base-converter.js +46 -26
  66. package/lib/src/base-converter.js.map +1 -1
  67. package/lib/src/burpsuite-mapper.d.ts +7 -0
  68. package/lib/src/burpsuite-mapper.d.ts.map +1 -0
  69. package/lib/src/burpsuite-mapper.js +115 -88
  70. package/lib/src/burpsuite-mapper.js.map +1 -1
  71. package/lib/src/checkov-mapper.d.ts +67 -0
  72. package/lib/src/checkov-mapper.d.ts.map +1 -0
  73. package/lib/src/checkov-mapper.js +240 -0
  74. package/lib/src/checkov-mapper.js.map +1 -0
  75. package/lib/src/ckl-mapper/checklist-jsonix-converter.d.ts +17 -0
  76. package/lib/src/ckl-mapper/checklist-jsonix-converter.d.ts.map +1 -0
  77. package/lib/src/ckl-mapper/checklist-jsonix-converter.js +38 -4
  78. package/lib/src/ckl-mapper/checklist-jsonix-converter.js.map +1 -1
  79. package/lib/src/ckl-mapper/checklist-mapper.d.ts +35 -0
  80. package/lib/src/ckl-mapper/checklist-mapper.d.ts.map +1 -0
  81. package/lib/src/ckl-mapper/checklist-mapper.js +262 -151
  82. package/lib/src/ckl-mapper/checklist-mapper.js.map +1 -1
  83. package/lib/src/ckl-mapper/checklist-metadata-utils.d.ts +1 -0
  84. package/lib/src/ckl-mapper/checklist-metadata-utils.d.ts.map +1 -0
  85. package/lib/src/ckl-mapper/checklist-metadata-utils.js +32 -15
  86. package/lib/src/ckl-mapper/checklist-metadata-utils.js.map +1 -1
  87. package/lib/src/ckl-mapper/checklistJsonix.d.ts +6 -0
  88. package/lib/src/ckl-mapper/checklistJsonix.d.ts.map +1 -0
  89. package/lib/src/ckl-mapper/checklistJsonix.js +8 -8
  90. package/lib/src/ckl-mapper/checklistJsonix.js.map +1 -1
  91. package/lib/src/ckl-mapper/jsonixMapping.d.ts +5 -0
  92. package/lib/src/ckl-mapper/jsonixMapping.d.ts.map +1 -0
  93. package/lib/src/ckl-mapper/jsonixMapping.js +4 -0
  94. package/lib/src/ckl-mapper/jsonixMapping.js.map +1 -1
  95. package/lib/src/converters-from-hdf/asff/asff-types.d.ts +1 -0
  96. package/lib/src/converters-from-hdf/asff/asff-types.d.ts.map +1 -0
  97. package/lib/src/converters-from-hdf/asff/asff-types.js +1 -0
  98. package/lib/src/converters-from-hdf/asff/asff-types.js.map +1 -1
  99. package/lib/src/converters-from-hdf/asff/reverse-asff-mapper.d.ts +1 -0
  100. package/lib/src/converters-from-hdf/asff/reverse-asff-mapper.d.ts.map +1 -0
  101. package/lib/src/converters-from-hdf/asff/reverse-asff-mapper.js +110 -84
  102. package/lib/src/converters-from-hdf/asff/reverse-asff-mapper.js.map +1 -1
  103. package/lib/src/converters-from-hdf/asff/transformers.d.ts +1 -0
  104. package/lib/src/converters-from-hdf/asff/transformers.d.ts.map +1 -0
  105. package/lib/src/converters-from-hdf/asff/transformers.js +68 -38
  106. package/lib/src/converters-from-hdf/asff/transformers.js.map +1 -1
  107. package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.d.ts +1 -0
  108. package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.d.ts.map +1 -0
  109. package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.js +54 -28
  110. package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.js.map +1 -1
  111. package/lib/src/converters-from-hdf/html/embedded-assets.d.ts +4 -0
  112. package/lib/src/converters-from-hdf/html/embedded-assets.d.ts.map +1 -0
  113. package/lib/src/converters-from-hdf/html/embedded-assets.js +8 -0
  114. package/lib/src/converters-from-hdf/html/embedded-assets.js.map +1 -0
  115. package/lib/src/converters-from-hdf/html/html-types.d.ts +1 -0
  116. package/lib/src/converters-from-hdf/html/html-types.d.ts.map +1 -0
  117. package/lib/src/converters-from-hdf/html/html-types.js +1 -0
  118. package/lib/src/converters-from-hdf/html/html-types.js.map +1 -1
  119. package/lib/src/converters-from-hdf/html/reverse-html-mapper.d.ts +3 -2
  120. package/lib/src/converters-from-hdf/html/reverse-html-mapper.d.ts.map +1 -0
  121. package/lib/src/converters-from-hdf/html/reverse-html-mapper.js +151 -107
  122. package/lib/src/converters-from-hdf/html/reverse-html-mapper.js.map +1 -1
  123. package/lib/src/converters-from-hdf/reverse-any-base-converter.d.ts +1 -0
  124. package/lib/src/converters-from-hdf/reverse-any-base-converter.d.ts.map +1 -0
  125. package/lib/src/converters-from-hdf/reverse-any-base-converter.js +3 -0
  126. package/lib/src/converters-from-hdf/reverse-any-base-converter.js.map +1 -1
  127. package/lib/src/converters-from-hdf/reverse-base-converter.d.ts +1 -0
  128. package/lib/src/converters-from-hdf/reverse-base-converter.d.ts.map +1 -0
  129. package/lib/src/converters-from-hdf/reverse-base-converter.js +29 -9
  130. package/lib/src/converters-from-hdf/reverse-base-converter.js.map +1 -1
  131. package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.d.ts +1 -0
  132. package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.d.ts.map +1 -0
  133. package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.js +39 -14
  134. package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.js.map +1 -1
  135. package/lib/src/converters-from-hdf/xccdf/reverse-xccdf-mapper.d.ts +1 -0
  136. package/lib/src/converters-from-hdf/xccdf/reverse-xccdf-mapper.d.ts.map +1 -0
  137. package/lib/src/converters-from-hdf/xccdf/reverse-xccdf-mapper.js +32 -10
  138. package/lib/src/converters-from-hdf/xccdf/reverse-xccdf-mapper.js.map +1 -1
  139. package/lib/src/conveyor-mapper.d.ts +1 -0
  140. package/lib/src/conveyor-mapper.d.ts.map +1 -0
  141. package/lib/src/conveyor-mapper.js +85 -40
  142. package/lib/src/conveyor-mapper.js.map +1 -1
  143. package/lib/src/cyclonedx-sbom-mapper.d.ts +1 -0
  144. package/lib/src/cyclonedx-sbom-mapper.d.ts.map +1 -0
  145. package/lib/src/cyclonedx-sbom-mapper.js +368 -294
  146. package/lib/src/cyclonedx-sbom-mapper.js.map +1 -1
  147. package/lib/src/dbprotect-mapper.d.ts +1 -0
  148. package/lib/src/dbprotect-mapper.d.ts.map +1 -0
  149. package/lib/src/dbprotect-mapper.js +74 -63
  150. package/lib/src/dbprotect-mapper.js.map +1 -1
  151. package/lib/src/dependency-track-mapper.d.ts +1 -0
  152. package/lib/src/dependency-track-mapper.d.ts.map +1 -0
  153. package/lib/src/dependency-track-mapper.js +144 -130
  154. package/lib/src/dependency-track-mapper.js.map +1 -1
  155. package/lib/src/fortify-mapper.d.ts +7 -0
  156. package/lib/src/fortify-mapper.d.ts.map +1 -0
  157. package/lib/src/fortify-mapper.js +118 -92
  158. package/lib/src/fortify-mapper.js.map +1 -1
  159. package/lib/src/gosec-mapper.d.ts +1 -0
  160. package/lib/src/gosec-mapper.d.ts.map +1 -0
  161. package/lib/src/gosec-mapper.js +90 -72
  162. package/lib/src/gosec-mapper.js.map +1 -1
  163. package/lib/src/ionchannel-mapper.d.ts +1 -0
  164. package/lib/src/ionchannel-mapper.d.ts.map +1 -0
  165. package/lib/src/ionchannel-mapper.js +130 -110
  166. package/lib/src/ionchannel-mapper.js.map +1 -1
  167. package/lib/src/jfrog-xray-mapper.d.ts +1 -0
  168. package/lib/src/jfrog-xray-mapper.d.ts.map +1 -0
  169. package/lib/src/jfrog-xray-mapper.js +92 -78
  170. package/lib/src/jfrog-xray-mapper.js.map +1 -1
  171. package/lib/src/jsonix-converter.d.ts +1 -0
  172. package/lib/src/jsonix-converter.d.ts.map +1 -0
  173. package/lib/src/jsonix-converter.js +1 -0
  174. package/lib/src/jsonix-converter.js.map +1 -1
  175. package/lib/src/jsonix-intermediate-converter.d.ts +1 -0
  176. package/lib/src/jsonix-intermediate-converter.d.ts.map +1 -0
  177. package/lib/src/jsonix-intermediate-converter.js.map +1 -1
  178. package/lib/src/mappings/AwsConfigMapping.d.ts +1 -0
  179. package/lib/src/mappings/AwsConfigMapping.d.ts.map +1 -0
  180. package/lib/src/mappings/AwsConfigMapping.js +19 -9
  181. package/lib/src/mappings/AwsConfigMapping.js.map +1 -1
  182. package/lib/src/mappings/AwsConfigMappingData.d.ts +1 -0
  183. package/lib/src/mappings/AwsConfigMappingData.d.ts.map +1 -0
  184. package/lib/src/mappings/AwsConfigMappingData.js.map +1 -1
  185. package/lib/src/mappings/CciNistMapping.d.ts +1 -0
  186. package/lib/src/mappings/CciNistMapping.d.ts.map +1 -0
  187. package/lib/src/mappings/CciNistMapping.js +4 -0
  188. package/lib/src/mappings/CciNistMapping.js.map +1 -1
  189. package/lib/src/mappings/CciNistMappingData.d.ts +1 -0
  190. package/lib/src/mappings/CciNistMappingData.d.ts.map +1 -0
  191. package/lib/src/mappings/CciNistMappingData.js.map +1 -1
  192. package/lib/src/mappings/CciNistMappingItem.d.ts +1 -0
  193. package/lib/src/mappings/CciNistMappingItem.d.ts.map +1 -0
  194. package/lib/src/mappings/CciNistMappingItem.js +2 -0
  195. package/lib/src/mappings/CciNistMappingItem.js.map +1 -1
  196. package/lib/src/mappings/CheckovToCciAndNistMappingData.d.ts +5 -0
  197. package/lib/src/mappings/CheckovToCciAndNistMappingData.d.ts.map +1 -0
  198. package/lib/src/mappings/CheckovToCciAndNistMappingData.js +2695 -0
  199. package/lib/src/mappings/CheckovToCciAndNistMappingData.js.map +1 -0
  200. package/lib/src/mappings/CweNistMapping.d.ts +1 -0
  201. package/lib/src/mappings/CweNistMapping.d.ts.map +1 -0
  202. package/lib/src/mappings/CweNistMapping.js +1 -0
  203. package/lib/src/mappings/CweNistMapping.js.map +1 -1
  204. package/lib/src/mappings/CweNistMappingData.d.ts +1 -0
  205. package/lib/src/mappings/CweNistMappingData.d.ts.map +1 -0
  206. package/lib/src/mappings/CweNistMappingData.js.map +1 -1
  207. package/lib/src/mappings/CweNistMappingItem.d.ts +1 -0
  208. package/lib/src/mappings/CweNistMappingItem.d.ts.map +1 -0
  209. package/lib/src/mappings/CweNistMappingItem.js +5 -0
  210. package/lib/src/mappings/CweNistMappingItem.js.map +1 -1
  211. package/lib/src/mappings/NessusPluginNistMappingData.d.ts +1 -0
  212. package/lib/src/mappings/NessusPluginNistMappingData.d.ts.map +1 -0
  213. package/lib/src/mappings/NessusPluginNistMappingData.js.map +1 -1
  214. package/lib/src/mappings/NessusPluginsNistMapping.d.ts +1 -0
  215. package/lib/src/mappings/NessusPluginsNistMapping.d.ts.map +1 -0
  216. package/lib/src/mappings/NessusPluginsNistMapping.js +1 -0
  217. package/lib/src/mappings/NessusPluginsNistMapping.js.map +1 -1
  218. package/lib/src/mappings/NessusPluginsNistMappingItem.d.ts +1 -0
  219. package/lib/src/mappings/NessusPluginsNistMappingItem.d.ts.map +1 -0
  220. package/lib/src/mappings/NessusPluginsNistMappingItem.js +4 -0
  221. package/lib/src/mappings/NessusPluginsNistMappingItem.js.map +1 -1
  222. package/lib/src/mappings/NiktoNistMapping.d.ts +1 -0
  223. package/lib/src/mappings/NiktoNistMapping.d.ts.map +1 -0
  224. package/lib/src/mappings/NiktoNistMapping.js.map +1 -1
  225. package/lib/src/mappings/NiktoNistMappingData.d.ts +1 -0
  226. package/lib/src/mappings/NiktoNistMappingData.d.ts.map +1 -0
  227. package/lib/src/mappings/NiktoNistMappingData.js.map +1 -1
  228. package/lib/src/mappings/NiktoNistMappingItem.d.ts +1 -0
  229. package/lib/src/mappings/NiktoNistMappingItem.d.ts.map +1 -0
  230. package/lib/src/mappings/NiktoNistMappingItem.js +4 -0
  231. package/lib/src/mappings/NiktoNistMappingItem.js.map +1 -1
  232. package/lib/src/mappings/NistCciMappingData.d.ts +1 -0
  233. package/lib/src/mappings/NistCciMappingData.d.ts.map +1 -0
  234. package/lib/src/mappings/NistCciMappingData.js.map +1 -1
  235. package/lib/src/mappings/OwaspNistMapping.d.ts +1 -0
  236. package/lib/src/mappings/OwaspNistMapping.d.ts.map +1 -0
  237. package/lib/src/mappings/OwaspNistMapping.js +18 -7
  238. package/lib/src/mappings/OwaspNistMapping.js.map +1 -1
  239. package/lib/src/mappings/OwaspNistMappingData.d.ts +1 -0
  240. package/lib/src/mappings/OwaspNistMappingData.d.ts.map +1 -0
  241. package/lib/src/mappings/OwaspNistMappingData.js.map +1 -1
  242. package/lib/src/mappings/OwaspNistMappingItem.d.ts +1 -0
  243. package/lib/src/mappings/OwaspNistMappingItem.d.ts.map +1 -0
  244. package/lib/src/mappings/OwaspNistMappingItem.js +5 -0
  245. package/lib/src/mappings/OwaspNistMappingItem.js.map +1 -1
  246. package/lib/src/mappings/ScoutsuiteNistMapping.d.ts +1 -0
  247. package/lib/src/mappings/ScoutsuiteNistMapping.d.ts.map +1 -0
  248. package/lib/src/mappings/ScoutsuiteNistMapping.js +1 -0
  249. package/lib/src/mappings/ScoutsuiteNistMapping.js.map +1 -1
  250. package/lib/src/mappings/ScoutsuiteNistMappingData.d.ts +1 -0
  251. package/lib/src/mappings/ScoutsuiteNistMappingData.d.ts.map +1 -0
  252. package/lib/src/mappings/ScoutsuiteNistMappingData.js.map +1 -1
  253. package/lib/src/mappings/ScoutsuiteNistMappingItem.d.ts +1 -0
  254. package/lib/src/mappings/ScoutsuiteNistMappingItem.d.ts.map +1 -0
  255. package/lib/src/mappings/ScoutsuiteNistMappingItem.js +2 -0
  256. package/lib/src/mappings/ScoutsuiteNistMappingItem.js.map +1 -1
  257. package/lib/src/msft-secure-score-mapper.d.ts +1 -0
  258. package/lib/src/msft-secure-score-mapper.d.ts.map +1 -0
  259. package/lib/src/msft-secure-score-mapper.js +202 -185
  260. package/lib/src/msft-secure-score-mapper.js.map +1 -1
  261. package/lib/src/nessus-mapper.d.ts +2 -1
  262. package/lib/src/nessus-mapper.d.ts.map +1 -0
  263. package/lib/src/nessus-mapper.js +122 -105
  264. package/lib/src/nessus-mapper.js.map +1 -1
  265. package/lib/src/netsparker-mapper.d.ts +7 -0
  266. package/lib/src/netsparker-mapper.d.ts.map +1 -0
  267. package/lib/src/netsparker-mapper.js +34 -9
  268. package/lib/src/netsparker-mapper.js.map +1 -1
  269. package/lib/src/neuvector-mapper.d.ts +1 -0
  270. package/lib/src/neuvector-mapper.d.ts.map +1 -0
  271. package/lib/src/neuvector-mapper.js +120 -117
  272. package/lib/src/neuvector-mapper.js.map +1 -1
  273. package/lib/src/nikto-mapper.d.ts +1 -0
  274. package/lib/src/nikto-mapper.d.ts.map +1 -0
  275. package/lib/src/nikto-mapper.js +85 -74
  276. package/lib/src/nikto-mapper.js.map +1 -1
  277. package/lib/src/prisma-mapper.d.ts +1 -0
  278. package/lib/src/prisma-mapper.d.ts.map +1 -0
  279. package/lib/src/prisma-mapper.js +138 -128
  280. package/lib/src/prisma-mapper.js.map +1 -1
  281. package/lib/src/sarif-mapper.d.ts +1 -0
  282. package/lib/src/sarif-mapper.d.ts.map +1 -0
  283. package/lib/src/sarif-mapper.js +116 -105
  284. package/lib/src/sarif-mapper.js.map +1 -1
  285. package/lib/src/scoutsuite-mapper.d.ts +1 -0
  286. package/lib/src/scoutsuite-mapper.d.ts.map +1 -0
  287. package/lib/src/scoutsuite-mapper.js +174 -163
  288. package/lib/src/scoutsuite-mapper.js.map +1 -1
  289. package/lib/src/snyk-mapper.d.ts +1 -0
  290. package/lib/src/snyk-mapper.d.ts.map +1 -0
  291. package/lib/src/snyk-mapper.js +112 -100
  292. package/lib/src/snyk-mapper.js.map +1 -1
  293. package/lib/src/sonarqube-mapper.d.ts +18 -5
  294. package/lib/src/sonarqube-mapper.d.ts.map +1 -0
  295. package/lib/src/sonarqube-mapper.js +525 -271
  296. package/lib/src/sonarqube-mapper.js.map +1 -1
  297. package/lib/src/splunk-mapper.d.ts +3 -2
  298. package/lib/src/splunk-mapper.d.ts.map +1 -0
  299. package/lib/src/splunk-mapper.js +69 -12
  300. package/lib/src/splunk-mapper.js.map +1 -1
  301. package/lib/src/trufflehog-mapper.d.ts +1 -0
  302. package/lib/src/trufflehog-mapper.d.ts.map +1 -0
  303. package/lib/src/trufflehog-mapper.js +72 -69
  304. package/lib/src/trufflehog-mapper.js.map +1 -1
  305. package/lib/src/twistlock-mapper.d.ts +1 -0
  306. package/lib/src/twistlock-mapper.d.ts.map +1 -0
  307. package/lib/src/twistlock-mapper.js +140 -126
  308. package/lib/src/twistlock-mapper.js.map +1 -1
  309. package/lib/src/utils/CCI_List.d.ts +1 -0
  310. package/lib/src/utils/CCI_List.d.ts.map +1 -0
  311. package/lib/src/utils/CCI_List.js.map +1 -1
  312. package/lib/src/utils/attestations.d.ts +1 -0
  313. package/lib/src/utils/attestations.d.ts.map +1 -0
  314. package/lib/src/utils/attestations.js +28 -13
  315. package/lib/src/utils/attestations.js.map +1 -1
  316. package/lib/src/utils/compliance.d.ts +1 -0
  317. package/lib/src/utils/compliance.d.ts.map +1 -0
  318. package/lib/src/utils/compliance.js +11 -3
  319. package/lib/src/utils/compliance.js.map +1 -1
  320. package/lib/src/utils/fingerprinting.d.ts +2 -0
  321. package/lib/src/utils/fingerprinting.d.ts.map +1 -0
  322. package/lib/src/utils/fingerprinting.js +28 -11
  323. package/lib/src/utils/fingerprinting.js.map +1 -1
  324. package/lib/src/utils/global.d.ts +3 -1
  325. package/lib/src/utils/global.d.ts.map +1 -0
  326. package/lib/src/utils/global.js +34 -15
  327. package/lib/src/utils/global.js.map +1 -1
  328. package/lib/src/utils/parseJson.d.ts +1 -0
  329. package/lib/src/utils/parseJson.d.ts.map +1 -0
  330. package/lib/src/utils/parseJson.js +7 -3
  331. package/lib/src/utils/parseJson.js.map +1 -1
  332. package/lib/src/utils/result.d.ts +1 -0
  333. package/lib/src/utils/result.d.ts.map +1 -0
  334. package/lib/src/utils/result.js.map +1 -1
  335. package/lib/src/utils/splunk-tools.d.ts +2 -1
  336. package/lib/src/utils/splunk-tools.d.ts.map +1 -0
  337. package/lib/src/utils/splunk-tools.js +52 -31
  338. package/lib/src/utils/splunk-tools.js.map +1 -1
  339. package/lib/src/veracode-mapper.d.ts +1 -0
  340. package/lib/src/veracode-mapper.d.ts.map +1 -0
  341. package/lib/src/veracode-mapper.js +50 -7
  342. package/lib/src/veracode-mapper.js.map +1 -1
  343. package/lib/src/xccdf-results-mapper.d.ts +7 -0
  344. package/lib/src/xccdf-results-mapper.d.ts.map +1 -0
  345. package/lib/src/xccdf-results-mapper.js +336 -301
  346. package/lib/src/xccdf-results-mapper.js.map +1 -1
  347. package/lib/src/zap-mapper.d.ts +8 -0
  348. package/lib/src/zap-mapper.d.ts.map +1 -0
  349. package/lib/src/zap-mapper.js +119 -90
  350. package/lib/src/zap-mapper.js.map +1 -1
  351. package/lib/tsconfig.build.tsbuildinfo +1 -0
  352. package/lib/types/neuvector-types.d.ts +1 -0
  353. package/lib/types/neuvector-types.d.ts.map +1 -0
  354. package/lib/types/neuvector-types.js +80 -0
  355. package/lib/types/neuvector-types.js.map +1 -1
  356. package/lib/types/splunk-config-types.d.ts +1 -0
  357. package/lib/types/splunk-config-types.d.ts.map +1 -0
  358. package/lib/types/splunk-config-types.js.map +1 -1
  359. package/lib/types/splunk-control-types.d.ts +1 -0
  360. package/lib/types/splunk-control-types.d.ts.map +1 -0
  361. package/lib/types/splunk-control-types.js.map +1 -1
  362. package/lib/types/splunk-profile-types.d.ts +1 -0
  363. package/lib/types/splunk-profile-types.d.ts.map +1 -0
  364. package/lib/types/splunk-profile-types.js.map +1 -1
  365. package/lib/types/splunk-report-types.d.ts +1 -0
  366. package/lib/types/splunk-report-types.d.ts.map +1 -0
  367. package/lib/types/splunk-report-types.js.map +1 -1
  368. package/package.json +19 -40
  369. package/lib/data/converters/csv2json.ts +0 -36
  370. package/lib/data/converters/xml2json.ts +0 -57
@@ -15,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,7 +162,6 @@ 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: {
@@ -198,7 +209,6 @@ function createControlMapping(control, profile, execution, filename, guid) {
198
209
  results: control.hdf.segments
199
210
  };
200
211
  }
201
- exports.createControlMapping = createControlMapping;
202
212
  class FromHDFExecutionToSplunkExecutionMapper extends reverse_any_base_converter_1.FromAnyBaseConverter {
203
213
  constructor(evaluation, filename, guid) {
204
214
  super(evaluation);
@@ -230,6 +240,8 @@ class FromHDFControlToSplunkControlMapper extends reverse_any_base_converter_1.F
230
240
  }
231
241
  exports.FromHDFControlToSplunkControlMapper = FromHDFControlToSplunkControlMapper;
232
242
  class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConverter {
243
+ contextualizedEvaluation;
244
+ axiosInstance;
233
245
  constructor(data, logService, loggingLevel) {
234
246
  if (logService) {
235
247
  logger = logService;
@@ -261,6 +273,7 @@ class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConv
261
273
  this.axiosInstance.defaults.params['sourcetype'] = MAPPER_NAME;
262
274
  this.axiosInstance.defaults.params['index'] = targetIndex.name;
263
275
  try {
276
+ // Upload execution event
264
277
  const execEvents = splunkData.reports.map((report) => {
265
278
  return this.axiosInstance
266
279
  .post(`${hostname}/services/receivers/simple`, JSON.stringify(report))
@@ -269,8 +282,12 @@ class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConv
269
282
  });
270
283
  });
271
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
272
288
  await this.axiosInstance.post(`${hostname}/services/receivers/simple`, splunkData.profiles.map((profile) => JSON.stringify(profile)).join('\n'));
273
289
  logger.verbose(`Successfully uploaded ${splunkData.profiles.length} profile layer(s)`);
290
+ // Upload control event(s)
274
291
  const controlEvents = _.chunk(splunkData.controls, UPLOAD_CHUNK_SIZE).map((chunk) => {
275
292
  return this.axiosInstance
276
293
  .post(`${hostname}/services/receivers/simple`, chunk.map((control) => JSON.stringify(control)).join('\n'))
@@ -284,15 +301,19 @@ class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConv
284
301
  }
285
302
  async toSplunk(config, filename) {
286
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
287
306
  const returnCount = 0;
288
307
  let indexResponse;
289
308
  logger.info(`Logging into Splunk instance at ${hostname} with user ${config.username}`);
290
309
  logger.verbose(`Found designated file to transfer: ${filename}`);
291
310
  const guid = createGUID(30);
292
311
  logger.verbose(`Using GUID: ${guid}`);
312
+ // Attempt to authenticate using given credentials
293
313
  const authResponse = await (0, splunk_tools_1.checkSplunkCredentials)(config);
294
314
  this.axiosInstance.defaults.headers.common['Authorization'] =
295
315
  `Bearer ${authResponse}`;
316
+ // Request all available indexes
296
317
  try {
297
318
  indexResponse = await this.axiosInstance.get(`${hostname}/services/data/indexes`, {
298
319
  params: { count: returnCount }
@@ -301,9 +322,11 @@ class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConv
301
322
  catch (error) {
302
323
  throw new Error(`Failed to request indexes - ${(0, splunk_tools_1.handleSplunkErrorResponse)(error)}`);
303
324
  }
325
+ // Check if index request reponse schema is valid
304
326
  if (!_.has(indexResponse, ['data', 'entry'])) {
305
327
  throw new Error('Failed to request indexes - Malformed index reponse received');
306
328
  }
329
+ // Report provided indexes
307
330
  const indexes = indexResponse.data.entry;
308
331
  if (indexes.length <= 0) {
309
332
  throw new Error('Unable to retrieve available indexes, double-check your scheme configuration and try again');
@@ -311,9 +334,11 @@ class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConv
311
334
  else {
312
335
  const indexNames = indexes.map((index) => index.name);
313
336
  logger.verbose(`Available indexes: ${indexNames.join(', ')}`);
337
+ // Parse available indexes for user desired index
314
338
  if (indexNames.includes(config.index)) {
315
339
  const targetIndex = indexes.filter((index) => index.name === config.index)[0];
316
340
  logger.verbose(`Found index: ${targetIndex.name}`);
341
+ // Post given file(s) to identified index
317
342
  const splunkData = this.createSplunkData(guid, filename);
318
343
  try {
319
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":"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"}
1
+ {"version":3,"file":"reverse-splunk-mapper.js","sourceRoot":"","sources":["../../../../src/converters-from-hdf/splunk/reverse-splunk-mapper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,gCASC;AAED,kDAmBC;AAED,0CAyBC;AAED,gDAKC;AAED,oDAqEC;AAED,oDAqDC;AApOD,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,CAAC;QAChC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;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;AAED,SAAgB,eAAe,CAC7B,OAA+B,EAC/B,SAAoC;IAEpC,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;QACzB,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC9C,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;oBACpB,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;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,kBAAkB,CAChC,OAA8B,EAC9B,SAAmC;IAEnC,OAAO,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC;AACpD,CAAC;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;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,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC;wBAC/B,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAC7B,CAAC;wBACD,OAAO,kBAAkB,CAAC;oBAC5B,CAAC;yBAAM,CAAC;wBACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;oBACzB,CAAC;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,CAAC;oBACxB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;wBACxB,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC;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;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;IAE7D,wBAAwB,CAA4B;IACpD,aAAa,CAAgB;IAE7B,YACE,IAAmD,EACnD,UAAmB,EACnB,YAAqB;QAErB,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,GAAG,UAAU,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,IAAA,4BAAmB,EAAC,WAAW,EAAE,YAAY,IAAI,OAAO,CAAC,CAAC;QACrE,CAAC;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,CAAC;YACzC,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,CAAC;gBACvC,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;YACJ,CAAC;QACH,CAAC;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,CAAC;YACH,yBAAyB;YACzB,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;YAE9B,0BAA0B;YAC1B,+EAA+E;YAC/E,iGAAiG;YACjG,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;YAEF,0BAA0B;YAC1B,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;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,IAAA,wCAAyB,EAAC,KAAK,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAoB,EAAE,QAAgB;QACnD,MAAM,QAAQ,GAAG,IAAA,+BAAgB,EAAC,MAAM,CAAC,CAAC;QAC1C,sGAAsG;QACtG,+FAA+F;QAC/F,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;QAEtC,kDAAkD;QAClD,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;QAE3B,gCAAgC;QAChC,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAC1C,GAAG,QAAQ,wBAAwB,EACnC;gBACE,MAAM,EAAE,EAAC,KAAK,EAAE,WAAW,EAAC;aAC7B,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,+BAA+B,IAAA,wCAAyB,EAAC,KAAK,CAAC,EAAE,CAClE,CAAC;QACJ,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QACzC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,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;YAE9D,iDAAiD;YACjD,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,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;gBAEnD,yCAAyC;gBACzC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAEzD,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;gBAC/D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CACb,gCAAgC,IAAA,wCAAyB,EAAC,KAAK,CAAC,EAAE,CACnE,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxD,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAxLD,sDAwLC","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,11 +250,14 @@ class FromHDFToXCCDFMapper {
233
250
  }
234
251
  };
235
252
  this.data.profiles.forEach((profile) => {
253
+ // Add Profile to Profile list
236
254
  mappedData.Benchmark.Profile.push({
237
255
  id: 'xccdf_mitre.hdf-converters_profile_hdf2xccdf_' +
256
+ // Replace all non-word characters and spaces with underscores
238
257
  (profile.title?.replace(/[^\w-.]/g, '_') || 'profile_missing_title'),
239
258
  title: profile.title || '',
240
259
  description: profile.description || '',
260
+ // All control IDs
241
261
  select: profile.controls.map((control) => 'xccdf_hdf_rule_' +
242
262
  (control.tags.rid ||
243
263
  control.id.replace(/_/g, '-').replace(/[^\w-.]/g, '_') + '_rule'))
@@ -248,10 +268,12 @@ class FromHDFToXCCDFMapper {
248
268
  }
249
269
  profile.controls.forEach((control) => {
250
270
  if (control.results) {
271
+ // Add results info
251
272
  mappedData.Benchmark.TestResult.results.push(this.getControlResultsInfo(control));
252
273
  }
253
274
  });
254
275
  });
276
+ // Add the control metadata for the top-level profile
255
277
  this.data.profiles[0].controls.forEach((control) => {
256
278
  mappedData.Benchmark.Rule.push(this.getControlInfo(control));
257
279
  });
@@ -1 +1 @@
1
- {"version":3,"file":"reverse-xccdf-mapper.js","sourceRoot":"","sources":["../../../../src/converters-from-hdf/xccdf/reverse-xccdf-mapper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAA4B;AAC5B,oDAA4B;AAC5B,wDAAgC;AAChC,wDAAsE;AAMtE,+CAAkD;AAElD,MAAM,WAAW,GAAG,YAAY,CAAC;AACjC,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAC3C,MAAM,yBAAyB,GAAG,0BAA0B,CAAC;AAE7D,SAAS,0BAA0B,CACjC,YAA0E;IAE1E,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,EAAE,CAAC;KACX;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QAC/B,OAAO,YAAY,CAAC;KACrB;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACvD,OAAO;YACL,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,KAAK;SACZ,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,OAAyB;IAC/C,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QACtD,OAAO,OAAO,CAAC;KAChB;IACD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;QACpD,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE;QACjE,OAAO,MAAM,CAAC;KACf;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE;QAClE,OAAO,YAAY,CAAC;KACrB;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE;QAChE,OAAO,MAAM,CAAC;KACf;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,6BAA6B,CAAC,QAAkC;IACvE,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAC/C,OAAO,QAAQ,CAAC;KACjB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,OAA+B;IACpD,QAAQ,OAAO,CAAC,MAAM,EAAE;QACtB,KAAK,SAAS;YACZ,OAAO,cAAc,OAAO,CAAC,YAAY,IAAI,CAAC;QAChD,KAAK,QAAQ;YACX,OAAO,mBAAmB,OAAO,CAAC,SAAS,cAAc,OAAO,CAAC,OAAO,IAAI,CAAC;QAC/E,KAAK,QAAQ;YACX,OAAO,aAAa,OAAO,CAAC,SAAS,GAAG,CAAC;QAC3C,KAAK,OAAO;YACV,OAAO,kBAAkB,OAAO,CAAC,SAAS,cAAc,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5E;YACE,OAAO,cAAc,OAAO,CAAC,SAAS,EAAE,CAAC;KAC5C;AACH,CAAC;AAED,SAAS,WAAW,CAAC,QAAkC;IACrD,OAAO,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,MAAa,oBAAoB;IAK/B,YAAY,IAAY,EAAE,aAAqB,EAAE,YAAY,GAAG,KAAK;QACnE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,WAAW,CAAC,OAAyB;QACnC,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE;YACxB,OAAO,MAAM,CAAC;SACf;aAAM,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE;YAC/B,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE;YAC/B,OAAO,QAAQ,CAAC;SACjB;aAAM;YACL,OAAO,MAAM,CAAC;SACf;IACH,CAAC;IAED,cAAc,CAAC,OAAyB;QACtC,MAAM,iBAAiB,GAAG;YACxB,SAAS;YACT,OAAO;YACP,KAAK;YACL,QAAQ;YACR,KAAK;YACL,KAAK;YACL,SAAS;YACT,KAAK;YACL,WAAW;YACX,QAAQ;YACR,cAAc;SACf,CAAC;QAEF,OAAO;YACL,OAAO,EACL,kBAAkB;gBAClB,OAAO,CAAC,EAAE;qBACP,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;qBAClB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;YAC7B,EAAE,EACA,iBAAiB;gBACjB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;oBACf,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;YACrE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE;YACnC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK;YAC5C,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;YAC1B,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YACnC,WAAW,EACT,OAAO,CAAC,IAAI;gBACV,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS;oBACrB,CAAC,CAAC,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;oBACvD,CAAC,CAAC,EAAE,CAAC;gBACT,IAAA,uBAAc,EAAC,OAAO,CAAC,YAAY,IAAI,EAAE,EAAE,SAAS,CAAC;gBACrD,EAAE;YACJ,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,KAAK;YAChD,YAAY,EAAE,0BAA0B,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CACnE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAChE;YACD,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;YACtE,YAAY,EACV,IAAA,uBAAc,EAAC,OAAO,CAAC,YAAY,IAAI,EAAE,EAAE,OAAO,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,KAAK;gBAClB,EAAE;YACJ,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;iBAC/B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;iBACnD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,KAAK,EAAE,CAAC;YAC5C,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;YACxB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;YAC1B,GAAG,EACD,IAAA,uBAAc,EAAC,OAAO,CAAC,YAAY,IAAI,EAAE,EAAE,KAAK,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,GAAG;gBAChB,EAAE;YACJ,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE;SAC7B,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,OAAO,GAAG,KAAK;QAE9B,MAAM,OAAO,GAA6B,EAAE,CAAC;QAE7C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACrC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;gBAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;aAC9C;QACH,CAAC,CAAC,CAAC;QAGH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE;gBAEzC,IAAI;oBACF,MAAM,UAAU,GAAG,IAAA,gBAAM,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAC7C,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE;wBACxB,OAAO,OAAO;4BACZ,CAAC,CAAC,IAAA,gBAAM,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;4BACzC,CAAC,CAAC,IAAA,gBAAM,EAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;qBAC1D;iBACF;gBAAC,MAAM;oBACN,OAAO,OAAO;wBACZ,CAAC,CAAC,IAAA,gBAAM,GAAE,CAAC,WAAW,EAAE;wBACxB,CAAC,CAAC,IAAA,gBAAM,GAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;iBAClC;aACF;SACF;QAGD,OAAO,OAAO,CAAC,CAAC,CAAC,IAAA,gBAAM,GAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAA,gBAAM,GAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACzE,CAAC;IAED,qBAAqB,CAAC,OAAyB;QAC7C,OAAO;YACL,KAAK,EACH,iBAAiB;gBACjB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;oBACf,OAAO,CAAC,EAAE;yBACP,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;yBAClB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;YAC1C,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC;YAC/B,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;YACrC,WAAW,EAAE,6BAA6B,CAAC,OAAO,CAAC,OAAO,CAAC;YAC3D,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;SACzB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACpD,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAC3B,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACnC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;SACjD;aAAM,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE;YAC7C,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;SACzC;QAED,MAAM,UAAU,GAAqB;YACnC,SAAS,EAAE;gBACT,EAAE,EAAE,sDAAsD;gBAC1D,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,wBAAwB;gBAC9D,IAAI,EAAE,IAAI,CAAC,YAAY;oBACrB,CAAC,CAAC,qBAAqB;oBACvB,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC3B,QAAQ,EAAE;oBACR,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE;oBAChD,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE;iBACnD;gBACD,WAAW,EAAE,iBAAiB;gBAC9B,OAAO,EAAE,sBAAoB;gBAC7B,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,EAAE;gBACR,UAAU,EAAE;oBACV,OAAO,EAAE,IAAI,CAAC,YAAY;wBACxB,CAAC,CAAC,yBAAyB;wBAC3B,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;oBAC/B,aAAa,EAAE,KAAK;oBACpB,UAAU,EAAE,EAAE;oBACd,OAAO,EAAE,EAAE;iBACZ;aACF;SACF,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAErC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;gBAChC,EAAE,EACA,+CAA+C;oBAE/C,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,uBAAuB,CAAC;gBACtE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;gBAC1B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;gBAEtC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAC1B,CAAC,OAAO,EAAE,EAAE,CACV,iBAAiB;oBACjB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;wBACf,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,CACtE;aACF,CAAC,CAAC;YACH,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAC7C,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAC9B,CAAC;YACF,IAAI,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzD,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC;aACtD;YAED,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACnC,IAAI,OAAO,CAAC,OAAO,EAAE;oBAEnB,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAC1C,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CACpC,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACjD,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,OAAO,kBAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACzD,CAAC;CACF;AA7MD,oDA6MC"}
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"}