@mitre/hdf-converters 2.6.59 → 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 +4 -3
  9. package/lib/src/asff-mapper/asff-mapper.js +82 -66
  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 +71 -50
  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 +4 -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.6.59",
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",
@@ -35,11 +36,12 @@
35
36
  "@types/xml2js": "^0.4.9",
36
37
  "aws-sdk": "^2.1046.0",
37
38
  "axios": "^1.3.5",
39
+ "compare-versions": "^6.0.0",
38
40
  "csv2json": "^2.0.2",
39
41
  "fast-xml-parser": "^4.2.0",
40
42
  "html-entities": "^2.3.2",
41
43
  "htmlparser2": "^6.1.0",
42
- "inspecjs": "^2.6.58",
44
+ "inspecjs": "^2.7.2",
43
45
  "lodash": "^4.17.21",
44
46
  "moment": "^2.29.1",
45
47
  "ms": "^2.1.3",
@@ -47,7 +49,6 @@
47
49
  "papaparse": "^5.3.1",
48
50
  "run-script-os": "^1.1.6",
49
51
  "winston": "^3.6.0",
50
- "xlsx": "^0.18.5",
51
52
  "xml2js": "^0.6.0",
52
53
  "yaml": "^2.1.1"
53
54
  },
@@ -1,12 +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;
27
+ const compare_versions_1 = require("compare-versions");
7
28
  const html_entities_1 = require("html-entities");
8
29
  const inspecjs_1 = require("inspecjs");
9
- const lodash_1 = __importDefault(require("lodash"));
30
+ const _ = __importStar(require("lodash"));
10
31
  const package_json_1 = require("../../package.json");
11
32
  const base_converter_1 = require("../base-converter");
12
33
  const global_1 = require("../utils/global");
@@ -40,9 +61,9 @@ var SpecialCasing;
40
61
  SpecialCasing["Default"] = "Default";
41
62
  })(SpecialCasing = exports.SpecialCasing || (exports.SpecialCasing = {}));
