@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
@@ -102,3 +102,4 @@ export type NeuVectorScanJson = {
102
102
  error_message: string;
103
103
  };
104
104
  export {};
105
+ //# sourceMappingURL=neuvector-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neuvector-types.d.ts","sourceRoot":"","sources":["../../types/neuvector-types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,83 @@
1
1
  "use strict";
2
+ /* Types are generated with Tygo, from original Golang source code to TypeScript, and tweaked to reflect actual outputted JSON.
3
+
4
+ // Dockerfile
5
+ ```
6
+ FROM alpine:3.12 AS clone
7
+ # If using a VPN, install certificates for `git clone` to work
8
+ ADD <URLs to CA certificates>
9
+ RUN update-ca-certificates
10
+ git clone https://github.com/neuvector/neuvector.git
11
+ FROM golang:1.23.0 AS build
12
+ # If using a VPN, install certificates for `go install` to work
13
+ ADD <URLs to CA certificates>
14
+ RUN update-ca-certificates
15
+ go install github.com/gzuidhof/tygo@latest
16
+ WORKDIR /go/neuvector
17
+ COPY --from=clone /neuvector .
18
+ COPY tygo.yaml .
19
+ ```
20
+
21
+ // tygo.yaml
22
+ ```
23
+ packages:
24
+ - path: 'github.com/neuvector/neuvector/controller/api'
25
+ output_path: '/go/output/neuvector-generated-types.ts'
26
+ ```
27
+
28
+ // docker-compose.yml
29
+ ```
30
+ services:
31
+ # Generates neuvector/scanner TypeScript types from its Golang source code
32
+ go2ts:
33
+ container_name: tygo
34
+ volumes:
35
+ - './tygo-output/:/go/output/'
36
+ build:
37
+ dockerfile: Dockerfile
38
+ tty: true
39
+ command: tygo generate
40
+ ```
41
+
42
+ // `docker compose` command to regenerate Tygo types: `docker compose up --build go2ts`. Output file will be `./tygo-output/neuvector-generated-types.ts`.
43
+ Some of the generated types are copied into and defined in this file. The currently-used generated types begin with `REST`, and some of the generated types are tweaked such that when they have a field beginning with `REST`, the field is intersected instead. For example:
44
+ ```
45
+ type RESTScanRepoReport = {
46
+ verdict?: string;
47
+ image_id: string;
48
+ registry: string;
49
+ repository: string;
50
+ tag: string;
51
+ digest: string;
52
+ size: number;
53
+ author: string;
54
+ base_os: string;
55
+ created_at: string;
56
+ cvedb_version: string;
57
+ cvedb_create_time: string;
58
+ layers: RESTScanLayer[];
59
+ } & RESTScanReport;
60
+ ```
61
+ was tweaked from the generated
62
+ ```
63
+ export interface RESTScanRepoReport {
64
+ verdict?: string;
65
+ image_id: string;
66
+ registry: string;
67
+ repository: string;
68
+ tag: string;
69
+ digest: string;
70
+ size: number;
71
+ author: string;
72
+ base_os: string;
73
+ created_at: string;
74
+ cvedb_version: string;
75
+ cvedb_create_time: string;
76
+ layers: (RESTScanLayer | undefined)[];
77
+ RESTScanReport: RESTScanReport;
78
+ }
79
+ ```
80
+ . In the original Golang RESTScanRepoReport struct at https://github.com/neuvector/neuvector/blob/15496f08f7c445acd4901105fa9e73637b72cdf7/controller/api/apis.go#L2444-L2459, RESTScanReport is composed within RESTScanRepoReport. In Golang, this allows RESTScanRepoReport to use RESTScanReport's members. Tygo embeds RESTScanReport inside of RESTScanRepoReport, but when comparing the actual NeuVector JSON output to the struct definitions, RESTScanReport is not a field of the output's `report` field. In TypeScript, the equivalent of a type accessing another type's members is type intersection. Additionally, NeuVectorScanJson is handcrafted, as its equivalent type doesn't exist in `neuvector-generated-types.ts`.
81
+ */
2
82
  Object.defineProperty(exports, "__esModule", { value: true });
