@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
@@ -1 +1 @@
1
- {"version":3,"file":"fortify-mapper.js","sourceRoot":"","sources":["../../src/fortify-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fortify-mapper.js","sourceRoot":"","sources":["../../src/fortify-mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ExecJSON} from 'inspecjs';\nimport * as _ from 'lodash';\nimport {version as HeimdallToolsVersion} from '../package.json';\nimport {\n BaseConverter,\n ILookupPath,\n MappedTransform,\n buildParseHtmlFunc,\n parseXml\n} from './base-converter';\nimport {getCCIsForNISTTags} from './utils/global';\n\nconst NIST_REFERENCE_NAME =\n 'Standards Mapping - NIST Special Publication 800-53 Revision 4';\nconst DEFAULT_NIST_TAG: string[] = [];\n\nlet parseHtml: (input: unknown) => string;\n\nfunction impactMapping(input: Record<string, unknown>, id: string): number {\n if (Array.isArray(input)) {\n const matches = input.find((element) => {\n return _.get(element, 'ClassInfo.ClassID') === id;\n });\n return parseFloat(_.get(matches, 'ClassInfo.DefaultSeverity')) / 5;\n } else {\n return parseFloat(_.get(input, 'ClassInfo.DefaultSeverity') as string) / 5;\n }\n}\n\nfunction nistTag(rule: Record<string, unknown>): string[] {\n let references = _.get(rule, 'References.Reference');\n if (!Array.isArray(references)) {\n references = [references];\n }\n if (Array.isArray(references)) {\n const tag = references.find((element: Record<string, unknown>) => {\n return _.get(element, 'Author') === NIST_REFERENCE_NAME;\n });\n if (tag === null || tag === undefined) {\n return DEFAULT_NIST_TAG;\n } else {\n return _.get(tag, 'Title').match(/[a-zA-Z][a-zA-Z]-\\d{1,2}/);\n }\n }\n return [];\n}\n\nfunction processEntry(input: unknown): string {\n const output = [];\n output.push(`${_.get(input, 'id')}<=SNIPPET`);\n output.push(`\\nPath: ${_.get(input, 'File')}\\n`);\n output.push(`StartLine: ${_.get(input, 'StartLine')}, `);\n output.push(`EndLine: ${_.get(input, 'EndLine')}\\n`);\n output.push(`Code:\\n${(_.get(input, 'Text') as unknown as string).trim()}`);\n\n return output.join('');\n}\nfunction makeArray(input: unknown): unknown[] {\n if (Array.isArray(input)) {\n return input as unknown[];\n } else {\n return [input];\n }\n}\nfunction filterVuln(input: unknown[], file: unknown): ExecJSON.Control[] {\n input.forEach((element) => {\n if (element instanceof Object) {\n _.set(\n element,\n 'results',\n (_.get(element, 'results') as any).filter(\n (result: ExecJSON.ControlResult) => {\n const codedesc = _.get(result, 'code_desc').split('<=SNIPPET');\n const snippetid = codedesc[0];\n const classid = _.get(element, 'id');\n _.set(result, 'code_desc', codedesc[1]);\n\n let isMatch = false;\n const matches = (\n _.get(file, 'FVDL.Vulnerabilities.Vulnerability') as any\n ).filter((subElement: Record<string, unknown>) => {\n return _.get(subElement, 'ClassInfo.ClassID') === classid;\n });\n matches.forEach((match: Record<string, unknown>) => {\n const traces: unknown[] = makeArray(\n _.get(match, 'AnalysisInfo.Unified.Trace')\n );\n traces.forEach((trace: unknown) => {\n const entries: unknown[] = makeArray(\n _.get(trace, 'Primary.Entry')\n );\n const filteredEntries = entries.filter((entry: unknown) => {\n return _.has(entry, 'Node.SourceLocation.snippet');\n });\n filteredEntries.forEach((entry: unknown) => {\n if (\n _.get(entry, 'Node.SourceLocation.snippet') === snippetid\n ) {\n isMatch = true;\n }\n });\n });\n });\n return isMatch;\n }\n )\n );\n _.set(\n element,\n 'impact',\n impactMapping(\n _.get(element, 'impact') as unknown as Record<string, unknown>,\n _.get(element, 'id') as unknown as string\n )\n );\n }\n return element;\n });\n return input as ExecJSON.Control[];\n}\n\nexport class FortifyResults {\n constructor(readonly fvdl: string, readonly withRaw = false) {}\n\n async toHdf(): Promise<ExecJSON.Execution> {\n parseHtml = await buildParseHtmlFunc();\n\n return (new FortifyMapper(this.fvdl, this.withRaw)).toHdf();\n }\n}\n\nexport class FortifyMapper extends BaseConverter {\n startTime: string;\n withRaw: boolean;\n\n mappings: MappedTransform<\n ExecJSON.Execution & {passthrough: unknown},\n ILookupPath\n > = {\n platform: {\n name: 'Heimdall Tools',\n release: HeimdallToolsVersion\n },\n version: HeimdallToolsVersion,\n statistics: {},\n profiles: [\n {\n name: 'Fortify Static Analyzer Scan',\n version: {path: 'FVDL.EngineData.EngineVersion'},\n title: 'Fortify Static Analyzer Scan',\n summary: {\n path: 'FVDL.UUID',\n transformer: (uuid: unknown): string => {\n return `Fortify Static Analyzer Scan of UUID: ${uuid}`;\n }\n },\n supports: [],\n attributes: [],\n groups: [],\n status: 'loaded',\n controls: [\n {\n arrayTransformer: filterVuln,\n path: 'FVDL.Description',\n key: 'id',\n tags: {\n nist: {transformer: nistTag},\n cci: {\n transformer: (data: Record<string, unknown>) =>\n getCCIsForNISTTags(nistTag(data))\n }\n },\n refs: [],\n source_location: {},\n title: {path: 'Abstract', transformer: parseHtml}, // there are embedded nodes that do not show up properly\n id: {path: 'classID'},\n desc: {path: 'Explanation', transformer: parseHtml},\n impact: {path: '$.FVDL.Vulnerabilities.Vulnerability'},\n code: {\n transformer: (vulnerability: Record<string, unknown>): string => {\n return JSON.stringify(vulnerability, null, 2);\n }\n },\n results: [\n {\n path: '$.FVDL.Snippets.Snippet',\n status: ExecJSON.ControlResultStatus.Failed,\n code_desc: {transformer: processEntry},\n start_time: {\n path: '$.FVDL.CreatedTS',\n transformer: (input: unknown): string => {\n return `${_.get(input, 'date')} ${_.get(input, 'time')}`;\n }\n }\n }\n ]\n }\n ],\n sha256: ''\n }\n ],\n passthrough: {\n transformer: (data: Record<string, unknown>): Record<string, unknown> => {\n let auxData = _.get(data, 'FVDL');\n if (_.isObject(auxData)) {\n auxData = _.omit(auxData, [\n 'CreatedTS',\n 'UUID',\n 'Description',\n 'Snippets'\n ]);\n }\n return {\n auxiliary_data: [\n {\n name: 'Fortify',\n data: {FVDL: auxData}\n }\n ],\n ...(this.withRaw && {raw: data})\n };\n }\n }\n };\n constructor(fvdl: string, withRaw = false) {\n super(\n parseXml(fvdl, {\n stopNodes: ['FVDL.Description.Abstract', 'FVDL.Description.Explanation']\n })\n );\n this.startTime = `${_.get(this.data, 'FVDL.CreatedTS.date')} ${_.get(\n this.data,\n 'FVDL.CreatedTS.time'\n )}`;\n this.withRaw = withRaw;\n }\n}\n"]}
@@ -7,3 +7,4 @@ export declare class GosecMapper extends BaseConverter {
7
7
  }, ILookupPath>;
8
8
  constructor(gosecJson: string, withRaw?: boolean);
9
9
  }