42
63
  function whichSpecialCase(finding) {
43
- const productArn = lodash_1.default.get(finding, 'ProductArn');
44
- if (lodash_1.default.get(finding, 'ProductName') === 'Default' &&
45
- 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') {
46
67
  return SpecialCasing.CMSInSpec;
47
68
  }
48
69
  else if (productArn.match(/^arn:[^:]+:securityhub:[^:]+:[^:]*:product\/aws\/firewall-manager$/)) {
@@ -51,18 +72,13 @@ function whichSpecialCase(finding) {
51
72
  else if (productArn.match(/^arn:[^:]+:securityhub:[^:]+:[^:]*:product\/aws\/guardduty$/)) {
52
73
  return SpecialCasing.GuardDuty;
53
74
  }
54
- else if (lodash_1.default.some(lodash_1.default.get(finding, 'FindingProviderFields.Types'), (type) => {
55
- const delimitedType = type.split('/');
56
- const version = delimitedType[delimitedType.length - 1].split('-')[0];
57
- const [major, minor, patch] = version.split('.');
58
- if (parseInt(major) > 1 &&
59
- parseInt(minor) > 5 &&
60
- parseInt(patch) > 20) {
61
- return lodash_1.default.startsWith(type, 'MITRE/SAF/');
62
- }
63
- else {
75
+ else if (_.some(_.get(finding, 'FindingProviderFields.Types'), (type) => {
76
+ var _a, _b;
77
+ if (!_.startsWith(type, 'MITRE/SAF/')) {
64
78
  return false;
65
79
  }
80
+ const version = (_b = (_a = type.split('/').pop()) === null || _a === void 0 ? void 0 : _a.split('-')[0]) !== null && _b !== void 0 ? _b : '';
81
+ return (0, compare_versions_1.validate)(version) && (0, compare_versions_1.compare)(version, '2.6.20', '>');
66
82
  })) {
67
83
  return SpecialCasing.PreviouslyHDF;
68
84
  }
@@ -95,12 +111,12 @@ const SPECIAL_CASE_MAPPING = new Map([
95
111
  function externalProductHandler(context, product, data, func, defaultVal) {
96
112
  var _a;
97
113
  if (product !== SpecialCasing.Default &&
98
- lodash_1.default.has(SPECIAL_CASE_MAPPING.get(product), func)) {
114
+ _.has(SPECIAL_CASE_MAPPING.get(product), func)) {
99
115
  let keywords = {};
100
116
  if (context.supportingDocs.has(product)) {
101
117
  keywords = { ...context.supportingDocs.get(product) };
102
118
  }
103
- 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, [
104
120
  data,
105
121
  keywords
106
122
  ]);
@@ -118,7 +134,7 @@ function handleIdGroup(context, idGroup) {
118
134
  const [id, data] = idGroup;
119
135
  const group = data.map((d) => d[0]);
120
136
  const findings = data.map((d) => d[1]);
121
- const productInfo = lodash_1.default.get(findings[0], 'ProductArn')
137
+ const productInfo = _.get(findings[0], 'ProductArn')
122
138
  .split(':')
123
139
  .slice(-1)[0]
124
140
  .split('/');
@@ -127,19 +143,19 @@ function handleIdGroup(context, idGroup) {
127
143
  const waiverData = externalProductHandler(context, whichSpecialCase(findings[0]), group, 'waiverData', {});
128
144
  return {
129
145
  id: id,
130
- title: `${titlePrefix}${lodash_1.default.uniq(group.map((d) => d.title)).join(';')}`,
131
- 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) => {
132
148
  if (acc === undefined || cur === undefined) {
133
149
  return acc || cur;
134
150
  }
135
151
  else {
136
152
  return Array.isArray(acc) || Array.isArray(cur)
137
- ? lodash_1.default.uniq(lodash_1.default.concat([], acc, cur))
153
+ ? _.uniq(_.concat([], acc, cur))
138
154
  : acc;
139
155
  }
140
156
  }),
141
157
  impact: Math.max(...group.map((d) => d.impact)),
142
- 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')),
143
159
  descriptions: group
144
160
  .map((d) => d.descriptions)
145
161
  .flat()
@@ -150,9 +166,9 @@ function handleIdGroup(context, idGroup) {
150
166
  refs: group
151
167
  .map((d) => d.refs)
152
168
  .flat()
153
- .filter((element) => lodash_1.default.get(element, 'url') !== undefined),
169
+ .filter((element) => _.get(element, 'url') !== undefined),
154
170
  source_location: (() => {
155
- 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);
156
172
  if (locs.length === 0) {
157
173
  return {};
158
174
  }
@@ -171,19 +187,19 @@ function handleIdGroup(context, idGroup) {
171
187
  };
172
188
  }
173
189
  function consolidate(context, input, file) {
174
- const allFindings = lodash_1.default.get(file, 'Findings');
190
+ const allFindings = _.get(file, 'Findings');
175
191
  if (input.length !== allFindings.length) {
176
192
  throw new Error('The number of generated controls should be the same as the number of findings while consolidating.');
177
193
  }
178
- const idGroups = lodash_1.default.groupBy(lodash_1.default.zip(input, allFindings), (value) => {
194
+ const idGroups = _.groupBy(_.zip(input, allFindings), (value) => {
179
195
  const [hdfControl, asffFinding] = value;
180
- return externalProductHandler(context, whichSpecialCase(asffFinding), asffFinding, 'subfindingsId', lodash_1.default.get(hdfControl, 'id'));
196
+ return externalProductHandler(context, whichSpecialCase(asffFinding), asffFinding, 'subfindingsId', _.get(hdfControl, 'id'));
181
197
  });
182
198
  return Object.entries(idGroups || {}).map((idGroup) => handleIdGroup(context, idGroup));
183
199
  }
184
200
  exports.consolidate = consolidate;
185
201
  function wrapWithFindingsObject(output) {
186
- if (!lodash_1.default.has(output, 'Findings')) {
202
+ if (!_.has(output, 'Findings')) {
187
203
  if (Array.isArray(output)) {
188
204
  output = { Findings: output };
189
205
  }
@@ -216,12 +232,12 @@ class ASFFMapper extends base_converter_1.BaseConverter {
216
232
  release: package_json_1.version,
217
233
  target_id: {
218
234
  transformer: (record) => {
219
- const productInfo = lodash_1.default.get(record, 'Findings[0].ProductArn')
235
+ const productInfo = _.get(record, 'Findings[0].ProductArn')
220
236
  .split(':')
221
237
  .slice(-1)[0]
222
238
  .split('/');
223
239
  const defaultTargetId = `${productInfo[1]} - ${productInfo[2]}`;
224
- 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));
225
241
  }
226
242
  }
227
243
  },
@@ -240,7 +256,7 @@ class ASFFMapper extends base_converter_1.BaseConverter {
240
256
  version: '',
241
257
  title: {
242
258
  transformer: () => {
243
- return lodash_1.default.get(this.meta, 'title') || 'ASFF Findings';
259
+ return _.get(this.meta, 'title') || 'ASFF Findings';
244
260
  }
245
261
  },
246
262
  maintainer: null,
@@ -259,24 +275,24 @@ class ASFFMapper extends base_converter_1.BaseConverter {
259
275
  key: 'id',
260
276
  arrayTransformer: consolidate.bind(this, this),
261
277
  id: {
262
- 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')))
263
279
  },
264
280
  title: {
265
- 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')))
266
282
  },
267
283
  desc: {
268
- 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')))
269
285
  },
270
286
  impact: {
271
287
  transformer: (finding) => {
272
288
  let impact;
273
- if (lodash_1.default.get(finding, 'Workflow.Status') === 'SUPPRESSED') {
289
+ if (_.get(finding, 'Workflow.Status') === 'SUPPRESSED') {
274
290
  impact = 'INFORMATIONAL';
275
291
  }
276
292
  else {
277
- const defaultFunc = () => lodash_1.default.get(finding, SEVERITY_LABEL)
278
- ? lodash_1.default.get(finding, SEVERITY_LABEL)
279
- : lodash_1.default.get(finding, 'Severity.Normalized') /
293
+ const defaultFunc = () => _.get(finding, SEVERITY_LABEL)
294
+ ? _.get(finding, SEVERITY_LABEL)
295
+ : _.get(finding, 'Severity.Normalized') /
280
296
  100.0;
281
297
  impact = externalProductHandler(this, whichSpecialCase(finding), finding, 'findingImpact', defaultFunc);
282
298
  }
@@ -316,11 +332,11 @@ class ASFFMapper extends base_converter_1.BaseConverter {
316
332
  path: 'Remediation.Recommendation',
317
333
  transformer: (input) => {
318
334
  const data = [];
319
- if (lodash_1.default.has(input, 'Text')) {
320
- data.push(lodash_1.default.get(input, 'Text'));
335
+ if (_.has(input, 'Text')) {
336
+ data.push(_.get(input, 'Text'));
321
337
  }
322
- if (lodash_1.default.has(input, 'Url')) {
323
- data.push(lodash_1.default.get(input, 'Url'));
338
+ if (_.has(input, 'Url')) {
339
+ data.push(_.get(input, 'Url'));
324
340
  }
325
341
  return data.join('\n');
326
342
  }
@@ -332,8 +348,8 @@ class ASFFMapper extends base_converter_1.BaseConverter {
332
348
  {
333
349
  transformer: (finding) => {
334
350
  return {
335
- ...(lodash_1.default.has(finding, 'SourceUrl') && {
336
- url: lodash_1.default.get(finding, 'SourceUrl')
351
+ ...(_.has(finding, 'SourceUrl') && {
352
+ url: _.get(finding, 'SourceUrl')
337
353
  })
338
354
  };
339
355
  }
@@ -346,8 +362,8 @@ class ASFFMapper extends base_converter_1.BaseConverter {
346
362
  status: {
347
363
  transformer: (finding) => {
348
364
  const defaultFunc = () => {
349
- if (lodash_1.default.has(finding, COMPLIANCE_STATUS)) {
350
- switch (lodash_1.default.get(finding, COMPLIANCE_STATUS)) {
365
+ if (_.has(finding, COMPLIANCE_STATUS)) {
366
+ switch (_.get(finding, COMPLIANCE_STATUS)) {
351
367
  case 'PASSED':
352
368
  return inspecjs_1.ExecJSON.ControlResultStatus.Passed;
353
369
  case 'WARNING':
@@ -373,14 +389,14 @@ class ASFFMapper extends base_converter_1.BaseConverter {
373
389
  if (output) {
374
390
  output += '; ';
375
391
  }
376
- const resources = lodash_1.default.get(finding, 'Resources')
392
+ const resources = _.get(finding, 'Resources')
377
393
  .map((resource) => {
378
- 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'))}`;
379
- if (lodash_1.default.has(resource, 'Partition')) {
380
- 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'))}`;
381
397
  }
382
- if (lodash_1.default.has(resource, 'Region')) {
383
- 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'))}`;
384
400
  }
385
401
  return hash;
386
402
  })
@@ -393,7 +409,7 @@ class ASFFMapper extends base_converter_1.BaseConverter {
393
409
  const message = (() => {
394
410
  const defaultFunc = () => {
395
411
  const statusReason = this.statusReason(finding);
396
- switch (lodash_1.default.get(finding, COMPLIANCE_STATUS)) {
412
+ switch (_.get(finding, COMPLIANCE_STATUS)) {
397
413
  case undefined:
398
414
  return undefined;
399
415
  case 'PASSED':
@@ -412,7 +428,7 @@ class ASFFMapper extends base_converter_1.BaseConverter {
412
428
  })();
413
429
  const skipMessage = (() => {
414
430
  const statusReason = this.statusReason(finding);
415
- switch (lodash_1.default.get(finding, COMPLIANCE_STATUS)) {
431
+ switch (_.get(finding, COMPLIANCE_STATUS)) {
416
432
  case undefined:
417
433
  return statusReason;
418
434
  case 'PASSED':
@@ -435,8 +451,8 @@ class ASFFMapper extends base_converter_1.BaseConverter {
435
451
  };
436
452
  },
437
453
  start_time: {
438
- transformer: (finding) => lodash_1.default.get(finding, 'LastObservedAt') ||
439
- lodash_1.default.get(finding, 'UpdatedAt')
454
+ transformer: (finding) => _.get(finding, 'LastObservedAt') ||
455
+ _.get(finding, 'UpdatedAt')
440
456
  }
441
457
  }
442
458
  ]
@@ -451,10 +467,10 @@ class ASFFMapper extends base_converter_1.BaseConverter {
451
467
  this.setMappings();
452
468
  }
453
469
  statusReason(finding) {
454
- const statusReasons = lodash_1.default.get(finding, 'Compliance.StatusReasons');
470
+ const statusReasons = _.get(finding, 'Compliance.StatusReasons');
455
471
  if (statusReasons !== undefined &&
456
472
  statusReasons !== null &&
457
- lodash_1.default.isArray(statusReasons)) {
473
+ _.isArray(statusReasons)) {
458
474
  return statusReasons
459
475
  .map((reason) => Object.entries(reason || {}).map(([key, value]) => {
460
476
  return `${(0, html_entities_1.encode)(key)}: ${(0, html_entities_1.encode)(value)}`;
@@ -467,7 +483,7 @@ class ASFFMapper extends base_converter_1.BaseConverter {
467
483
  }
468
484
  }
469
485
  setMappings() {
470
- 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);
471
487
  }
472
488
  }
473
489
  exports.ASFFMapper = ASFFMapper;
@@ -475,12 +491,12 @@ class ASFFResults {
475
491
  constructor(asffJson, securityhubStandardsJsonArray = undefined, meta = undefined) {
476
492
  this.meta = meta;
477
493
  this.supportingDocs = new Map();
478
- 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) => {
479
495
  throw new Error(`supportingDocs function should've been defined: ${standards}`);
480
496
  })(securityhubStandardsJsonArray));
481
- const findings = lodash_1.default.get(fixFileInput(asffJson), 'Findings');
482
- this.data = lodash_1.default.groupBy(findings, (finding) => {
483
- 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')
484
500
  .split(':')
485
501
  .slice(-1)[0]
486
502
  .split('/');
@@ -489,9 +505,9 @@ class ASFFResults {
489
505
  });
490
506
  }
491
507
  toHdf() {
492
- return lodash_1.default.mapValues(this.data, (val) => {
508
+ return _.mapValues(this.data, (val) => {
493
509
  const wrapped = wrapWithFindingsObject(val);
494
- 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();
495
511
  });
496
512
  }
497
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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"}