@mitre/hdf-converters 2.7.0 → 2.7.2

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 (98) hide show
  1. package/README.md +21 -20
  2. package/lib/data/converters/xml2json.js +25 -2
  3. package/lib/data/converters/xml2json.js.map +1 -1
  4. package/lib/data/converters/xml2json.ts +1 -1
  5. package/lib/index.d.ts +1 -0
  6. package/lib/index.js +1 -0
  7. package/lib/index.js.map +1 -1
  8. package/lib/package.json +3 -3
  9. package/lib/src/asff-mapper/asff-mapper.js +78 -58
  10. package/lib/src/asff-mapper/asff-mapper.js.map +1 -1
  11. package/lib/src/asff-mapper/case-cms-inspec.js +29 -9
  12. package/lib/src/asff-mapper/case-cms-inspec.js.map +1 -1
  13. package/lib/src/asff-mapper/case-firewall-manager.js +25 -5
  14. package/lib/src/asff-mapper/case-firewall-manager.js.map +1 -1
  15. package/lib/src/asff-mapper/case-guardduty.js +24 -4
  16. package/lib/src/asff-mapper/case-guardduty.js.map +1 -1
  17. package/lib/src/asff-mapper/case-inspector.js +24 -4
  18. package/lib/src/asff-mapper/case-inspector.js.map +1 -1
  19. package/lib/src/asff-mapper/case-previously-hdf.js +81 -61
  20. package/lib/src/asff-mapper/case-previously-hdf.js.map +1 -1
  21. package/lib/src/asff-mapper/case-prowler.js +26 -6
  22. package/lib/src/asff-mapper/case-prowler.js.map +1 -1
  23. package/lib/src/asff-mapper/case-security-hub.js +44 -24
  24. package/lib/src/asff-mapper/case-security-hub.js.map +1 -1
  25. package/lib/src/asff-mapper/case-trivy.js +30 -10
  26. package/lib/src/asff-mapper/case-trivy.js.map +1 -1
  27. package/lib/src/aws-config-mapper.js +31 -8
  28. package/lib/src/aws-config-mapper.js.map +1 -1
  29. package/lib/src/base-converter.js +35 -35
  30. package/lib/src/base-converter.js.map +1 -1
  31. package/lib/src/burpsuite-mapper.js +31 -11
  32. package/lib/src/burpsuite-mapper.js.map +1 -1
  33. package/lib/src/ckl-mapper/checklist-jsonix-converter.js +47 -27
  34. package/lib/src/ckl-mapper/checklist-jsonix-converter.js.map +1 -1
  35. package/lib/src/ckl-mapper/checklist-mapper.js +2 -5
  36. package/lib/src/ckl-mapper/checklist-mapper.js.map +1 -1
  37. package/lib/src/converters-from-hdf/asff/reverse-asff-mapper.js +26 -6
  38. package/lib/src/converters-from-hdf/asff/reverse-asff-mapper.js.map +1 -1
  39. package/lib/src/converters-from-hdf/asff/transformers.js +42 -19
  40. package/lib/src/converters-from-hdf/asff/transformers.js.map +1 -1
  41. package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.d.ts +31 -0
  42. package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.js +200 -0
  43. package/lib/src/converters-from-hdf/caat/reverse-caat-mapper.js.map +1 -0
  44. package/lib/src/converters-from-hdf/reverse-base-converter.js +29 -9
  45. package/lib/src/converters-from-hdf/reverse-base-converter.js.map +1 -1
  46. package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.d.ts +0 -1
  47. package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.js +29 -16
  48. package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.js.map +1 -1
  49. package/lib/src/converters-from-hdf/xccdf/reverse-xccdf-mapper.js +25 -2
  50. package/lib/src/converters-from-hdf/xccdf/reverse-xccdf-mapper.js.map +1 -1
  51. package/lib/src/conveyor-mapper.js +52 -32
  52. package/lib/src/conveyor-mapper.js.map +1 -1
  53. package/lib/src/dbprotect-mapper.js +36 -16
  54. package/lib/src/dbprotect-mapper.js.map +1 -1
  55. package/lib/src/fortify-mapper.js +50 -30
  56. package/lib/src/fortify-mapper.js.map +1 -1
  57. package/lib/src/gosec-mapper.js +26 -6
  58. package/lib/src/gosec-mapper.js.map +1 -1
  59. package/lib/src/ionchannel-mapper.js +28 -5
  60. package/lib/src/ionchannel-mapper.js.map +1 -1
  61. package/lib/src/jfrog-xray-mapper.js +41 -21
  62. package/lib/src/jfrog-xray-mapper.js.map +1 -1
  63. package/lib/src/mappings/AwsConfigMapping.js +24 -4
  64. package/lib/src/mappings/AwsConfigMapping.js.map +1 -1
  65. package/lib/src/nessus-mapper.js +70 -50
  66. package/lib/src/nessus-mapper.js.map +1 -1
  67. package/lib/src/netsparker-mapper.js +49 -29
  68. package/lib/src/netsparker-mapper.js.map +1 -1
  69. package/lib/src/nikto-mapper.js +26 -6
  70. package/lib/src/nikto-mapper.js.map +1 -1
  71. package/lib/src/prisma-mapper.js +24 -4
  72. package/lib/src/prisma-mapper.js.map +1 -1
  73. package/lib/src/sarif-mapper.js +32 -12
  74. package/lib/src/sarif-mapper.js.map +1 -1
  75. package/lib/src/scoutsuite-mapper.js +39 -19
  76. package/lib/src/scoutsuite-mapper.js.map +1 -1
  77. package/lib/src/snyk-mapper.js +27 -7
  78. package/lib/src/snyk-mapper.js.map +1 -1
  79. package/lib/src/splunk-mapper.js +29 -6
  80. package/lib/src/splunk-mapper.js.map +1 -1
  81. package/lib/src/twistlock-mapper.js +43 -23
  82. package/lib/src/twistlock-mapper.js.map +1 -1
  83. package/lib/src/utils/attestations.js +31 -8
  84. package/lib/src/utils/attestations.js.map +1 -1
  85. package/lib/src/utils/fingerprinting.js +27 -7
  86. package/lib/src/utils/fingerprinting.js.map +1 -1
  87. package/lib/src/utils/global.d.ts +2 -1
  88. package/lib/src/utils/global.js +35 -5
  89. package/lib/src/utils/global.js.map +1 -1
  90. package/lib/src/utils/splunk-tools.js +26 -3
  91. package/lib/src/utils/splunk-tools.js.map +1 -1
  92. package/lib/src/veracode-mapper.js +84 -64
  93. package/lib/src/veracode-mapper.js.map +1 -1
  94. package/lib/src/xccdf-results-mapper.js +69 -49
  95. package/lib/src/xccdf-results-mapper.js.map +1 -1
  96. package/lib/src/zap-mapper.js +39 -19
  97. package/lib/src/zap-mapper.js.map +1 -1
  98. package/package.json +3 -3