10
+ //# sourceMappingURL=gosec-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gosec-mapper.d.ts","sourceRoot":"","sources":["../../src/gosec-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAGlC,OAAO,EACL,aAAa,EACb,WAAW,EAEX,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAwD1B,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,CAkEC;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.GosecMapper = void 0;
27
37
  const inspecjs_1 = require("inspecjs");
@@ -40,100 +50,108 @@ function nistTag(input) {
40
50
  const cwe = [`${_.get(input, 'id')}`];
41
51
  return CWE_NIST_MAPPING.nistFilter(cwe, DEFAULT_NIST_TAG);
42
52
  }
53
+ // Check `nosec` and `suppressions` fields which denote whether the gosec rule violation should be suppressed/skipped
43
54
  function formatStatus(input) {
44
55
  return `${_.get(input, 'nosec')}` === 'false' &&
45
56
  `${_.get(input, 'suppressions')}` === 'null'
46
57
  ? inspecjs_1.ExecJSON.ControlResultStatus.Failed
47
58
  : inspecjs_1.ExecJSON.ControlResultStatus.Skipped;
48
59
  }
60
+ // If a gosec rule violation is suppressed, forward the given justification
49
61
  function formatSkipMessage(input) {
50
62
  const suppressions = _.get(input, 'suppressions');
63
+ // If test is not skipped
51
64
  if (`${suppressions}` === 'null') {
52
65
  return undefined;
53
66
  }
67
+ // If test is skipped and there are no justifications, report that none are given
54
68
  if (!Array.isArray(suppressions)) {
55
69
  return 'No justification provided';
56
70
  }
71
+ // otherwise, supply the justifications
57
72
  return suppressions
58
73
  .map((suppression) => `${suppression.justification ? suppression.justification : 'No justification provided'} (${suppression.kind})`)
59
74
  .join('\n');
60
75
  }