3
83
  //# sourceMappingURL=neuvector-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"neuvector-types.js","sourceRoot":"","sources":["../../types/neuvector-types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"neuvector-types.js","sourceRoot":"","sources":["../../types/neuvector-types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+EE","sourcesContent":["/* Types are generated with Tygo, from original Golang source code to TypeScript, and tweaked to reflect actual outputted JSON. \n\n// Dockerfile\n```\nFROM alpine:3.12 AS clone\n# If using a VPN, install certificates for `git clone` to work\nADD <URLs to CA certificates>\nRUN update-ca-certificates\ngit clone https://github.com/neuvector/neuvector.git\nFROM golang:1.23.0 AS build\n# If using a VPN, install certificates for `go install` to work\nADD <URLs to CA certificates>\nRUN update-ca-certificates\ngo install github.com/gzuidhof/tygo@latest\nWORKDIR /go/neuvector\nCOPY --from=clone /neuvector .\nCOPY tygo.yaml .\n```\n\n// tygo.yaml\n```\npackages:\n - path: 'github.com/neuvector/neuvector/controller/api'\n output_path: '/go/output/neuvector-generated-types.ts'\n```\n\n// docker-compose.yml\n```\nservices:\n # Generates neuvector/scanner TypeScript types from its Golang source code\n go2ts:\n container_name: tygo\n volumes:\n - './tygo-output/:/go/output/'\n build:\n dockerfile: Dockerfile\n tty: true\n command: tygo generate\n```\n\n// `docker compose` command to regenerate Tygo types: `docker compose up --build go2ts`. Output file will be `./tygo-output/neuvector-generated-types.ts`. \nSome of the generated types are copied into and defined in this file. The currently-used generated types begin with `REST`, and some of the generated types are tweaked such that when they have a field beginning with `REST`, the field is intersected instead. For example: \n```\ntype RESTScanRepoReport = {\n verdict?: string;\n image_id: string;\n registry: string;\n repository: string;\n tag: string;\n digest: string;\n size: number;\n author: string;\n base_os: string;\n created_at: string;\n cvedb_version: string;\n cvedb_create_time: string;\n layers: RESTScanLayer[];\n} & RESTScanReport;\n```\nwas tweaked from the generated\n```\nexport interface RESTScanRepoReport {\n verdict?: string;\n image_id: string;\n registry: string;\n repository: string;\n tag: string;\n digest: string;\n size: number;\n author: string;\n base_os: string;\n created_at: string;\n cvedb_version: string;\n cvedb_create_time: string;\n layers: (RESTScanLayer | undefined)[];\n RESTScanReport: RESTScanReport;\n}\n```\n. In the original Golang RESTScanRepoReport struct at https://github.com/neuvector/neuvector/blob/15496f08f7c445acd4901105fa9e73637b72cdf7/controller/api/apis.go#L2444-L2459, RESTScanReport is composed within RESTScanRepoReport. In Golang, this allows RESTScanRepoReport to use RESTScanReport's members. Tygo embeds RESTScanReport inside of RESTScanRepoReport, but when comparing the actual NeuVector JSON output to the struct definitions, RESTScanReport is not a field of the output's `report` field. In TypeScript, the equivalent of a type accessing another type's members is type intersection. Additionally, NeuVectorScanJson is handcrafted, as its equivalent type doesn't exist in `neuvector-generated-types.ts`.\n*/\n\nexport type RESTVulnerability = {\n // This can be a CVE, GHSA, or RHSA.\n name: string;\n // `score` is possibly CVSS v2 based on https://github.com/neuvector/scanner/blob/765fb1db2cf678ea6c6d386f3eb0f720311d745a/cvetools/cvesearch.go#L1416.\n score: number /* Tygo: float32 */;\n // Could be CVSS v3, since info for v2 and v4 doesn't always exist for CVEs.\n severity: string;\n // Could be the CVSS v2 vector.\n vectors: string;\n description: string;\n file_name: string;\n package_name: string;\n package_version: string;\n fixed_version: string;\n link: string;\n // In the NeuVector Scanning & Compliance documentation, Score (V3) is selectable by a dropdown. This could be the CVSS v3 score.\n score_v3: number /* Tygo: float32 */;\n // Could be the CVSS v3 vector.\n vectors_v3: string;\n // Both timestamp fields are Unix epoch timestamps, in seconds.\n published_timestamp: number /* Tygo: int64 */;\n last_modified_timestamp: number /* Tygo: int64 */;\n cpes?: string[];\n cves?: string[];\n feed_rating: string;\n in_base_image?: boolean;\n tags?: string[];\n};\n\nexport type RESTScanModule = {\n name: string;\n file: string;\n version: string;\n source: string;\n cves?: RESTModuleCve[];\n cpes?: string[];\n};\n\nexport type RESTModuleCve = {\n name: string;\n status: string;\n};\n\ntype RESTBenchItem = {\n level: string;\n evidence?: string;\n location?: string;\n message: string[];\n group?: string;\n} & RESTBenchCheck;\n\ntype RESTBenchCheck = {\n test_number: string;\n category: string;\n type: string;\n profile: string;\n scored: boolean;\n automated: boolean;\n description: string;\n remediation: string;\n tags?: string[]; // Tygo: Tags provide list of compliance that related to the cis test item.\n tags_v2?: Record<string, unknown /* Tygo: share.TagDetails */>; // Tygo: TagsV2 provide compliance details for each compliance tag\n};\n\ntype RESTScanSecret = {\n type: string;\n evidence: string;\n path: string;\n suggestion: string;\n};\n\ntype RESTScanSetIdPerm = {\n type: string;\n evidence: string;\n path: string;\n};\n\ntype RESTScanSignatureInfo = {\n verifiers?: string[];\n verification_timestamp: string;\n};\n\ntype RESTScanReport = {\n vulnerabilities: RESTVulnerability[];\n modules?: RESTScanModule[];\n // `checks` lines up with CIS benchmarks\n checks?: RESTBenchItem[];\n secrets?: RESTScanSecret[];\n setid_perms?: RESTScanSetIdPerm[];\n // Environment variables used within the Docker image\n envs?: string[];\n labels?: Record<string, string>;\n // Dockerfile CMDs\n cmds?: string[];\n signature_data?: RESTScanSignatureInfo;\n};\n\nexport type RESTScanRepoReport = {\n verdict?: string;\n image_id: string;\n registry: string;\n repository: string;\n tag: string;\n digest: string;\n size: number /* Tygo: int64 */;\n author: string;\n base_os: string;\n created_at: string;\n cvedb_version: string;\n cvedb_create_time: string;\n layers: RESTScanLayer[];\n} & RESTScanReport;\n\ntype RESTScanLayer = {\n digest: string;\n cmds: string;\n vulnerabilities: RESTVulnerability[];\n size: number /* Tygo: int64 */;\n};\n\nexport type NeuVectorScanJson = {\n report: RESTScanRepoReport;\n error_message: string;\n};\n"]}
