@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
@@ -12,156 +12,155 @@ const CweNistMapping_1 = require("./mappings/CweNistMapping");
12
12
  const global_1 = require("./utils/global");
13
13
  const CWE_NIST_MAPPING = new CweNistMapping_1.CweNistMapping();
14
14
  function cweTags(description) {
15
- var _a;
16
15
  const regex = /CWE-\d{3}/g;
17
- return (_a = description.match(regex)) !== null && _a !== void 0 ? _a : undefined;
16
+ return description.match(regex) ?? undefined;
18
17
  }
19
18
  function nistTags(cweTags) {
20
- var _a;
21
- const identifiers = (_a = cweTags === null || cweTags === void 0 ? void 0 : cweTags.map((tag) => tag.slice(-3))) !== null && _a !== void 0 ? _a : [];
19
+ const identifiers = cweTags?.map((tag) => tag.slice(-3)) ?? [];
22
20
  return CWE_NIST_MAPPING.nistFilter(identifiers, global_1.DEFAULT_UPDATE_REMEDIATION_NIST_TAGS);
23
21
  }
24
22
  function cveIdMatches(cveName) {
25
23
  return (cve) => cve.name === cveName;
26
24
  }
27
25
  class NeuVectorMapper extends base_converter_1.BaseConverter {
26
+ withRaw;
27
+ rawData;
28
+ getModules;
28
29
  memoizedGetModules() {
29
30
  const cache = {};
30
31
  return (moduleName) => {
31
- var _a, _b;
32
32
  if (Object.prototype.hasOwnProperty.call(cache, moduleName)) {
33
33
  return cache[moduleName];
34
34
  }
35
- cache[moduleName] = (_b = (_a = this.data.report.modules) === null || _a === void 0 ? void 0 : _a.find((value) => value.name === moduleName)) === null || _b === void 0 ? void 0 : _b.source;
35
+ cache[moduleName] = this.data.report.modules?.find((value) => value.name === moduleName)?.source;
36
36
  return cache[moduleName];
37
37
  };
38
38
  }
39
- constructor(exportJson, withRaw = false) {
40
- const rawParams = JSON.parse(exportJson);
41
- super(rawParams);
42
- this.mappings = {
43
- platform: {
44
- name: 'Heimdall Tools',
45
- release: package_json_1.version
46
- },
47
- version: package_json_1.version,
48
- statistics: {},
49
- profiles: [
50
- {
51
- name: 'NeuVector Scan',
52
- title: {
53
- path: 'report',
54
- transformer: (data) => `${data.registry}/${data.repository}:${data.tag} - Digest: ${data.digest} - Image ID: ${data.image_id}`
55
- },
56
- supports: [],
57
- attributes: [],
58
- groups: [],
59
- status: 'loaded',
60
- controls: [
61
- {
62
- path: 'report.vulnerabilities',
63
- key: 'id',
64
- tags: {
65
- cves: { path: 'cves' },
66
- cpes: { path: 'cpes' },
67
- cwe: {
68
- path: 'description',
69
- transformer: cweTags
70
- },
71
- nist: {
72
- path: 'description',
73
- transformer: (description) => nistTags(cweTags(description))
74
- },
75
- score: { path: 'score' },
76
- vectors: { path: 'vectors' },
77
- vectors_v3: { path: 'vectors_v3' },
78
- score_v3: { path: 'score_v3' },
79
- severity: { path: 'severity' },
80
- source: {
81
- path: 'package_name',
82
- transformer: (packageName) => this.getModules(packageName)
83
- },
84
- status: {
85
- path: 'name',
86
- transformer: (name) => {
87
- var _a, _b, _c, _d;
88
- return (_d = (_c = (_b = (_a = this.rawData.report.modules) === null || _a === void 0 ? void 0 : _a.find((module) => { var _a; return (_a = module.cves) === null || _a === void 0 ? void 0 : _a.find(cveIdMatches(name)); })) === null || _b === void 0 ? void 0 : _b.cves) === null || _c === void 0 ? void 0 : _c.find(cveIdMatches(name))) === null || _d === void 0 ? void 0 : _d.status;
89
- }
90
- },
91
- feed_rating: { path: 'feed_rating' },
92
- link: { path: 'link' },
93
- published_timestamp: { path: 'published_timestamp' },
94
- last_modified_timestamp: { path: 'last_modified_timestamp' },
95
- in_base_image: { path: 'in_base_image' },
96
- tags: {
97
- path: 'tags',
98
- transformer: (tags) => JSON.stringify(tags, null, 2)
99
- },
100
- envs: {
101
- path: '$.report.envs',
102
- transformer: (envs) => envs ? envs.join('\n') : undefined
103
- },
104
- cmds: {
105
- path: '$.report.cmds',
106
- transformer: (cmds) => cmds ? cmds.join('\n') : undefined
107
- }
39
+ mappings = {
40
+ platform: {
41
+ name: 'Heimdall Tools',
42
+ release: package_json_1.version
43
+ },
44
+ version: package_json_1.version,
45
+ statistics: {},
46
+ profiles: [
47
+ {
48
+ name: 'NeuVector Scan',
49
+ title: {
50
+ path: 'report',
51
+ transformer: (data) => `${data.registry}/${data.repository}:${data.tag} - Digest: ${data.digest} - Image ID: ${data.image_id}`
52
+ },
53
+ supports: [],
54
+ attributes: [],
55
+ groups: [],
56
+ status: 'loaded',
57
+ controls: [
58
+ {
59
+ path: 'report.vulnerabilities',
60
+ key: 'id',
61
+ tags: {
62
+ cves: { path: 'cves' },
63
+ cpes: { path: 'cpes' },
64
+ cwe: {
65
+ path: 'description',
66
+ transformer: cweTags
67
+ },
68
+ nist: {
69
+ path: 'description',
70
+ transformer: (description) => nistTags(cweTags(description))
71
+ },
72
+ score: { path: 'score' },
73
+ vectors: { path: 'vectors' },
74
+ vectors_v3: { path: 'vectors_v3' },
75
+ score_v3: { path: 'score_v3' },
76
+ severity: { path: 'severity' },
77
+ source: {
78
+ path: 'package_name',
79
+ transformer: (packageName) => this.getModules(packageName)
108
80
  },
109
- refs: [],
110
- source_location: { ref: { path: 'file_name' } },
111
- title: {
112
- transformer: (data) => `NeuVector found a vulnerability to ${data.name} in ${data.package_name}/${data.package_version}.`
81
+ status: {
82
+ path: 'name',
83
+ transformer: (name) => this.rawData.report.modules
84
+ ?.find((module) => module.cves?.find(cveIdMatches(name)))
85
+ ?.cves?.find(cveIdMatches(name))?.status
113
86
  },
114
- id: {
115
- transformer: (data) => `${data.name}/${data.package_name}/${data.package_version}`
87
+ feed_rating: { path: 'feed_rating' },
88
+ link: { path: 'link' },
89
+ published_timestamp: { path: 'published_timestamp' },
90
+ last_modified_timestamp: { path: 'last_modified_timestamp' },
91
+ in_base_image: { path: 'in_base_image' },
92
+ tags: {
93
+ path: 'tags',
94
+ transformer: (tags) => JSON.stringify(tags, null, 2)
116
95
  },
117
- desc: { path: 'description' },
118
- impact: {
119
- transformer: (data) => data.score_v3 / 10
96
+ envs: {
97
+ path: '$.report.envs',
98
+ transformer: (envs) => envs ? envs.join('\n') : undefined
120
99
  },
121
- results: [
122
- {
123
- status: inspecjs_1.ExecJSON.ControlResultStatus.Failed,
124
- code_desc: '',
125
- message: {
126
- transformer: (data) => {
127
- const { package_name, package_version, fixed_version } = data;
128
- if (!fixed_version) {
129
- return `Vulnerable package ${package_name} is at version ${package_version}. No fixed version available.`;
130
- }
131
- return `Vulnerable package ${package_name} is at version ${package_version}. Update to fixed version ${fixed_version}.`;
100
+ cmds: {
101
+ path: '$.report.cmds',
102
+ transformer: (cmds) => cmds ? cmds.join('\n') : undefined
103
+ }
104
+ },
105
+ refs: [],
106
+ source_location: { ref: { path: 'file_name' } },
107
+ title: {
108
+ transformer: (data) => `NeuVector found a vulnerability to ${data.name} in ${data.package_name}/${data.package_version}.`
109
+ },
110
+ id: {
111
+ transformer: (data) => `${data.name}/${data.package_name}/${data.package_version}`
112
+ },
113
+ desc: { path: 'description' },
114
+ impact: {
115
+ transformer: (data) => data.score_v3 / 10
116
+ },
117
+ results: [
118
+ {
119
+ status: inspecjs_1.ExecJSON.ControlResultStatus.Failed,
120
+ code_desc: '',
121
+ message: {
122
+ transformer: (data) => {
123
+ const { package_name, package_version, fixed_version } = data;
124
+ if (!fixed_version) {
125
+ return `Vulnerable package ${package_name} is at version ${package_version}. No fixed version available.`;
132
126
  }
133
- },
134
- start_time: ''
135
- }
136
- ]
127
+ return `Vulnerable package ${package_name} is at version ${package_version}. Update to fixed version ${fixed_version}.`;
128
+ }
129
+ },
130
+ start_time: ''
131
+ }
132
+ ]
133
+ }
134
+ ],
135
+ sha256: ''
136
+ }
137
+ ],
138
+ passthrough: {
139
+ transformer: (data) => {
140
+ return {
141
+ auxiliary_data: [
142
+ {
143
+ name: 'NeuVector',
144
+ data: lodash_1.default.omit([
145
+ 'reports.vulnerabilities',
146
+ 'reports.cmds',
147
+ 'reports.envs',
148
+ 'reports.registry',
149
+ 'reports.repository',
150
+ 'reports.tag',
151
+ 'reports.digest',
152
+ 'reports.image_id'
153
+ ])
137
154
  }
138
155
  ],
139
- sha256: ''
140
- }
141
- ],
142
- passthrough: {
143
- transformer: (data) => {
144
- return {
145
- auxiliary_data: [
146
- {
147
- name: 'NeuVector',
148
- data: lodash_1.default.omit([
149
- 'reports.vulnerabilities',
150
- 'reports.cmds',
151
- 'reports.envs',
152
- 'reports.registry',
153
- 'reports.repository',
154
- 'reports.tag',
155
- 'reports.digest',
156
- 'reports.image_id'
157
- ])
158
- }
159
- ],
160
- ...(this.withRaw && { raw: data })
161
- };
162
- }
156
+ ...(this.withRaw && { raw: data })
157
+ };
163
158
  }
164
- };
159
+ }
160
+ };
161
+ constructor(exportJson, withRaw = false) {
162
+ const rawParams = JSON.parse(exportJson);
163
+ super(rawParams);
165
164
  this.withRaw = withRaw;
166
165
  this.rawData = rawParams;
167
166
  this.getModules = this.memoizedGetModules();
@@ -1 +1 @@
1
- {"version":3,"file":"neuvector-mapper.js","sourceRoot":"","sources":["../../src/neuvector-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"neuvector-mapper.js","sourceRoot":"","sources":["../../src/neuvector-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ExecJSON} from 'inspecjs';\nimport _ from 'lodash';\nimport {version as HeimdallToolsVersion} from '../package.json';\nimport {BaseConverter, ILookupPath, MappedTransform} from './base-converter';\nimport {CweNistMapping} from './mappings/CweNistMapping';\nimport {DEFAULT_UPDATE_REMEDIATION_NIST_TAGS} from './utils/global';\nimport {\n NeuVectorScanJson,\n RESTModuleCve,\n RESTScanModule,\n RESTScanRepoReport,\n RESTVulnerability\n} from '../types/neuvector-types';\n\nconst CWE_NIST_MAPPING = new CweNistMapping();\n\nfunction cweTags(description: string): string[] | undefined {\n const regex = /CWE-\\d{3}/g;\n return description.match(regex) ?? undefined;\n}\n\nfunction nistTags(cweTags: string[] | undefined): string[] {\n const identifiers = cweTags?.map((tag: string) => tag.slice(-3)) ?? [];\n return CWE_NIST_MAPPING.nistFilter(\n identifiers,\n DEFAULT_UPDATE_REMEDIATION_NIST_TAGS\n );\n}\n\nfunction cveIdMatches(cveName: string): (value: RESTModuleCve) => boolean {\n return (cve: RESTModuleCve) => cve.name === cveName;\n}\n\nexport class NeuVectorMapper extends BaseConverter {\n withRaw: boolean;\n rawData: NeuVectorScanJson;\n getModules: (moduleName: string) => RESTScanModule['source'] | undefined;\n\n memoizedGetModules(): (\n moduleName: string\n ) => RESTScanModule['source'] | undefined {\n const cache: Record<string, RESTScanModule['source'] | undefined> = {};\n\n return (moduleName: string) => {\n if (Object.prototype.hasOwnProperty.call(cache, moduleName)) {\n return cache[moduleName];\n }\n cache[moduleName] = (this.data as NeuVectorScanJson).report.modules?.find(\n (value) => value.name === moduleName\n )?.source;\n return cache[moduleName];\n };\n }\n\n mappings: MappedTransform<\n ExecJSON.Execution & {passthrough: unknown},\n ILookupPath\n > = {\n platform: {\n name: 'Heimdall Tools',\n release: HeimdallToolsVersion\n },\n version: HeimdallToolsVersion,\n statistics: {},\n profiles: [\n {\n name: 'NeuVector Scan',\n title: {\n path: 'report',\n transformer: (data: RESTScanRepoReport) =>\n `${data.registry}/${data.repository}:${data.tag} - Digest: ${data.digest} - Image ID: ${data.image_id}`\n },\n supports: [],\n attributes: [],\n groups: [],\n status: 'loaded',\n controls: [\n {\n path: 'report.vulnerabilities',\n key: 'id',\n tags: {\n cves: {path: 'cves'},\n cpes: {path: 'cpes'},\n cwe: {\n path: 'description',\n transformer: cweTags\n },\n nist: {\n path: 'description',\n transformer: (description: string) =>\n nistTags(cweTags(description))\n },\n score: {path: 'score'},\n vectors: {path: 'vectors'},\n vectors_v3: {path: 'vectors_v3'},\n score_v3: {path: 'score_v3'},\n severity: {path: 'severity'},\n source: {\n path: 'package_name',\n transformer: (packageName: string) =>\n this.getModules(packageName)\n },\n status: {\n path: 'name',\n transformer: (name: string) =>\n this.rawData.report.modules\n ?.find((module) => module.cves?.find(cveIdMatches(name)))\n ?.cves?.find(cveIdMatches(name))?.status\n },\n feed_rating: {path: 'feed_rating'},\n link: {path: 'link'},\n published_timestamp: {path: 'published_timestamp'},\n last_modified_timestamp: {path: 'last_modified_timestamp'},\n in_base_image: {path: 'in_base_image'},\n tags: {\n path: 'tags',\n transformer: (tags: string[]) => JSON.stringify(tags, null, 2)\n },\n envs: {\n path: '$.report.envs',\n transformer: (envs?: string[]) =>\n envs ? envs.join('\\n') : undefined\n },\n cmds: {\n path: '$.report.cmds',\n transformer: (cmds?: string[]) =>\n cmds ? cmds.join('\\n') : undefined\n }\n },\n refs: [],\n source_location: {ref: {path: 'file_name'}},\n title: {\n transformer: (data: RESTVulnerability) =>\n `NeuVector found a vulnerability to ${data.name} in ${data.package_name}/${data.package_version}.`\n },\n id: {\n transformer: (data: RESTVulnerability) =>\n `${data.name}/${data.package_name}/${data.package_version}`\n },\n desc: {path: 'description'},\n impact: {\n transformer: (data: RESTVulnerability) => data.score_v3 / 10\n },\n results: [\n {\n status: ExecJSON.ControlResultStatus.Failed,\n code_desc: '',\n message: {\n transformer: (data: RESTVulnerability) => {\n const {package_name, package_version, fixed_version} = data;\n if (!fixed_version) {\n return `Vulnerable package ${package_name} is at version ${package_version}. No fixed version available.`;\n }\n return `Vulnerable package ${package_name} is at version ${package_version}. Update to fixed version ${fixed_version}.`;\n }\n },\n start_time: ''\n }\n ]\n }\n ],\n sha256: ''\n }\n ],\n passthrough: {\n transformer: (\n data: NeuVectorScanJson\n ): Record<string, unknown> & {raw?: NeuVectorScanJson} => {\n return {\n auxiliary_data: [\n {\n name: 'NeuVector',\n data: _.omit([\n 'reports.vulnerabilities',\n 'reports.cmds',\n 'reports.envs',\n 'reports.registry',\n 'reports.repository',\n 'reports.tag',\n 'reports.digest',\n 'reports.image_id'\n ])\n }\n ],\n ...(this.withRaw && {raw: data})\n };\n }\n }\n };\n constructor(exportJson: string, withRaw = false) {\n const rawParams = JSON.parse(exportJson);\n super(rawParams);\n this.withRaw = withRaw;\n this.rawData = rawParams;\n this.getModules = this.memoizedGetModules();\n }\n}\n"]}
@@ -7,3 +7,4 @@ export declare class NiktoMapper extends BaseConverter {
7
7
  }, ILookupPath>;
8
8
  constructor(niktoJson: string, withRaw?: boolean);
9
9
  }
10
+ //# sourceMappingURL=nikto-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nikto-mapper.d.ts","sourceRoot":"","sources":["../../src/nikto-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAsB7E,qBAAa,WAAY,SAAQ,aAAa;IAC5C,OAAO,EAAE,OAAO,CAAC;IAEjB,QAAQ,EAAE,eAAe,CACvB,QAAQ,CAAC,SAAS,GAAG;QAAC,WAAW,EAAE,OAAO,CAAA;KAAC,EAC3C,WAAW,CACZ,CAqEC;gBACU,SAAS,EAAE,MAAM,EAAE,OAAO,UAAQ;CAI/C"}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.NiktoMapper = void 0;
27
37
  const inspecjs_1 = require("inspecjs");
@@ -44,77 +54,78 @@ function nistTag(id) {
44
54
  return NIKTO_NIST_MAPPING.nistTag(id);
45
55
  }
46
56
  class NiktoMapper extends base_converter_1.BaseConverter {
47
- constructor(niktoJson, withRaw = false) {
48
- super(JSON.parse(niktoJson));
49
- this.mappings = {
50
- platform: {
51
- name: 'Heimdall Tools',
52
- release: package_json_1.version,
53
- target_id: { transformer: projectName }
54
- },
55
- version: package_json_1.version,
56
- statistics: {},
57
- profiles: [
58
- {
59
- name: 'Nikto Website Scanner',
60
- title: { transformer: formatTitle },
61
- summary: {
62
- path: 'banner',
63
- transformer: (input) => {
64
- return `Banner: ${input}`;
65
- }
66
- },
67
- supports: [],
68
- attributes: [],
69
- groups: [],
70
- status: 'loaded',
71
- controls: [
72
- {
73
- path: 'vulnerabilities',
74
- key: 'id',
75
- tags: {
76
- nist: { path: 'id', transformer: nistTag },
77
- cci: {
78
- path: 'id',
79
- transformer: (id) => (0, global_1.getCCIsForNISTTags)(nistTag(id))
80
- },
81
- ösvdb: { path: 'OSVDB' }
82
- },
83
- refs: [],
84
- source_location: {},
85
- title: { path: 'msg' },
86
- id: { path: 'id' },
87
- desc: { path: 'msg' },
88
- impact: 0.5,
89
- code: {
90
- transformer: (vulnerability) => JSON.stringify(vulnerability, null, 2)
57
+ withRaw;
58
+ mappings = {
59
+ platform: {
60
+ name: 'Heimdall Tools',
61
+ release: package_json_1.version,
62
+ target_id: { transformer: projectName }
63
+ },
64
+ version: package_json_1.version,
65
+ statistics: {},
66
+ profiles: [
67
+ {
68
+ name: 'Nikto Website Scanner',
69
+ title: { transformer: formatTitle },
70
+ summary: {
71
+ path: 'banner',
72
+ transformer: (input) => {
73
+ return `Banner: ${input}`;
74
+ }
75
+ },
76
+ supports: [],
77
+ attributes: [],
78
+ groups: [],
79
+ status: 'loaded',
80
+ controls: [
81
+ {
82
+ path: 'vulnerabilities',
83
+ key: 'id',
84
+ tags: {
85
+ nist: { path: 'id', transformer: nistTag },
86
+ cci: {
87
+ path: 'id',
88
+ transformer: (id) => (0, global_1.getCCIsForNISTTags)(nistTag(id))
91
89
  },
92
- results: [
93
- {
94
- status: inspecjs_1.ExecJSON.ControlResultStatus.Failed,
95
- code_desc: { transformer: formatCodeDesc },
96
- start_time: ''
97
- }
98
- ]
99
- }
100
- ],
101
- sha256: ''
102
- }
103
- ],
104
- passthrough: {
105
- transformer: (data) => {
106
- return {
107
- auxiliary_data: [
90
+ ösvdb: { path: 'OSVDB' }
91
+ },
92
+ refs: [],
93
+ source_location: {},
94
+ title: { path: 'msg' },
95
+ id: { path: 'id' },
96
+ desc: { path: 'msg' },
97
+ impact: 0.5,
98
+ code: {
99
+ transformer: (vulnerability) => JSON.stringify(vulnerability, null, 2)
100
+ },
101
+ results: [
108
102
  {
109
- name: 'Nikto',
110
- data: _.omit(data, ['banner', 'host', 'port', 'vulnerabilities'])
103
+ status: inspecjs_1.ExecJSON.ControlResultStatus.Failed,
104
+ code_desc: { transformer: formatCodeDesc },
105
+ start_time: ''
111
106
  }
112
- ],
113
- ...(this.withRaw && { raw: data })
114
- };
115
- }
107
+ ]
108
+ }
109
+ ],
110
+ sha256: ''
116
111
  }
117
- };
112
+ ],
113
+ passthrough: {
114
+ transformer: (data) => {
115
+ return {
116
+ auxiliary_data: [
117
+ {
118
+ name: 'Nikto',
119
+ data: _.omit(data, ['banner', 'host', 'port', 'vulnerabilities'])
120
+ }
121
+ ],
122
+ ...(this.withRaw && { raw: data })
123
+ };
124
+ }
125
+ }
126
+ };
127
+ constructor(niktoJson, withRaw = false) {
128
+ super(JSON.parse(niktoJson));
118
129
  this.withRaw = withRaw;
119
130
  }
120
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nikto-mapper.js","sourceRoot":"","sources":["../../src/nikto-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nikto-mapper.js","sourceRoot":"","sources":["../../src/nikto-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ExecJSON} from 'inspecjs';\nimport * as _ from 'lodash';\nimport {version as HeimdallToolsVersion} from '../package.json';\nimport {BaseConverter, ILookupPath, MappedTransform} from './base-converter';\nimport {NiktoNistMapping} from './mappings/NiktoNistMapping';\nimport {getCCIsForNISTTags} from './utils/global';\n\nconst NIKTO_NIST_MAPPING = new NiktoNistMapping();\n\nfunction formatTitle(file: unknown): string {\n return `Nikto Target: ${projectName(file)}`;\n}\nfunction projectName(file: unknown): string {\n return `Host: ${_.get(file, 'host')} Port: ${_.get(file, 'port')}`;\n}\nfunction formatCodeDesc(vulnerability: unknown): string {\n return `URL : ${_.get(vulnerability, 'url')} Method: ${_.get(\n vulnerability,\n 'method'\n )}`;\n}\nfunction nistTag(id: string): string[] {\n return NIKTO_NIST_MAPPING.nistTag(id);\n}\n\nexport class NiktoMapper extends BaseConverter {\n withRaw: boolean;\n\n mappings: MappedTransform<\n ExecJSON.Execution & {passthrough: unknown},\n ILookupPath\n > = {\n platform: {\n name: 'Heimdall Tools',\n release: HeimdallToolsVersion,\n target_id: {transformer: projectName}\n },\n version: HeimdallToolsVersion,\n statistics: {},\n profiles: [\n {\n name: 'Nikto Website Scanner',\n title: {transformer: formatTitle},\n summary: {\n path: 'banner',\n transformer: (input: unknown): string => {\n return `Banner: ${input}`;\n }\n },\n supports: [],\n attributes: [],\n groups: [],\n status: 'loaded',\n controls: [\n {\n path: 'vulnerabilities',\n key: 'id',\n tags: {\n nist: {path: 'id', transformer: nistTag},\n cci: {\n path: 'id',\n transformer: (id: string) => getCCIsForNISTTags(nistTag(id))\n },\n ösvdb: {path: 'OSVDB'}\n },\n refs: [],\n source_location: {},\n title: {path: 'msg'},\n id: {path: 'id'},\n desc: {path: 'msg'},\n impact: 0.5,\n code: {\n transformer: (vulnerability: Record<string, unknown>): string =>\n JSON.stringify(vulnerability, null, 2)\n },\n results: [\n {\n status: ExecJSON.ControlResultStatus.Failed,\n code_desc: {transformer: formatCodeDesc},\n start_time: ''\n }\n ]\n }\n ],\n sha256: ''\n }\n ],\n passthrough: {\n transformer: (data: Record<string, unknown>): Record<string, unknown> => {\n return {\n auxiliary_data: [\n {\n name: 'Nikto',\n data: _.omit(data, ['banner', 'host', 'port', 'vulnerabilities'])\n }\n ],\n ...(this.withRaw && {raw: data})\n };\n }\n }\n };\n constructor(niktoJson: string, withRaw = false) {\n super(JSON.parse(niktoJson));\n this.withRaw = withRaw;\n }\n}\n"]}
@@ -22,3 +22,4 @@ export declare class PrismaMapper {
22
22
  toHdf(): ExecJSON.Execution[];
23
23
  constructor(prismaCsv: string);
24
24
  }
25
+ //# sourceMappingURL=prisma-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prisma-mapper.d.ts","sourceRoot":"","sources":["../../src/prisma-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAGlC,OAAO,EACL,aAAa,EACb,WAAW,EACX,eAAe,EAEhB,MAAM,kBAAkB,CAAC;AAO1B,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAUF,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,YAMjD;AAED,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,CAqHxD;gBAEU,cAAc,EAAE,aAAa,EAAE;CAG5C;AAED,qBAAa,YAAY;IACvB,IAAI,EAAE,aAAa,EAAE,CAAM;IAE3B,KAAK,IAAI,QAAQ,CAAC,SAAS,EAAE;gBAgBjB,SAAS,EAAE,MAAM;CAG9B"}