package/README.md CHANGED
@@ -2,31 +2,32 @@
2
2
 
3
3
  "[Heimdall Data Format (HDF)](https://saf.mitre.org/#/normalize)" is our common data exchange format to preserve and transform security data.
4
4
 
5
- HDF Converters supplies several methods to convert various types of security tool data to and from this HDF standard. HDF Converters can be used in a variety of tools, and is currently well integrated with Heimdall itself, and the [SAF CLI](https://github.com/mitre/saf).
5
+ HDF Converters supplies several methods to convert various types of security tool data to and from the HDF standard. HDF Converters can be used in a variety of tools, and is currently well integrated with Heimdall itself, and the [SAF CLI](https://github.com/mitre/saf).
6
6
 
7
7
  ## Supported Formats
8
8
  1. [**asff-mapper**] - AWS Security Finding Format JSON file, Prowler-derived AWS Security Finding Format results from concatenated JSON blobs, and Trivy-derived AWS Security Finding Format results from concatenated JSON blobs
9
9
  2. [**aws-config-mapper**] - AWS Config
10
10
  3. [**burpsuite-mapper**] - BurpSuite Pro XML file
11
- 4. [**checklist-mapper**] - Checlist Mapper format
12
- 5. [**conveyor-mapper**] - Conveyor JSON file
13
- 6. [**dbprotect-mapper**] - DBProtect report in "Check Results Details" XML format
14
- 7. [**fortify-mapper**] - Fortify results FVDL file
15
- 8. [**ionchannel-mapper**] - SBOM data from Ion Channel
16
- 9. [**jfrog-xray-mapper**] - JFrog Xray results JSON file
17
- 10. [**nessus-mapper**] - Nessus XML results file
18
- 11. [**netsparker-mapper**] - Netsparker XML results file
19
- 12. [**nikto-mapper**] - Nikto results JSON file
20
- 13. [**prisma-mapper**] - Prisma Cloud Scan Report CSV file
21
- 14. [**sarif-mapper**] - SARIF JSON file
22
- 15. [**scoutsuite-mapper**] - ScoutSuite results from a Javascript object
23
- 16. [**snyk-mapper**] - Snyk results JSON file
24
- 17. [**sonarqube-mapper**] - SonarQube vulnerabilities for the specified project name and optional branch or pull/merge request ID name from an API
25
- 18. [**splunk-mapper**] - Splunk instance
26
- 19. [**twistlock-mapper**] - Twistlock CLI output file
27
- 20. [**veracode-mapper**] - Veracode Scan Results XML file
28
- 21. [**xccdf-results-mapper**] - SCAP client XCCDF-Results XML report
29
- 22. [**zap-mapper**] - OWASP ZAP results JSON
11
+ 4. [**caat-mapper**] - Compliance Assessment and Audit Tracking (CAAT) file
12
+ 5. [**checklist-mapper**] - Checlist Mapper format
13
+ 6. [**conveyor-mapper**] - Conveyor JSON file
14
+ 7. [**dbprotect-mapper**] - DBProtect report in "Check Results Details" XML format
15
+ 8. [**fortify-mapper**] - Fortify results FVDL file
16
+ 9. [**ionchannel-mapper**] - SBOM data from Ion Channel
17
+ 10. [**jfrog-xray-mapper**] - JFrog Xray results JSON file
18
+ 11. [**nessus-mapper**] - Nessus XML results file
19
+ 12. [**netsparker-mapper**] - Netsparker XML results file
20
+ 13. [**nikto-mapper**] - Nikto results JSON file
21
+ 14. [**prisma-mapper**] - Prisma Cloud Scan Report CSV file
22
+ 15. [**sarif-mapper**] - SARIF JSON file
23
+ 16. [**scoutsuite-mapper**] - ScoutSuite results from a Javascript object
24
+ 17. [**snyk-mapper**] - Snyk results JSON file
25
+ 18. [**sonarqube-mapper**] - SonarQube vulnerabilities for the specified project name and optional branch or pull/merge request ID name from an API
26
+ 19. [**splunk-mapper**] - Splunk instance
27
+ 20. [**twistlock-mapper**] - Twistlock CLI output file
28
+ 21. [**veracode-mapper**] - Veracode Scan Results XML file
29
+ 22. [**xccdf-results-mapper**] - SCAP client XCCDF-Results XML report
30
+ 23. [**zap-mapper**] - OWASP ZAP results JSON
30
31
 
31
32
  ### NOTICE
32
33
 
@@ -1,10 +1,33 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
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
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
5
28
  Object.defineProperty(exports, "__esModule", { value: true });
6
29
  const fs_1 = __importDefault(require("fs"));
7
- const lodash_1 = __importDefault(require("lodash"));
30
+ const _ = __importStar(require("lodash"));
8
31
  const xml2js_1 = __importDefault(require("xml2js"));
9
32
  const parser = new xml2js_1.default.Parser();
10
33
  const pathToInfile = process.argv[2];
@@ -25,7 +48,7 @@ else {
25
48
  else {
26
49
  const result = {};
27
50
  converted.cci_list.cci_items[0].cci_item.forEach((cciItem) => {
28
- const newestReference = lodash_1.default.maxBy(cciItem.references[0].reference, (item) => lodash_1.default.get(item, '$.version'));
51
+ const newestReference = _.maxBy(cciItem.references[0].reference, (item) => _.get(item, '$.version'));
29
52
  if (newestReference) {
30
53
  result[cciItem.$.id] = newestReference.$.index;
31
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xml2json.js","sourceRoot":"","sources":["../../../data/converters/xml2json.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,oDAAuB;AACvB,oDAA4B;AAE5B,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,MAAM,EAAE,CAAC;AACnC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrC,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAkBtC,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE;IACnC,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;CAC7E;KAAM;IACL,YAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,aAAa,EAAE,IAAI;QACrD,IAAI,aAAa,EAAE;YACjB,OAAO,CAAC,KAAK,CAAC,kBAAkB,YAAY,KAAK,aAAa,EAAE,CAAC,CAAC;SACnE;aAAM;YAEL,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,cAAmB,EAAE,SAAmB,EAAE,EAAE;gBACpE,IAAI,cAAc,EAAE;oBAClB,OAAO,CAAC,KAAK,CAAC,mBAAmB,YAAY,KAAK,cAAc,EAAE,CAAC,CAAC;iBACrE;qBAAM;oBAEL,MAAM,MAAM,GAA2B,EAAE,CAAC;oBAE1C,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;wBAE3D,MAAM,eAAe,GAAG,gBAAC,CAAC,KAAK,CAC7B,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAC/B,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAC,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CACnC,CAAC;wBACF,IAAI,eAAe,EAAE;4BACnB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;yBAChD;6BAAM;4BACL,OAAO,CAAC,KAAK,CAAC,8BAA8B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;yBAC7D;oBACH,CAAC,CAAC,CAAC;oBACH,YAAE,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;iBACzD;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;CACJ"}
1
+ {"version":3,"file":"xml2json.js","sourceRoot":"","sources":["../../../data/converters/xml2json.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,0CAA4B;AAC5B,oDAA4B;AAE5B,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC,MAAM,EAAE,CAAC;AACnC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrC,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAkBtC,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE;IACnC,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;CAC7E;KAAM;IACL,YAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,aAAa,EAAE,IAAI;QACrD,IAAI,aAAa,EAAE;YACjB,OAAO,CAAC,KAAK,CAAC,kBAAkB,YAAY,KAAK,aAAa,EAAE,CAAC,CAAC;SACnE;aAAM;YAEL,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,cAAmB,EAAE,SAAmB,EAAE,EAAE;gBACpE,IAAI,cAAc,EAAE;oBAClB,OAAO,CAAC,KAAK,CAAC,mBAAmB,YAAY,KAAK,cAAc,EAAE,CAAC,CAAC;iBACrE;qBAAM;oBAEL,MAAM,MAAM,GAA2B,EAAE,CAAC;oBAE1C,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;wBAE3D,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAC7B,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,EAC/B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CACnC,CAAC;wBACF,IAAI,eAAe,EAAE;4BACnB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;yBAChD;6BAAM;4BACL,OAAO,CAAC,KAAK,CAAC,8BAA8B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;yBAC7D;oBACH,CAAC,CAAC,CAAC;oBACH,YAAE,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;iBACzD;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;CACJ"}
@@ -1,5 +1,5 @@
1
1
  import fs from 'fs';
2
- import _ from 'lodash';
2
+ import * as _ from 'lodash';
3
3
  import xml2js from 'xml2js';
4
4
 
5
5
  const parser = new xml2js.Parser();
package/lib/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from './src/aws-config-mapper';
3
3
  export * from './src/burpsuite-mapper';
4
4
  export * from './src/ckl-mapper/checklist-mapper';
5
5
  export * from './src/converters-from-hdf/asff/reverse-asff-mapper';
6
+ export * from './src/converters-from-hdf/caat/reverse-caat-mapper';
6
7
  export * from './src/converters-from-hdf/splunk/reverse-splunk-mapper';
7
8
  export * from './src/converters-from-hdf/xccdf/reverse-xccdf-mapper';
8
9
  export * from './src/conveyor-mapper';
package/lib/index.js CHANGED
@@ -33,6 +33,7 @@ __exportStar(require("./src/aws-config-mapper"), exports);
33
33
  __exportStar(require("./src/burpsuite-mapper"), exports);
34
34
  __exportStar(require("./src/ckl-mapper/checklist-mapper"), exports);
35
35
  __exportStar(require("./src/converters-from-hdf/asff/reverse-asff-mapper"), exports);
36
+ __exportStar(require("./src/converters-from-hdf/caat/reverse-caat-mapper"), exports);
36
37
  __exportStar(require("./src/converters-from-hdf/splunk/reverse-splunk-mapper"), exports);
37
38
  __exportStar(require("./src/converters-from-hdf/xccdf/reverse-xccdf-mapper"), exports);
38
39
  __exportStar(require("./src/conveyor-mapper"), exports);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA0D;AAAlD,0GAAA,WAAW,OAAA;AACnB,0DAAwC;AACxC,yDAAuC;AACvC,oEAAkD;AAClD,qFAAmE;AACnE,yFAAuE;AACvE,uFAAqE;AACrE,wDAAsC;AACtC,yDAAuC;AACvC,uDAAqC;AACrC,qDAAmC;AACnC,0DAAwC;AACxC,0DAAwC;AACxC,4FAA4E;AAC5E,wFAAwE;AACxE,wFAAwE;AACxE,0GAA0F;AAC1F,4FAA4E;AAC5E,wFAAwE;AACxE,4FAA4E;AAC5E,sGAAsF;AACtF,sDAAoC;AACpC,0DAAwC;AACxC,qDAAmC;AACnC,sDAAoC;AACpC,qDAAmC;AACnC,0DAAwC;AACxC,oDAAkC;AAClC,yDAAuC;AACvC,sDAAoC;AACpC,yDAAuC;AACvC,2DAAyC;AACzC,6DAA2C;AAC3C,wDAAsC;AACtC,6DAA2C;AAC3C,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA0D;AAAlD,0GAAA,WAAW,OAAA;AACnB,0DAAwC;AACxC,yDAAuC;AACvC,oEAAkD;AAClD,qFAAmE;AACnE,qFAAmE;AACnE,yFAAuE;AACvE,uFAAqE;AACrE,wDAAsC;AACtC,yDAAuC;AACvC,uDAAqC;AACrC,qDAAmC;AACnC,0DAAwC;AACxC,0DAAwC;AACxC,4FAA4E;AAC5E,wFAAwE;AACxE,wFAAwE;AACxE,0GAA0F;AAC1F,4FAA4E;AAC5E,wFAAwE;AACxE,4FAA4E;AAC5E,sGAAsF;AACtF,sDAAoC;AACpC,0DAAwC;AACxC,qDAAmC;AACnC,sDAAoC;AACpC,qDAAmC;AACnC,0DAAwC;AACxC,oDAAkC;AAClC,yDAAuC;AACvC,sDAAoC;AACpC,yDAAuC;AACvC,2DAAyC;AACzC,6DAA2C;AAC3C,wDAAsC;AACtC,6DAA2C;AAC3C,mDAAiC"}
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mitre/hdf-converters",
3
- "version": "2.7.0",
3
+ "version": "2.7.2",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Converter util library used to transform various scan results into HDF format",
6
6
  "files": [
@@ -26,6 +26,7 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@aws-sdk/client-config-service": "^3.95.0",
29
+ "@e965/xlsx": "^0.20.0",
29
30
  "@mitre/jsonix": "^3.0.6",
30
31
  "@types/csv2json": "^1.4.2",
31
32
  "@types/ms": "^0.7.31",
@@ -40,7 +41,7 @@
40
41
  "fast-xml-parser": "^4.2.0",
41
42
  "html-entities": "^2.3.2",
42
43
  "htmlparser2": "^6.1.0",
43
- "inspecjs": "^2.6.58",
44
+ "inspecjs": "^2.7.2",
44
45
  "lodash": "^4.17.21",
45
46
  "moment": "^2.29.1",
46
47
  "ms": "^2.1.3",
@@ -48,7 +49,6 @@
48
49
  "papaparse": "^5.3.1",
49
50
  "run-script-os": "^1.1.6",
50
51
  "winston": "^3.6.0",
51
- "xlsx": "^0.18.5",
52
52
  "xml2js": "^0.6.0",
53
53
  "yaml": "^2.1.1"
54
54
  },
@@ -1,13 +1,33 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
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;
4
24
  };
5
25
  Object.defineProperty(exports, "__esModule", { value: true });
6
26
  exports.ASFFResults = exports.ASFFMapper = exports.consolidate = exports.SpecialCasing = void 0;
7
27
  const compare_versions_1 = require("compare-versions");
8
28
  const html_entities_1 = require("html-entities");
9
29
  const inspecjs_1 = require("inspecjs");
10
- const lodash_1 = __importDefault(require("lodash"));
30
+ const _ = __importStar(require("lodash"));
11
31
  const package_json_1 = require("../../package.json");
12
32
  const base_converter_1 = require("../base-converter");
13
33
  const global_1 = require("../utils/global");
@@ -41,9 +61,9 @@ var SpecialCasing;
41
61
  SpecialCasing["Default"] = "Default";
42
62
  })(SpecialCasing = exports.SpecialCasing || (exports.SpecialCasing = {}));
43
63
  function whichSpecialCase(finding) {
44
- const productArn = lodash_1.default.get(finding, 'ProductArn');
45
- if (lodash_1.default.get(finding, 'ProductName') === 'Default' &&
46
- lodash_1.default.get(finding, 'GeneratorId') === 'cms.Chef Inspec') {
64
+ const productArn = _.get(finding, 'ProductArn');
65
+ if (_.get(finding, 'ProductName') === 'Default' &&
66
+ _.get(finding, 'GeneratorId') === 'cms.Chef Inspec') {
47
67
  return SpecialCasing.CMSInSpec;
48
68
  }
49
69
  else if (productArn.match(/^arn:[^:]+:securityhub:[^:]+:[^:]*:product\/aws\/firewall-manager$/)) {
@@ -52,9 +72,9 @@ function whichSpecialCase(finding) {
52
72
  else if (productArn.match(/^arn:[^:]+:securityhub:[^:]+:[^:]*:product\/aws\/guardduty$/)) {
53
73
  return SpecialCasing.GuardDuty;
54
74
  }
55
- else if (lodash_1.default.some(lodash_1.default.get(finding, 'FindingProviderFields.Types'), (type) => {
75
+ else if (_.some(_.get(finding, 'FindingProviderFields.Types'), (type) => {
56
76
  var _a, _b;
57
- if (!lodash_1.default.startsWith(type, 'MITRE/SAF/')) {
77
+ if (!_.startsWith(type, 'MITRE/SAF/')) {
58
78
  return false;
59
79
  }
60
80
  const version = (_b = (_a = type.split('/').pop()) === null || _a === void 0 ? void 0 : _a.split('-')[0]) !== null && _b !== void 0 ? _b : '';
@@ -91,12 +111,12 @@ const SPECIAL_CASE_MAPPING = new Map([
91
111
  function externalProductHandler(context, product, data, func, defaultVal) {
92
112
  var _a;
93
113
  if (product !== SpecialCasing.Default &&
94
- lodash_1.default.has(SPECIAL_CASE_MAPPING.get(product), func)) {
114
+ _.has(SPECIAL_CASE_MAPPING.get(product), func)) {
95
115
  let keywords = {};
96
116
  if (context.supportingDocs.has(product)) {
97
117
  keywords = { ...context.supportingDocs.get(product) };
98
118
  }
99
- return (_a = lodash_1.default.get(SPECIAL_CASE_MAPPING.get(product), func)) === null || _a === void 0 ? void 0 : _a.apply(context, [
119
+ return (_a = _.get(SPECIAL_CASE_MAPPING.get(product), func)) === null || _a === void 0 ? void 0 : _a.apply(context, [
100
120
  data,
101
121
  keywords
102
122
  ]);
@@ -114,7 +134,7 @@ function handleIdGroup(context, idGroup) {
114
134
  const [id, data] = idGroup;
115
135
  const group = data.map((d) => d[0]);
116
136
  const findings = data.map((d) => d[1]);
117
- const productInfo = lodash_1.default.get(findings[0], 'ProductArn')
137
+ const productInfo = _.get(findings[0], 'ProductArn')
118
138
  .split(':')
119
139
  .slice(-1)[0]
120
140
  .split('/');
@@ -123,19 +143,19 @@ function handleIdGroup(context, idGroup) {
123
143
  const waiverData = externalProductHandler(context, whichSpecialCase(findings[0]), group, 'waiverData', {});
124
144
  return {
125
145
  id: id,
126
- title: `${titlePrefix}${lodash_1.default.uniq(group.map((d) => d.title)).join(';')}`,
127
- tags: lodash_1.default.mergeWith({}, ...group.map((d) => d.tags), (acc, cur) => {
146
+ title: `${titlePrefix}${_.uniq(group.map((d) => d.title)).join(';')}`,
147
+ tags: _.mergeWith({}, ...group.map((d) => d.tags), (acc, cur) => {
128
148
  if (acc === undefined || cur === undefined) {
129
149
  return acc || cur;
130
150
  }
131
151
  else {
132
152
  return Array.isArray(acc) || Array.isArray(cur)
133
- ? lodash_1.default.uniq(lodash_1.default.concat([], acc, cur))
153
+ ? _.uniq(_.concat([], acc, cur))
134
154
  : acc;
135
155
  }
136
156
  }),
137
157
  impact: Math.max(...group.map((d) => d.impact)),
138
- desc: externalProductHandler(context, whichSpecialCase(findings[0]), group, 'desc', lodash_1.default.uniq(group.map((d) => d.desc)).join('\n')),
158
+ desc: externalProductHandler(context, whichSpecialCase(findings[0]), group, 'desc', _.uniq(group.map((d) => d.desc)).join('\n')),
139
159
  descriptions: group
140
160
  .map((d) => d.descriptions)
141
161
  .flat()
@@ -146,9 +166,9 @@ function handleIdGroup(context, idGroup) {
146
166
  refs: group
147
167
  .map((d) => d.refs)
148
168
  .flat()
149
- .filter((element) => lodash_1.default.get(element, 'url') !== undefined),
169
+ .filter((element) => _.get(element, 'url') !== undefined),
150
170
  source_location: (() => {
151
- const locs = lodash_1.default.uniq(group.map((d) => d.source_location)).filter((loc) => Object.keys(loc || {}).length !== 0);
171
+ const locs = _.uniq(group.map((d) => d.source_location)).filter((loc) => Object.keys(loc || {}).length !== 0);
152
172
  if (locs.length === 0) {
153
173
  return {};
154
174
  }
@@ -167,19 +187,19 @@ function handleIdGroup(context, idGroup) {
167
187
  };
168
188
  }
169
189
  function consolidate(context, input, file) {
170
- const allFindings = lodash_1.default.get(file, 'Findings');
190
+ const allFindings = _.get(file, 'Findings');
171
191
  if (input.length !== allFindings.length) {
172
192
  throw new Error('The number of generated controls should be the same as the number of findings while consolidating.');
173
193
  }
174
- const idGroups = lodash_1.default.groupBy(lodash_1.default.zip(input, allFindings), (value) => {
194
+ const idGroups = _.groupBy(_.zip(input, allFindings), (value) => {
175
195
  const [hdfControl, asffFinding] = value;
176
- return externalProductHandler(context, whichSpecialCase(asffFinding), asffFinding, 'subfindingsId', lodash_1.default.get(hdfControl, 'id'));
196
+ return externalProductHandler(context, whichSpecialCase(asffFinding), asffFinding, 'subfindingsId', _.get(hdfControl, 'id'));
177
197
  });
178
198
  return Object.entries(idGroups || {}).map((idGroup) => handleIdGroup(context, idGroup));
179
199
  }
180
200
  exports.consolidate = consolidate;
181
201
  function wrapWithFindingsObject(output) {
182
- if (!lodash_1.default.has(output, 'Findings')) {
202
+ if (!_.has(output, 'Findings')) {
183
203
  if (Array.isArray(output)) {
184
204
  output = { Findings: output };
185
205
  }
@@ -212,12 +232,12 @@ class ASFFMapper extends base_converter_1.BaseConverter {
212
232
  release: package_json_1.version,
213
233
  target_id: {
214
234
  transformer: (record) => {
215
- const productInfo = lodash_1.default.get(record, 'Findings[0].ProductArn')
235
+ const productInfo = _.get(record, 'Findings[0].ProductArn')
216
236
  .split(':')
217
237
  .slice(-1)[0]
218
238
  .split('/');
219
239
  const defaultTargetId = `${productInfo[1]} - ${productInfo[2]}`;
220
- return externalProductHandler(this, whichSpecialCase(lodash_1.default.get(record, 'Findings[0]')), [lodash_1.default.get(record, 'Findings[0]'), record.Findings], 'productName', (0, html_entities_1.encode)(defaultTargetId));
240
+ return externalProductHandler(this, whichSpecialCase(_.get(record, 'Findings[0]')), [_.get(record, 'Findings[0]'), record.Findings], 'productName', (0, html_entities_1.encode)(defaultTargetId));
221
241
  }
222
242
  }
223
243
  },
@@ -236,7 +256,7 @@ class ASFFMapper extends base_converter_1.BaseConverter {
236
256
  version: '',
237
257
  title: {
238
258
  transformer: () => {
239
- return lodash_1.default.get(this.meta, 'title') || 'ASFF Findings';
259
+ return _.get(this.meta, 'title') || 'ASFF Findings';
240
260
  }
241
261
  },
242
262
  maintainer: null,
@@ -255,24 +275,24 @@ class ASFFMapper extends base_converter_1.BaseConverter {
255
275
  key: 'id',
256
276
  arrayTransformer: consolidate.bind(this, this),
257
277
  id: {
258
- transformer: (finding) => externalProductHandler(this, whichSpecialCase(finding), finding, 'findingId', (0, html_entities_1.encode)(lodash_1.default.get(finding, 'GeneratorId')))
278
+ transformer: (finding) => externalProductHandler(this, whichSpecialCase(finding), finding, 'findingId', (0, html_entities_1.encode)(_.get(finding, 'GeneratorId')))
259
279
  },
260
280
  title: {
261
- transformer: (finding) => externalProductHandler(this, whichSpecialCase(finding), finding, 'findingTitle', (0, html_entities_1.encode)(lodash_1.default.get(finding, 'Title')))
281
+ transformer: (finding) => externalProductHandler(this, whichSpecialCase(finding), finding, 'findingTitle', (0, html_entities_1.encode)(_.get(finding, 'Title')))
262
282
  },
263
283
  desc: {
264
- transformer: (finding) => externalProductHandler(this, whichSpecialCase(finding), finding, 'findingDescription', (0, html_entities_1.encode)(lodash_1.default.get(finding, 'Description')))
284
+ transformer: (finding) => externalProductHandler(this, whichSpecialCase(finding), finding, 'findingDescription', (0, html_entities_1.encode)(_.get(finding, 'Description')))
265
285
  },
266
286
  impact: {
267
287
  transformer: (finding) => {
268
288
  let impact;
269
- if (lodash_1.default.get(finding, 'Workflow.Status') === 'SUPPRESSED') {
289
+ if (_.get(finding, 'Workflow.Status') === 'SUPPRESSED') {
270
290
  impact = 'INFORMATIONAL';
271
291
  }
272
292
  else {
273
- const defaultFunc = () => lodash_1.default.get(finding, SEVERITY_LABEL)
274
- ? lodash_1.default.get(finding, SEVERITY_LABEL)
275
- : lodash_1.default.get(finding, 'Severity.Normalized') /
293
+ const defaultFunc = () => _.get(finding, SEVERITY_LABEL)
294
+ ? _.get(finding, SEVERITY_LABEL)
295
+ : _.get(finding, 'Severity.Normalized') /
276
296
  100.0;
277
297
  impact = externalProductHandler(this, whichSpecialCase(finding), finding, 'findingImpact', defaultFunc);
278
298
  }
@@ -312,11 +332,11 @@ class ASFFMapper extends base_converter_1.BaseConverter {
312
332
  path: 'Remediation.Recommendation',
313
333
  transformer: (input) => {
314
334
  const data = [];
315
- if (lodash_1.default.has(input, 'Text')) {
316
- data.push(lodash_1.default.get(input, 'Text'));
335
+ if (_.has(input, 'Text')) {
336
+ data.push(_.get(input, 'Text'));
317
337
  }
318
- if (lodash_1.default.has(input, 'Url')) {
319
- data.push(lodash_1.default.get(input, 'Url'));
338
+ if (_.has(input, 'Url')) {
339
+ data.push(_.get(input, 'Url'));
320
340
  }
321
341
  return data.join('\n');
322
342
  }
@@ -328,8 +348,8 @@ class ASFFMapper extends base_converter_1.BaseConverter {
328
348
  {
329
349
  transformer: (finding) => {
330
350
  return {
331
- ...(lodash_1.default.has(finding, 'SourceUrl') && {
332
- url: lodash_1.default.get(finding, 'SourceUrl')
351
+ ...(_.has(finding, 'SourceUrl') && {
352
+ url: _.get(finding, 'SourceUrl')
333
353
  })
334
354
  };
335
355
  }
@@ -342,8 +362,8 @@ class ASFFMapper extends base_converter_1.BaseConverter {
342
362
  status: {
343
363
  transformer: (finding) => {
344
364
  const defaultFunc = () => {
345
- if (lodash_1.default.has(finding, COMPLIANCE_STATUS)) {
346
- switch (lodash_1.default.get(finding, COMPLIANCE_STATUS)) {
365
+ if (_.has(finding, COMPLIANCE_STATUS)) {
366
+ switch (_.get(finding, COMPLIANCE_STATUS)) {
347
367
  case 'PASSED':
348
368
  return inspecjs_1.ExecJSON.ControlResultStatus.Passed;
349
369
  case 'WARNING':
@@ -369,14 +389,14 @@ class ASFFMapper extends base_converter_1.BaseConverter {
369
389
  if (output) {
370
390
  output += '; ';
371
391
  }
372
- const resources = lodash_1.default.get(finding, 'Resources')
392
+ const resources = _.get(finding, 'Resources')
373
393
  .map((resource) => {
374
- let hash = `Type: ${(0, html_entities_1.encode)(lodash_1.default.get(resource, 'Type'))}, Id: ${(0, html_entities_1.encode)(lodash_1.default.get(resource, 'Id'))}`;
375
- if (lodash_1.default.has(resource, 'Partition')) {
376
- hash += `, Partition: ${(0, html_entities_1.encode)(lodash_1.default.get(resource, 'Partition'))}`;
394
+ let hash = `Type: ${(0, html_entities_1.encode)(_.get(resource, 'Type'))}, Id: ${(0, html_entities_1.encode)(_.get(resource, 'Id'))}`;
395
+ if (_.has(resource, 'Partition')) {
396
+ hash += `, Partition: ${(0, html_entities_1.encode)(_.get(resource, 'Partition'))}`;
377
397
  }
378
- if (lodash_1.default.has(resource, 'Region')) {
379
- hash += `, Region: ${(0, html_entities_1.encode)(lodash_1.default.get(resource, 'Region'))}`;
398
+ if (_.has(resource, 'Region')) {
399
+ hash += `, Region: ${(0, html_entities_1.encode)(_.get(resource, 'Region'))}`;
380
400
  }
381
401
  return hash;
382
402
  })
@@ -389,7 +409,7 @@ class ASFFMapper extends base_converter_1.BaseConverter {
389
409
  const message = (() => {
390
410
  const defaultFunc = () => {
391
411
  const statusReason = this.statusReason(finding);
392
- switch (lodash_1.default.get(finding, COMPLIANCE_STATUS)) {
412
+ switch (_.get(finding, COMPLIANCE_STATUS)) {
393
413
  case undefined:
394
414
  return undefined;
395
415
  case 'PASSED':
@@ -408,7 +428,7 @@ class ASFFMapper extends base_converter_1.BaseConverter {
408
428
  })();
409
429
  const skipMessage = (() => {
410
430
  const statusReason = this.statusReason(finding);
411
- switch (lodash_1.default.get(finding, COMPLIANCE_STATUS)) {
431
+ switch (_.get(finding, COMPLIANCE_STATUS)) {
412
432
  case undefined:
413
433
  return statusReason;
414
434
  case 'PASSED':
@@ -431,8 +451,8 @@ class ASFFMapper extends base_converter_1.BaseConverter {
431
451
  };
432
452
  },
433
453
  start_time: {
434
- transformer: (finding) => lodash_1.default.get(finding, 'LastObservedAt') ||
435
- lodash_1.default.get(finding, 'UpdatedAt')
454
+ transformer: (finding) => _.get(finding, 'LastObservedAt') ||
455
+ _.get(finding, 'UpdatedAt')
436
456
  }
437
457
  }
438
458
  ]
@@ -447,10 +467,10 @@ class ASFFMapper extends base_converter_1.BaseConverter {
447
467
  this.setMappings();
448
468
  }
449
469
  statusReason(finding) {
450
- const statusReasons = lodash_1.default.get(finding, 'Compliance.StatusReasons');
470
+ const statusReasons = _.get(finding, 'Compliance.StatusReasons');
451
471
  if (statusReasons !== undefined &&
452
472
  statusReasons !== null &&
453
- lodash_1.default.isArray(statusReasons)) {
473
+ _.isArray(statusReasons)) {
454
474
  return statusReasons
455
475
  .map((reason) => Object.entries(reason || {}).map(([key, value]) => {
456
476
  return `${(0, html_entities_1.encode)(key)}: ${(0, html_entities_1.encode)(value)}`;
@@ -463,7 +483,7 @@ class ASFFMapper extends base_converter_1.BaseConverter {
463
483
  }
464
484
  }
465
485
  setMappings() {
466
- this.mappings = externalProductHandler(this, whichSpecialCase(lodash_1.default.get(this.data, 'Findings[0]')), this, 'mapping', this.defaultMappings);
486
+ this.mappings = externalProductHandler(this, whichSpecialCase(_.get(this.data, 'Findings[0]')), this, 'mapping', this.defaultMappings);
467
487
  }
468
488
  }
469
489
  exports.ASFFMapper = ASFFMapper;
@@ -471,12 +491,12 @@ class ASFFResults {
471
491
  constructor(asffJson, securityhubStandardsJsonArray = undefined, meta = undefined) {
472
492
  this.meta = meta;
473
493
  this.supportingDocs = new Map();
474
- this.supportingDocs.set(SpecialCasing.SecurityHub, lodash_1.default.get(SPECIAL_CASE_MAPPING.get(SpecialCasing.SecurityHub), 'securityhubSupportingDocs', (standards) => {
494
+ this.supportingDocs.set(SpecialCasing.SecurityHub, _.get(SPECIAL_CASE_MAPPING.get(SpecialCasing.SecurityHub), 'securityhubSupportingDocs', (standards) => {
475
495
  throw new Error(`supportingDocs function should've been defined: ${standards}`);
476
496
  })(securityhubStandardsJsonArray));
477
- const findings = lodash_1.default.get(fixFileInput(asffJson), 'Findings');
478
- this.data = lodash_1.default.groupBy(findings, (finding) => {
479
- const productInfo = lodash_1.default.get(finding, 'ProductArn')
497
+ const findings = _.get(fixFileInput(asffJson), 'Findings');
498
+ this.data = _.groupBy(findings, (finding) => {
499
+ const productInfo = _.get(finding, 'ProductArn')
480
500
  .split(':')
481
501
  .slice(-1)[0]
482
502
  .split('/');
@@ -485,9 +505,9 @@ class ASFFResults {
485
505
  });
486
506
  }
487
507
  toHdf() {
488
- return lodash_1.default.mapValues(this.data, (val) => {
508
+ return _.mapValues(this.data, (val) => {
489
509
  const wrapped = wrapWithFindingsObject(val);
490
- return new ASFFMapper(externalProductHandler(this, whichSpecialCase(lodash_1.default.get(wrapped, 'Findings[0]')), wrapped, 'preprocessingASFF', wrapped), externalProductHandler(this, whichSpecialCase(lodash_1.default.get(wrapped, 'Findings[0]')), [wrapped, this.supportingDocs], 'supportingDocs', this.supportingDocs), externalProductHandler(this, whichSpecialCase(lodash_1.default.get(wrapped, 'Findings[0]')), undefined, 'meta', this.meta)).toHdf();
510
+ return new ASFFMapper(externalProductHandler(this, whichSpecialCase(_.get(wrapped, 'Findings[0]')), wrapped, 'preprocessingASFF', wrapped), externalProductHandler(this, whichSpecialCase(_.get(wrapped, 'Findings[0]')), [wrapped, this.supportingDocs], 'supportingDocs', this.supportingDocs), externalProductHandler(this, whichSpecialCase(_.get(wrapped, 'Findings[0]')), undefined, 'meta', this.meta)).toHdf();
491
511
  });
492
512
  }
493
513
  }
@@ -1 +1 @@
1
- {"version":3,"file":"asff-mapper.js","sourceRoot":"","sources":["../../../src/asff-mapper/asff-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asff-mapper.js","sourceRoot":"","sources":["../../../src/asff-mapper/asff-mapper.ts"],"names":[],"mappings":"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"}