@@ -11,3 +11,4 @@ export type SplunkConfig = {
11
11
  autologin?: boolean;
12
12
  version?: string;
13
13
  };
14
+ //# sourceMappingURL=splunk-config-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"splunk-config-types.d.ts","sourceRoot":"","sources":["../../types/splunk-config-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"splunk-config-types.js","sourceRoot":"","sources":["../../types/splunk-config-types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"splunk-config-types.js","sourceRoot":"","sources":["../../types/splunk-config-types.ts"],"names":[],"mappings":"","sourcesContent":["export type SplunkConfig = {\n scheme: string;\n host: string;\n port?: number;\n username?: string;\n password?: string;\n index: string;\n owner?: string;\n app?: string;\n sessionKey?: string;\n autologin?: boolean;\n version?: string;\n};\n"]}
@@ -41,3 +41,4 @@ export type Tags = {
41
41
  fix?: string;
42
42
  nist?: string[];
43
43
  };
44
+ //# sourceMappingURL=splunk-control-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"splunk-control-types.d.ts","sourceRoot":"","sources":["../../types/splunk-control-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,mDAAmD,CAAC;AAEhF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,aAAa,CAAC;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;IAC5B,OAAO,CAAC,EAAE,iBAAiB,EAAE,GAAG,aAAa,CAAC;IAC9C,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"splunk-control-types.js","sourceRoot":"","sources":["../../types/splunk-control-types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"splunk-control-types.js","sourceRoot":"","sources":["../../types/splunk-control-types.ts"],"names":[],"mappings":"","sourcesContent":["import {HDFControlSegment} from 'inspecjs';\nimport {ILookupPathFH} from '../src/converters-from-hdf/reverse-base-converter';\n\nexport type SplunkControl = {\n meta: Meta;\n code: string;\n desc: string;\n title?: string | null;\n descriptions: Record<string, string>[] | ILookupPathFH;\n id: string;\n impact: number;\n refs: any[] | ILookupPathFH;\n results?: HDFControlSegment[] | ILookupPathFH;\n source_location?: any;\n tags: Tags;\n};\n\nexport type Meta = {\n guid: string;\n filename: string;\n filetype: string;\n subtype: string;\n profile_sha256: string;\n hdf_splunk_schema: string;\n status: string;\n is_waived: boolean;\n is_baseline: boolean;\n overlay_depth: number;\n};\n\nexport type Result = {\n code_desc: string;\n run_time: number;\n start_time: Date;\n status: string;\n resource: string;\n message: string;\n skip_message: string;\n exception: string;\n backtrace: null;\n};\n\nexport type Tags = {\n check?: string;\n fix?: string;\n nist?: string[];\n};\n"]}
@@ -51,3 +51,4 @@ export type Meta = {
51
51
  hdf_splunk_schema: string;
52
52
  is_baseline: boolean;
53
53
  };