76
+ // Report gosec rule violation and violation location
61
77
  function formatCodeDesc(input) {
62
78
  return `Rule ${_.get(input, 'rule_id')} violation detected at:\nFile: ${_.get(input, 'file')}\nLine: ${_.get(input, 'line')}\nColumn: ${_.get(input, 'column')}`;
63
79
  }
80
+ // Report confidence of violation and specific offending code
64
81
  function formatMessage(input) {
65
82
  return `${_.get(input, 'confidence')} confidence of rule violation at:\n${_.get(input, 'code')}`;
66
83
  }
67
84
  class GosecMapper extends base_converter_1.BaseConverter {
68
- constructor(gosecJson, withRaw = false) {
69
- super(JSON.parse(gosecJson));
70
- this.mappings = {
71
- platform: {
72
- name: 'Heimdall Tools',
73
- release: package_json_1.version
74
- },
75
- version: package_json_1.version,
76
- statistics: {},
77
- profiles: [
78
- {
79
- name: 'gosec Scan',
80
- title: 'gosec Scan',
81
- version: { path: 'GosecVersion' },
82
- supports: [],
83
- attributes: [],
84
- groups: [],
85
- status: 'loaded',
86
- controls: [
87
- {
88
- path: 'Issues',
89
- key: 'id',
90
- tags: {
91
- nist: {
92
- path: 'cwe',
93
- transformer: nistTag
94
- },
95
- cwe: { path: 'cwe' }
85
+ withRaw;
86
+ mappings = {
87
+ platform: {
88
+ name: 'Heimdall Tools',
89
+ release: package_json_1.version
90
+ },
91
+ version: package_json_1.version,
92
+ statistics: {},
93
+ profiles: [
94
+ {
95
+ name: 'gosec Scan',
96
+ title: 'gosec Scan',
97
+ version: { path: 'GosecVersion' },
98
+ supports: [],
99
+ attributes: [],
100
+ groups: [],
101
+ status: 'loaded',
102
+ controls: [
103
+ {
104
+ path: 'Issues',
105
+ key: 'id',
106
+ tags: {
107
+ nist: {
108
+ path: 'cwe',
109
+ transformer: nistTag
96
110
  },
97
- refs: [],
98
- source_location: {},
99
- title: { path: 'details' },
100
- id: { path: 'rule_id' },
101
- desc: '',
102
- impact: {
103
- path: 'severity',
104
- transformer: (0, base_converter_1.impactMapping)(IMPACT_MAPPING)
105
- },
106
- results: [
107
- {
108
- status: { transformer: formatStatus },
109
- skip_message: { transformer: formatSkipMessage },
110
- code_desc: { transformer: formatCodeDesc },
111
- message: { transformer: formatMessage },
112
- start_time: ''
113
- }
114
- ]
115
- }
116
- ],
117
- sha256: ''
118
- }
119
- ],
120
- passthrough: {
121
- transformer: (data) => {
122
- return {
123
- auxiliary_data: [
111
+ cwe: { path: 'cwe' }
112
+ },
113
+ refs: [],
114
+ source_location: {},
115
+ title: { path: 'details' },
116
+ id: { path: 'rule_id' },
117
+ desc: '',
118
+ impact: {
119
+ path: 'severity',
120
+ transformer: (0, base_converter_1.impactMapping)(IMPACT_MAPPING)
121
+ },
122
+ results: [
124
123
  {
125
- name: 'gosec',
126
- data: {
127
- 'Golang errors': _.get(data, 'Golang errors'),
128
- Stats: _.get(data, 'Stats')
129
- }
124
+ status: { transformer: formatStatus },
125
+ skip_message: { transformer: formatSkipMessage },
126
+ code_desc: { transformer: formatCodeDesc },
127
+ message: { transformer: formatMessage },
128
+ start_time: ''
130
129
  }
131
- ],
132
- ...(this.withRaw && { raw: data })
133
- };
134
- }
130
+ ]
131
+ }
132
+ ],
133
+ sha256: ''
135
134
  }
136
- };
135
+ ],
136
+ passthrough: {
137
+ transformer: (data) => {
138
+ return {
139
+ auxiliary_data: [
140
+ {
141
+ name: 'gosec',
142
+ data: {
143
+ 'Golang errors': _.get(data, 'Golang errors'),
144
+ Stats: _.get(data, 'Stats')
145
+ }
146
+ }
147
+ ],
148
+ ...(this.withRaw && { raw: data })
149
+ };
150
+ }
151
+ }
152
+ };
153
+ constructor(gosecJson, withRaw = false) {
154
+ super(JSON.parse(gosecJson));
137
155
  this.withRaw = withRaw;
138
156
  }
139
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gosec-mapper.js","sourceRoot":"","sources":["../../src/gosec-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gosec-mapper.js","sourceRoot":"","sources":["../../src/gosec-mapper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAkC;AAClC,0CAA4B;AAC5B,kDAAgE;AAChE,qDAK0B;AAC1B,8DAAyD;AAEzD,MAAM,gBAAgB,GAAG,IAAI,+BAAc,EAAE,CAAC;AAC9C,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IAClD,CAAC,MAAM,EAAE,GAAG,CAAC;IACb,CAAC,QAAQ,EAAE,GAAG,CAAC;IACf,CAAC,KAAK,EAAE,GAAG,CAAC;CACb,CAAC,CAAC;AAEH,SAAS,OAAO,CAAC,KAA8B;IAC7C,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,OAAO,gBAAgB,CAAC,UAAU,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;AAC5D,CAAC;AAED,qHAAqH;AACrH,SAAS,YAAY,CAAC,KAA8B;IAClD,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,KAAK,OAAO;QAC3C,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,KAAK,MAAM;QAC5C,CAAC,CAAC,mBAAQ,CAAC,mBAAmB,CAAC,MAAM;QACrC,CAAC,CAAC,mBAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC;AAC3C,CAAC;AAED,2EAA2E;AAC3E,SAAS,iBAAiB,CAAC,KAA8B;IACvD,MAAM,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAElD,yBAAyB;IACzB,IAAI,GAAG,YAAY,EAAE,KAAK,MAAM,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iFAAiF;IACjF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,2BAA2B,CAAC;IACrC,CAAC;IACD,uCAAuC;IACvC,OAAO,YAAY;SAChB,GAAG,CACF,CAAC,WAAW,EAAE,EAAE,CACd,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,2BAA2B,KAAK,WAAW,CAAC,IAAI,GAAG,CACjH;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,qDAAqD;AACrD,SAAS,cAAc,CAAC,KAA8B;IACpD,OAAO,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;AACnK,CAAC;AAED,6DAA6D;AAC7D,SAAS,aAAa,CAAC,KAA8B;IACnD,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,sCAAsC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;AACnG,CAAC;AAED,MAAa,WAAY,SAAQ,8BAAa;IAC5C,OAAO,CAAU;IAEjB,QAAQ,GAGJ;QACF,QAAQ,EAAE;YACR,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,sBAAoB;SAC9B;QACD,OAAO,EAAE,sBAAoB;QAC7B,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,YAAY;gBACnB,OAAO,EAAE,EAAC,IAAI,EAAE,cAAc,EAAC;gBAC/B,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,QAAQ;wBACd,GAAG,EAAE,IAAI;wBACT,IAAI,EAAE;4BACJ,IAAI,EAAE;gCACJ,IAAI,EAAE,KAAK;gCACX,WAAW,EAAE,OAAO;6BACrB;4BACD,GAAG,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC;yBACnB;wBACD,IAAI,EAAE,EAAE;wBACR,eAAe,EAAE,EAAE;wBACnB,KAAK,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC;wBACxB,EAAE,EAAE,EAAC,IAAI,EAAE,SAAS,EAAC;wBACrB,IAAI,EAAE,EAAE;wBACR,MAAM,EAAE;4BACN,IAAI,EAAE,UAAU;4BAChB,WAAW,EAAE,IAAA,8BAAa,EAAC,cAAc,CAAC;yBAC3C;wBACD,OAAO,EAAE;4BACP;gCACE,MAAM,EAAE,EAAC,WAAW,EAAE,YAAY,EAAC;gCACnC,YAAY,EAAE,EAAC,WAAW,EAAE,iBAAiB,EAAC;gCAC9C,SAAS,EAAE,EAAC,WAAW,EAAE,cAAc,EAAC;gCACxC,OAAO,EAAE,EAAC,WAAW,EAAE,aAAa,EAAC;gCACrC,UAAU,EAAE,EAAE;6BACf;yBACF;qBACF;iBACF;gBACD,MAAM,EAAE,EAAE;aACX;SACF;QACD,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,IAA6B,EAA2B,EAAE;gBACtE,OAAO;oBACL,cAAc,EAAE;wBACd;4BACE,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE;gCACJ,eAAe,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC;gCAC7C,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;6BAC5B;yBACF;qBACF;oBACD,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAC,GAAG,EAAE,IAAI,EAAC,CAAC;iBACjC,CAAC;YACJ,CAAC;SACF;KACF,CAAC;IACF,YAAY,SAAiB,EAAE,OAAO,GAAG,KAAK;QAC5C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AA7ED,kCA6EC","sourcesContent":["import {ExecJSON} from 'inspecjs';\nimport * as _ from 'lodash';\nimport {version as HeimdallToolsVersion} from '../package.json';\nimport {\n BaseConverter,\n ILookupPath,\n impactMapping,\n MappedTransform\n} from './base-converter';\nimport {CweNistMapping} from './mappings/CweNistMapping';\n\nconst CWE_NIST_MAPPING = new CweNistMapping();\nconst DEFAULT_NIST_TAG = ['SI-2', 'RA-5'];\nconst IMPACT_MAPPING: Map<string, number> = new Map([\n ['high', 0.7],\n ['medium', 0.5],\n ['low', 0.3]\n]);\n\nfunction nistTag(input: Record<string, unknown>): string[] {\n const cwe = [`${_.get(input, 'id')}`];\n return CWE_NIST_MAPPING.nistFilter(cwe, DEFAULT_NIST_TAG);\n}\n\n// Check `nosec` and `suppressions` fields which denote whether the gosec rule violation should be suppressed/skipped\nfunction formatStatus(input: Record<string, unknown>): string {\n return `${_.get(input, 'nosec')}` === 'false' &&\n `${_.get(input, 'suppressions')}` === 'null'\n ? ExecJSON.ControlResultStatus.Failed\n : ExecJSON.ControlResultStatus.Skipped;\n}\n\n// If a gosec rule violation is suppressed, forward the given justification\nfunction formatSkipMessage(input: Record<string, unknown>): string | undefined {\n const suppressions = _.get(input, 'suppressions');\n\n // If test is not skipped\n if (`${suppressions}` === 'null') {\n return undefined;\n }\n\n // If test is skipped and there are no justifications, report that none are given\n if (!Array.isArray(suppressions)) {\n return 'No justification provided';\n }\n // otherwise, supply the justifications\n return suppressions\n .map(\n (suppression) =>\n `${suppression.justification ? suppression.justification : 'No justification provided'} (${suppression.kind})`\n )\n .join('\\n');\n}\n\n// Report gosec rule violation and violation location\nfunction formatCodeDesc(input: Record<string, unknown>): string {\n return `Rule ${_.get(input, 'rule_id')} violation detected at:\\nFile: ${_.get(input, 'file')}\\nLine: ${_.get(input, 'line')}\\nColumn: ${_.get(input, 'column')}`;\n}\n\n// Report confidence of violation and specific offending code\nfunction formatMessage(input: Record<string, unknown>): string {\n return `${_.get(input, 'confidence')} confidence of rule violation at:\\n${_.get(input, 'code')}`;\n}\n\nexport class GosecMapper extends BaseConverter {\n withRaw: boolean;\n\n mappings: MappedTransform<\n ExecJSON.Execution & {passthrough: unknown},\n ILookupPath\n > = {\n platform: {\n name: 'Heimdall Tools',\n release: HeimdallToolsVersion\n },\n version: HeimdallToolsVersion,\n statistics: {},\n profiles: [\n {\n name: 'gosec Scan',\n title: 'gosec Scan',\n version: {path: 'GosecVersion'},\n supports: [],\n attributes: [],\n groups: [],\n status: 'loaded',\n controls: [\n {\n path: 'Issues',\n key: 'id',\n tags: {\n nist: {\n path: 'cwe',\n transformer: nistTag\n },\n cwe: {path: 'cwe'}\n },\n refs: [],\n source_location: {},\n title: {path: 'details'},\n id: {path: 'rule_id'},\n desc: '',\n impact: {\n path: 'severity',\n transformer: impactMapping(IMPACT_MAPPING)\n },\n results: [\n {\n status: {transformer: formatStatus},\n skip_message: {transformer: formatSkipMessage},\n code_desc: {transformer: formatCodeDesc},\n message: {transformer: formatMessage},\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: 'gosec',\n data: {\n 'Golang errors': _.get(data, 'Golang errors'),\n Stats: _.get(data, 'Stats')\n }\n }\n ],\n ...(this.withRaw && {raw: data})\n };\n }\n }\n };\n constructor(gosecJson: string, withRaw = false) {\n super(JSON.parse(gosecJson));\n this.withRaw = withRaw;\n }\n}\n"]}
@@ -24,3 +24,4 @@ export declare class IonChannelMapper extends BaseConverter {
24
24
  }, ILookupPath>;
25
25
  constructor(ionchannelJson: string);
26
26
  }
27
+ //# sourceMappingURL=ionchannel-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ionchannel-mapper.d.ts","sourceRoot":"","sources":["../../src/ionchannel-mapper.ts"],"names":[],"mappings":"AAAA,OAAc,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAGlC,OAAO,EAGL,0BAA0B,EAE3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAC,OAAO,EAAC,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAC,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAgG7E,qBAAa,mBAAmB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,SAAS,EAAE,aAAa,CAAC;gBAGvB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM;IAcf,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAMpC,OAAO,CAAC,QAAQ,EAAE,MAAM;IAexB,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAS3B,UAAU,CAAC,WAAW,EAAE,MAAM;IAgB9B,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAgBjC,WAAW,IAAI,OAAO,CAAC,0BAA0B,CAAC;CAuBzD;AAED,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,QAAQ,EAAE,eAAe,CACvB,QAAQ,CAAC,SAAS,GAAG;QAAC,WAAW,EAAE,OAAO,CAAA;KAAC,EAC3C,WAAW,CACZ,CA6GC;gBAEU,cAAc,EAAE,MAAM;CAGnC"}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -32,6 +42,7 @@ const _ = __importStar(require("lodash"));
32
42
  const package_json_1 = require("../package.json");
33
43
  const base_converter_1 = require("./base-converter");
34
44
  const global_1 = require("./utils/global");
45
+ // Extracts all levels of dependencies from any dependency (including sub-dependencies)
35
46
  function extractAllDependencies(dependency) {
36
47
  const result = [];
37
48
  result.push({
@@ -49,18 +60,18 @@ function preprocessIonChannelData(ionchannelData) {
49
60
  const result = {
50
61
  metadata: {},
51
62
  scans: {
52
- vulnerability: [],
63
+ vulnerability: [], // Not Implemented yet
53
64
  dependency: {
54
65
  dependencies: [],
55
- contextualizedDependencies: []
66
+ contextualizedDependencies: [] // Dependencies with their parent info
56
67
  },
57
- ecosystems: [],
58
- community: [],
59
- buildsystems: [],
60
- virus: [],
61
- license: [],
62
- difference: [],
63
- about_yml: []
68
+ ecosystems: [], // Not Implemented yet
69
+ community: [], // Not Implemented yet
70
+ buildsystems: [], // Not Implemented yet
71
+ virus: [], // Not Implemented yet
72
+ license: [], // Not Implemented yet
73
+ difference: [], // Not Implemented yet
74
+ about_yml: [] // Not Implemented yet
64
75
  }
65
76
  };
66
77
  const parsed = JSON.parse(ionchannelData);
@@ -78,17 +89,20 @@ function preprocessIonChannelData(ionchannelData) {
78
89
  result.scans.dependency.dependencies =
79
90
  scanSummary.results.data.dependencies;
80
91
  break;
92
+ // We only care about dependencies at the moment
81
93
  default:
82
94
  break;
83
95
  }
84
96
  });
85
97
  const dependencyGraph = {};
98
+ // Flatten dependency tree
86
99
  result.scans.dependency.dependencies.forEach((topLevelDependency) => {
87
100
  const flatDependencies = extractAllDependencies(topLevelDependency);
88
101
  flatDependencies.forEach((dependency) => {
89
102
  dependencyGraph[`${dependency.org}/${dependency.name}`] = dependency;
90
103
  });
91
104
  });
105
+ // Associate dependencies with each-other
92
106
  Object.entries(dependencyGraph).forEach(([, dependency]) => {
93
107
  if (Array.isArray(dependency.dependencies)) {
94
108
  dependency.dependencies.forEach((subDependency) => {
@@ -102,6 +116,11 @@ function preprocessIonChannelData(ionchannelData) {
102
116
  return result;
103
117
  }
104
118
  class IonChannelAPIMapper {
119
+ apiKey;
120
+ projectId;
121
+ teamId;
122
+ analysisId;
123
+ apiClient;
105
124
  constructor(apiKey, projectId, teamId, analysisId) {
106
125
  this.apiKey = apiKey;
107
126
  this.projectId = projectId;
@@ -188,103 +207,104 @@ class IonChannelAPIMapper {
188
207
  }
189
208
  exports.IonChannelAPIMapper = IonChannelAPIMapper;
190
209
  class IonChannelMapper extends base_converter_1.BaseConverter {
191
- constructor(ionchannelJson) {
192
- super(preprocessIonChannelData(ionchannelJson));
193
- this.mappings = {
194
- platform: {
195
- name: 'Heimdall Tools',
196
- release: package_json_1.version,
197
- target_id: { path: 'metadata.project_id' }
198
- },
199
- passthrough: {
200
- ionchannel_metadata: {
201
- path: 'metadata'
202
- }
203
- },
204
- version: package_json_1.version,
205
- statistics: {
206
- duration: null
207
- },
208
- profiles: [
209
- {
210
- name: 'IonChannel SBOM Analysis',
211
- version: '',
212
- title: {
213
- path: 'metadata.source',
214
- transformer: (source) => `IonChannel Analysis of ${source}`
215
- },
216
- maintainer: 'saf@groups.mitre.org',
217
- summary: '',
218
- license: null,
219
- copyright: null,
220
- copyright_email: null,
221
- supports: [],
222
- attributes: [],
223
- depends: [],
224
- groups: [],
225
- status: 'loaded',
226
- controls: [
227
- {
228
- path: 'scans.dependency.contextualizedDependencies',
229
- key: 'id',
230
- tags: {
231
- transformer: (dependency) => {
232
- return Array.isArray(dependency.dependencies)
233
- ? {
234
- ..._.omit(dependency, 'dependencies'),
235
- nist: global_1.DEFAULT_INFORMATION_SYSTEM_COMPONENT_MANAGEMENT_NIST_TAGS,
236
- cci: (0, global_1.getCCIsForNISTTags)(global_1.DEFAULT_INFORMATION_SYSTEM_COMPONENT_MANAGEMENT_NIST_TAGS),
237
- dependencies: dependency.dependencies.map((subDependency) => `${subDependency.name}`)
238
- }
239
- : {
240
- ..._.omit(dependency, 'dependencies'),
241
- nist: global_1.DEFAULT_INFORMATION_SYSTEM_COMPONENT_MANAGEMENT_NIST_TAGS,
242
- cci: (0, global_1.getCCIsForNISTTags)(global_1.DEFAULT_INFORMATION_SYSTEM_COMPONENT_MANAGEMENT_NIST_TAGS)
243
- };
244
- }
245
- },
246
- descriptions: [],
247
- refs: [],
248
- source_location: {},
249
- title: {
250
- transformer: (dependency) => {
251
- if (dependency.type === 'pypi' &&
252
- dependency.package === 'egg' &&
253
- dependency.name === '-e') {
254
- return `Python requirements file ${dependency.file}`;
255
- }
256
- let title = `Dependency ${dependency.name} `;
257
- if (dependency.org && dependency.org.toLowerCase() !== 'n/a') {
258
- title += `from ${dependency.org} `;
259
- }
260
- if (dependency.version &&
261
- dependency.version.toLowerCase() !== 'n/a') {
262
- title += `@ ${dependency.version} `;
263
- }
264
- if (dependency.requirement &&
265
- dependency.requirement.toLowerCase() !== 'n/a') {
266
- title += `(Required ${dependency.requirement}) `;
210
+ mappings = {
211
+ platform: {
212
+ name: 'Heimdall Tools',
213
+ release: package_json_1.version,
214
+ target_id: { path: 'metadata.project_id' }
215
+ },
216
+ passthrough: {
217
+ ionchannel_metadata: {
218
+ path: 'metadata'
219
+ }
220
+ },
221
+ version: package_json_1.version,
222
+ statistics: {
223
+ duration: null
224
+ },
225
+ profiles: [
226
+ {
227
+ name: 'IonChannel SBOM Analysis',
228
+ version: '',
229
+ title: {
230
+ path: 'metadata.source',
231
+ transformer: (source) => `IonChannel Analysis of ${source}`
232
+ },
233
+ maintainer: 'saf@groups.mitre.org',
234
+ summary: '',
235
+ license: null,
236
+ copyright: null,
237
+ copyright_email: null,
238
+ supports: [],
239
+ attributes: [],
240
+ depends: [],
241
+ groups: [],
242
+ status: 'loaded',
243
+ controls: [
244
+ {
245
+ path: 'scans.dependency.contextualizedDependencies',
246
+ key: 'id',
247
+ tags: {
248
+ transformer: (dependency) => {
249
+ return Array.isArray(dependency.dependencies)
250
+ ? {
251
+ ..._.omit(dependency, 'dependencies'),
252
+ nist: global_1.DEFAULT_INFORMATION_SYSTEM_COMPONENT_MANAGEMENT_NIST_TAGS,
253
+ cci: (0, global_1.getCCIsForNISTTags)(global_1.DEFAULT_INFORMATION_SYSTEM_COMPONENT_MANAGEMENT_NIST_TAGS),
254
+ dependencies: dependency.dependencies.map((subDependency) => `${subDependency.name}`)
267
255
  }
268
- return title.trim();
256
+ : {
257
+ ..._.omit(dependency, 'dependencies'),
258
+ nist: global_1.DEFAULT_INFORMATION_SYSTEM_COMPONENT_MANAGEMENT_NIST_TAGS,
259
+ cci: (0, global_1.getCCIsForNISTTags)(global_1.DEFAULT_INFORMATION_SYSTEM_COMPONENT_MANAGEMENT_NIST_TAGS)
260
+ };
261
+ }
262
+ },
263
+ descriptions: [],
264
+ refs: [],
265
+ source_location: {},
266
+ title: {
267
+ transformer: (dependency) => {
268
+ // Specific to Python requirements, commonly called requirements.txt or requirements_dev.txt
269
+ if (dependency.type === 'pypi' &&
270
+ dependency.package === 'egg' &&
271
+ dependency.name === '-e') {
272
+ return `Python requirements file ${dependency.file}`;
269
273
  }
270
- },
271
- id: {
272
- transformer: (dependency) => {
273
- return `dependency-${dependency.org}/${dependency.name}`;
274
+ let title = `Dependency ${dependency.name} `;
275
+ if (dependency.org && dependency.org.toLowerCase() !== 'n/a') {
276
+ title += `from ${dependency.org} `;
274
277
  }
275
- },
276
- desc: '',
277
- impact: 0.0,
278
- code: {
279
- transformer: (dependency) => JSON.stringify(dependency, null, 2)
280
- },
281
- results: []
282
- }
283
- ],
284
- sha256: ''
285
- }
286
- ]
287
- };
278
+ if (dependency.version &&
279
+ dependency.version.toLowerCase() !== 'n/a') {
280
+ title += `@ ${dependency.version} `;
281
+ }
282
+ if (dependency.requirement &&
283
+ dependency.requirement.toLowerCase() !== 'n/a') {
284
+ title += `(Required ${dependency.requirement}) `;
285
+ }
286
+ return title.trim();
287
+ }
288
+ },
289
+ id: {
290
+ transformer: (dependency) => {
291
+ return `dependency-${dependency.org}/${dependency.name}`;
292
+ }
293
+ },
294
+ desc: '',
295
+ impact: 0.0,
296
+ code: {
297
+ transformer: (dependency) => JSON.stringify(dependency, null, 2)
298
+ },
299
+ results: []
300
+ }
301
+ ],
302
+ sha256: ''
303
+ }
304
+ ]
305
+ };
306
+ constructor(ionchannelJson) {
307
+ super(preprocessIonChannelData(ionchannelJson));
288
308
  }
289
309
  }
290
310
  exports.IonChannelMapper = IonChannelMapper;