54
+ //# sourceMappingURL=splunk-profile-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"splunk-profile-types.d.ts","sourceRoot":"","sources":["../../types/splunk-profile-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,mDAAmD,CAAC;AAEhF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,QAAQ,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,OAAO,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;IAClC,UAAU,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;IACxC,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"splunk-profile-types.js","sourceRoot":"","sources":["../../types/splunk-profile-types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"splunk-profile-types.js","sourceRoot":"","sources":["../../types/splunk-profile-types.ts"],"names":[],"mappings":"","sourcesContent":["import {ILookupPathFH} from '../src/converters-from-hdf/reverse-base-converter';\n\nexport type SplunkProfile = {\n meta: Meta;\n summary: string;\n sha256: string;\n controls: unknown[];\n supports: any[] | ILookupPathFH;\n name: string;\n copyright: string;\n maintainer: string;\n copyright_email: string;\n version: string;\n license: string;\n title: string;\n parent_profile: string | undefined;\n depends: Depend[] | ILookupPathFH;\n attributes: Attribute[] | ILookupPathFH;\n groups: Group[] | ILookupPathFH;\n status: string;\n};\n\nexport type Attribute = {\n name: string;\n options: Options;\n};\n\nexport type Options = {\n default: string;\n required: boolean;\n type: string;\n};\n\nexport type Depend = {\n name: string;\n url: string;\n git: string;\n branch: string;\n path: string;\n skip_message: string;\n status: string;\n supermarket: string;\n compliance: string;\n};\n\nexport type Group = {\n controls: string[];\n id: string;\n};\n\nexport type Meta = {\n guid: string;\n filetype: string;\n filename: string;\n subtype: string;\n profile_sha256: string;\n hdf_splunk_schema: string;\n is_baseline: boolean;\n};\n"]}
@@ -18,3 +18,4 @@ export type Platform = {
18
18
  release: string;
19
19
  name: string;
20
20
  };
21
+ //# sourceMappingURL=splunk-report-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"splunk-report-types.d.ts","sourceRoot":"","sources":["../../types/splunk-report-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAElC,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;IACjC,WAAW,EAAE,GAAG,CAAC;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"splunk-report-types.js","sourceRoot":"","sources":["../../types/splunk-report-types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"splunk-report-types.js","sourceRoot":"","sources":["../../types/splunk-report-types.ts"],"names":[],"mappings":"","sourcesContent":["import {ExecJSON} from 'inspecjs';\n\nexport type SplunkReport = {\n meta: Meta;\n statistics?: ExecJSON.Statistics;\n passthrough: any;\n profiles: unknown[];\n platform: Platform;\n version: string;\n};\n\nexport type Meta = {\n guid: string;\n filename: string;\n filetype: string;\n subtype: string;\n hdf_splunk_schema: string;\n};\n\nexport type Platform = {\n release: string;\n name: string;\n};\n"]}
package/package.json CHANGED
@@ -1,93 +1,76 @@
1
1
  {
2
2
  "name": "@mitre/hdf-converters",
3
- "version": "2.12.2",
3
+ "version": "2.13.0",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Converter util library used to transform various scan results into HDF format",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/mitre/heimdall2",
9
+ "directory": "libs/hdf-converters"
10
+ },
6
11
  "files": [
7
12
  "lib"
8
13
  ],
9
14
  "main": "lib/index.js",
10
- "publishConfig": {
11
- "main": "lib/index.js"
12
- },
13
15
  "scripts": {
14
- "build": "run-script-os",
15
- "build:darwin:linux": "../../node_modules/.bin/tsc -p ./tsconfig.build.json && cp -R ./data ./lib",
16
- "build:win32": "../../node_modules/.bin/tsc -p ./tsconfig.build.json && xcopy data lib",
17
- "lint": "eslint \"**/*.ts\" --fix",
18
- "lint:ci": "eslint \"**/*.ts\" --max-warnings 0",
19
- "prepack": "yarn build && node prepack.js",
16
+ "prebuild": "tailwindcss -i data/reverse-html-mapper/tailwind.css -o data/reverse-html-mapper/style.css --minify && node data/reverse-html-mapper/convert-to-embedded-strings.ts",
17
+ "build": "tsc -p tsconfig.build.json",
18
+ "lint": "eslint --fix",
19
+ "lint:ci": "eslint --max-warnings 0",
20
+ "prepack": "run-script-os",
21
+ "prepack:darwin:linux": "yarn build && cp package.json package.json.orig && cat package.json.orig | jq '.main = \"lib/index.js\"' > package.json",
22
+ "prepack:win32": "yarn build && copy package.json package.json.orig && type package.json.orig | jq \".main = \\\"lib/index.js\\\"\" > package.json",
20
23
  "postpack": "run-script-os",
21
24
  "postpack:darwin:linux": "mv package.json.orig package.json",
22
25
  "postpack:win32": "move package.json.orig package.json",
23
- "test": "jest",
24
- "csv2json": "tsx data/converters/csv2json.ts",
25
- "xml2json": "tsx data/converters/xml2json.ts"
26
+ "test": "vitest",
27
+ "test:ci": "vitest run",
28
+ "csv2json": "node data/converters/csv2json.ts",
29
+ "xml2json": "node data/converters/xml2json.ts"
26
30
  },
27
31
  "dependencies": {
28
- "@aws-sdk/client-config-service": "3.899.0",
32
+ "@aws-sdk/client-config-service": "3.1028.0",
29
33
  "@e965/xlsx": "^0.20.0",
30
34
  "@mdi/js": "^7.0.96",
31
35
  "@microsoft/microsoft-graph-types": "^2.40.0",
32
36
  "@mitre/jsonix": "^3.0.7",
33
37
  "@smithy/node-http-handler": "^4.0.0",
38
+ "@tailwindcss/cli": "^4.0.6",
34
39
  "@types/csv2json": "^1.4.2",
35
- "@types/ms": "^0.7.31",
36
40
  "@types/mustache": "^4.1.2",
37
41
  "@types/papaparse": "^5.3.2",
38
42
  "@types/revalidator": "^0.3.12",
43
+ "@types/sanitize-html": "^2.3.1",
39
44
  "@types/semver": "^7.7.0",
40
- "@types/triple-beam": "^1.3.2",
41
45
  "@types/validator": "^13.12.0",
42
46
  "@types/xml2js": "^0.4.9",
43
47
  "axios": "^1.3.5",
44
48
  "compare-versions": "^6.0.0",
45
49
  "csv2json": "^2.0.2",
46
- "fast-xml-parser": "5.2.5",
50
+ "fast-xml-parser": "5.5.11",
47
51
  "html-entities": "^2.3.2",
48
- "htmlparser2": "^10.0.0",
49
- "inspecjs": "^2.12.2",
52
+ "htmlparser2": "^12.0.0",
53
+ "inspecjs": "^2.13.0",
50
54
  "lodash": "^4.17.21",
51
55
  "moment": "^2.29.1",
52
- "ms": "^2.1.3",
53
56
  "mustache": "^4.2.0",
54
57
  "papaparse": "^5.3.1",
58
+ "retry-axios": "^4.0.2",
55
59
  "revalidator": "^0.3.1",
56
60
  "run-script-os": "^1.1.6",
61
+ "sanitize-html": "^2.17.2",
57
62
  "semver": "^7.6.0",
58
63
  "tailwindcss": "^4.0.6",
59
- "tw-elements": "^1.0.0-beta2",
64
+ "tw-elements": "^2.0.0",
60
65
  "validator": "^13.12.0",
61
66
  "winston": "^3.6.0",
62
67
  "xml-formatter": "^3.6.2",
63
68
  "yaml": "^2.1.1"
64
69
  },
65
70
  "devDependencies": {
66
- "@types/jest": "^27.0.0",
67
71
  "@types/lodash": "^4.14.161",
68
- "@types/node": "^24.3.1",
69
- "jest": "^27.0.6",
70
- "quicktype": "^15.0.260",
71
- "ts-jest": "^29.1.0",
72
- "tsx": "^4.7.1",
73
- "typedoc": "^0.28.12",
72
+ "@types/node": "^25.0.0",
73
+ "vitest": "^4.0.18",
74
74
  "xml2js": "^0.6.0"
75
- },
76
- "jest": {
77
- "moduleFileExtensions": [
78
- "js",
79
- "json",
80
- "ts",
81
- "d.ts",
82
- "node"
83
- ],
84
- "moduleNameMapper": {
85
- "axios": "axios/dist/node/axios.cjs"
86
- },
87
- "rootDir": ".",
88
- "testTimeout": 10000000,
89
- "transform": {
90
- "^.+\\.ts$": "ts-jest"
91
- }
92
75
  }
93
- }
76
+ }
@@ -1,36 +0,0 @@
1
- import csv2json from 'csv2json';
2
- import {createReadStream, createWriteStream} from 'fs';
3
- import path from 'path';
4
-
5
- const files = [
6
- 'aws-config-mapping.csv',
7
- 'cwe-nist-mapping.csv',
8
- 'nessus-plugins-nist-mapping.csv',
9
- 'nikto-nist-mapping.csv',
10
- 'owasp-nist-mapping.csv',
11
- 'scoutsuite-nist-mapping.csv'
12
- ];
13
-
14
- try {
15
- const pathToFiles = process.argv[2];
16
- try {
17
- const pathToOutput = process.argv[3];
18
- files.forEach((file) => {
19
- createReadStream(path.join(pathToFiles, file))
20
- .pipe(csv2json())
21
- .pipe(
22
- createWriteStream(
23
- path.join(pathToOutput, file.replace('.csv', '.json'))
24
- )
25
- );
26
- });
27
- } catch {
28
- console.error(`You must provide the path to an output folder.`);
29
- process.exit(1);
30
- }
31
- } catch {
32
- console.error(
33
- `You must provide the path to a folder containing ${files.join(', ')}.`
34
- );
35
- process.exit(1);
36
- }
@@ -1,57 +0,0 @@
1
- import fs from 'fs';
2
- import * as _ from 'lodash';
3
- import xml2js from 'xml2js';
4
-
5
- const parser = new xml2js.Parser();
6
- const pathToInfile = process.argv[2];
7
- const pathToOutfile = process.argv[3];
8
-
9
- // XML Structure after conversion
10
- export interface ICCIList {
11
- cci_list: {
12
- cci_items: {
13
- cci_item: {
14
- $: Record<string, string>;
15
- references: {
16
- reference: {
17
- $: Record<string, string>;
18
- }[];
19
- }[];
20
- }[];
21
- }[];
22
- };
23
- }
24
-
25
- if (!pathToInfile || !pathToOutfile) {
26
- console.error(`You must provide the path to both an input and ouput file.`);
27
- } else {
28
- fs.readFile(pathToInfile, function (readFileError, data) {
29
- if (readFileError) {
30
- console.error(`Failed to read ${pathToInfile}: ${readFileError}`);
31
- } else {
32
- // Parse XML to JS Object
33
- parser.parseString(data, (parseFileError: any, converted: ICCIList) => {
34
- if (parseFileError) {
35
- console.error(`Failed to parse ${pathToInfile}: ${parseFileError}`);
36
- } else {
37
- // Stores our CCI->NIST mapping
38
- const result: Record<string, string> = {};
39
- // For all cci items
40
- converted.cci_list.cci_items[0].cci_item.forEach((cciItem) => {
41
- // Get the latest reference
42
- const newestReference = _.maxBy(
43
- cciItem.references[0].reference,
44
- (item) => _.get(item, '$.version')
45
- );
46
- if (newestReference) {
47
- result[cciItem.$.id] = newestReference.$.index;
48
- } else {
49
- console.error(`No NIST Controls found for ${cciItem.$.id}`);
50
- }
51
- });
52
- fs.writeFileSync(pathToOutfile, JSON.stringify(result));
53
- }
54
- });
55
- }
56
- });
57
- }