@mitre/hdf-converters 2.6.49 → 2.6.54

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 (54) hide show
  1. package/README.md +19 -17
  2. package/lib/index.d.ts +2 -0
  3. package/lib/index.js +2 -0
  4. package/lib/index.js.map +1 -1
  5. package/lib/package.json +3 -3
  6. package/lib/src/ckl-mapper/checklist-jsonix-converter.d.ts +72 -0
  7. package/lib/src/ckl-mapper/checklist-jsonix-converter.js +123 -0
  8. package/lib/src/ckl-mapper/checklist-jsonix-converter.js.map +1 -0
  9. package/lib/src/ckl-mapper/checklist-mapper.d.ts +19 -0
  10. package/lib/src/ckl-mapper/checklist-mapper.js +292 -0
  11. package/lib/src/ckl-mapper/checklist-mapper.js.map +1 -0
  12. package/lib/src/ckl-mapper/jsonixMapping.d.ts +110 -0
  13. package/lib/src/ckl-mapper/jsonixMapping.js +586 -0
  14. package/lib/src/ckl-mapper/jsonixMapping.js.map +1 -0
  15. package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.d.ts +8 -20
  16. package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.js +77 -121
  17. package/lib/src/converters-from-hdf/splunk/reverse-splunk-mapper.js.map +1 -1
  18. package/lib/src/conveyor-mapper.d.ts +14 -0
  19. package/lib/src/conveyor-mapper.js +188 -0
  20. package/lib/src/conveyor-mapper.js.map +1 -0
  21. package/lib/src/dbprotect-mapper.d.ts +5 -2
  22. package/lib/src/dbprotect-mapper.js +21 -20
  23. package/lib/src/dbprotect-mapper.js.map +1 -1
  24. package/lib/src/jsonix-converter.d.ts +5 -0
  25. package/lib/src/jsonix-converter.js +16 -0
  26. package/lib/src/jsonix-converter.js.map +1 -0
  27. package/lib/src/jsonix-intermediate-converter.d.ts +4 -0
  28. package/lib/src/jsonix-intermediate-converter.js +8 -0
  29. package/lib/src/jsonix-intermediate-converter.js.map +1 -0
  30. package/lib/src/splunk-mapper.d.ts +13 -12
  31. package/lib/src/splunk-mapper.js +110 -99
  32. package/lib/src/splunk-mapper.js.map +1 -1
  33. package/lib/src/utils/fingerprinting.d.ts +2 -0
  34. package/lib/src/utils/fingerprinting.js +9 -0
  35. package/lib/src/utils/fingerprinting.js.map +1 -1
  36. package/lib/src/utils/splunk-tools.d.ts +5 -0
  37. package/lib/src/utils/splunk-tools.js +73 -0
  38. package/lib/src/utils/splunk-tools.js.map +1 -0
  39. package/lib/types/splunk-config-types.d.ts +13 -0
  40. package/lib/types/splunk-config-types.js +3 -0
  41. package/lib/types/splunk-config-types.js.map +1 -0
  42. package/lib/{src/converters-from-hdf/splunk → types}/splunk-control-types.d.ts +1 -1
  43. package/lib/types/splunk-control-types.js.map +1 -0
  44. package/lib/{src/converters-from-hdf/splunk → types}/splunk-profile-types.d.ts +1 -1
  45. package/lib/types/splunk-profile-types.js.map +1 -0
  46. package/lib/types/splunk-report-types.js.map +1 -0
  47. package/package.json +3 -3
  48. package/lib/src/converters-from-hdf/splunk/splunk-control-types.js.map +0 -1
  49. package/lib/src/converters-from-hdf/splunk/splunk-profile-types.js.map +0 -1
  50. package/lib/src/converters-from-hdf/splunk/splunk-report-types.js.map +0 -1
  51. /package/lib/{src/converters-from-hdf/splunk → types}/splunk-control-types.js +0 -0
  52. /package/lib/{src/converters-from-hdf/splunk → types}/splunk-profile-types.js +0 -0
  53. /package/lib/{src/converters-from-hdf/splunk → types}/splunk-report-types.d.ts +0 -0
  54. /package/lib/{src/converters-from-hdf/splunk → types}/splunk-report-types.js +0 -0
@@ -1,25 +1,13 @@
1
- import splunkjs from '@mitre/splunk-sdk-no-env';
1
+ import { AxiosInstance } from 'axios';
2
2
  import { ContextualizedControl, ContextualizedEvaluation, ContextualizedProfile, ExecJSON } from 'inspecjs';
3
3
  import { Logger } from 'winston';
4
+ import { SplunkConfig } from '../../../types/splunk-config-types';
5
+ import { SplunkControl } from '../../../types/splunk-control-types';
6
+ import { SplunkProfile } from '../../../types/splunk-profile-types';
7
+ import { SplunkReport } from '../../../types/splunk-report-types';
4
8
  import { MappedTransform } from '../../base-converter';
5
9
  import { FromAnyBaseConverter } from '../reverse-any-base-converter';
6
10
  import { ILookupPathFH } from '../reverse-base-converter';
7
- import { SplunkControl } from './splunk-control-types';
8
- import { SplunkProfile } from './splunk-profile-types';
9
- import { SplunkReport } from './splunk-report-types';
10
- export declare type SplunkConfig = {
11
- scheme: string;
12
- host: string;
13
- port?: number;
14
- username?: string;
15
- password?: string;
16
- index: string;
17
- owner?: string;
18
- app?: string;
19
- sessionKey?: string;
20
- autologin?: boolean;
21
- version?: string;
22
- };
23
11
  export declare type SplunkData = {
24
12
  profiles: SplunkProfile[];
25
13
  controls: SplunkControl[];
@@ -47,9 +35,9 @@ export declare class FromHDFControlToSplunkControlMapper extends FromAnyBaseConv
47
35
  export declare class FromHDFToSplunkMapper extends FromAnyBaseConverter {
48
36
  mappings?: MappedTransform<SplunkData, ILookupPathFH>;
49
37
  contextualizedEvaluation?: ContextualizedEvaluation;
38
+ axiosInstance: AxiosInstance;
50
39
  constructor(data: ExecJSON.Execution | ContextualizedEvaluation, logService?: Logger, loggingLevel?: string);
51
40
  createSplunkData(guid: string, filename: string): SplunkData;
52
- uploadSplunkData(targetIndex: splunkjs.Index, splunkData: SplunkData): Promise<void>;
53
- handleSplunkError(error?: Record<string, unknown>): void;
54
- toSplunk(config: SplunkConfig, filename: string, webCompatibility?: boolean): Promise<string>;
41
+ uploadSplunkData(config: SplunkConfig, targetIndex: any, splunkData: SplunkData): Promise<void>;
42
+ toSplunk(config: SplunkConfig, filename: string): Promise<string>;
55
43
  }
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.FromHDFToSplunkMapper = exports.FromHDFControlToSplunkControlMapper = exports.FromHDFProfileToSplunkProfileMapper = exports.FromHDFExecutionToSplunkExecutionMapper = exports.createControlMapping = exports.createProfileMapping = exports.getProfileRunLevel = exports.getDependencies = exports.createReportMapping = exports.contextualizeIfNeeded = exports.createGUID = void 0;
7
- const splunk_sdk_no_env_1 = __importDefault(require("@mitre/splunk-sdk-no-env"));
8
- const jquery_http_1 = __importDefault(require("@mitre/splunk-sdk-no-env/lib/platform/client/jquery_http"));
7
+ const axios_1 = __importDefault(require("axios"));
9
8
  const inspecjs_1 = require("inspecjs");
10
9
  const lodash_1 = __importDefault(require("lodash"));
11
10
  const global_1 = require("../../utils/global");
11
+ const splunk_tools_1 = require("../../utils/splunk-tools");
12
12
  const reverse_any_base_converter_1 = require("../reverse-any-base-converter");
13
13
  const HDF_SPLUNK_SCHEMA = '1.1';
14
14
  const MAPPER_NAME = 'HDF2Splunk';
@@ -51,15 +51,16 @@ function createReportMapping(execution, filename, guid) {
51
51
  }
52
52
  exports.createReportMapping = createReportMapping;
53
53
  function getDependencies(profile, execution) {
54
- var _a;
55
54
  if (profile && execution) {
56
55
  const dependencies = [];
57
- (_a = profile.data.depends) === null || _a === void 0 ? void 0 : _a.forEach((dependency) => {
58
- if (dependency.name) {
59
- dependencies.push(dependency.name);
60
- dependencies.push(...getDependencies(execution.contains.find((execProfile) => execProfile.data.name === dependency.name), execution));
56
+ if (profile.data.depends) {
57
+ for (const dependency of profile.data.depends) {
58
+ if (dependency.name) {
59
+ dependencies.push(dependency.name);
60
+ dependencies.push(...getDependencies(execution.contains.find((execProfile) => execProfile.data.name === dependency.name), execution));
61
+ }
61
62
  }
62
- });
63
+ }
63
64
  return dependencies;
64
65
  }
65
66
  return [];
@@ -170,9 +171,9 @@ function createControlMapping(control, profile, execution, filename, guid) {
170
171
  transformer: (data) => {
171
172
  const descObjects = {};
172
173
  if (Array.isArray(data)) {
173
- data.forEach((item) => {
174
+ for (const item of data) {
174
175
  descObjects[item['label']] = item['data'];
175
- });
176
+ }
176
177
  }
177
178
  return descObjects;
178
179
  }
@@ -225,6 +226,7 @@ class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConv
225
226
  logger = (0, global_1.createWinstonLogger)(MAPPER_NAME, loggingLevel || 'debug');
226
227
  }
227
228
  super(contextualizeIfNeeded(data));
229
+ this.axiosInstance = axios_1.default.create({ params: { output_mode: 'json' } });
228
230
  logger.debug(`Initialized ${this.constructor.name} successfully`);
229
231
  }
230
232
  createSplunkData(guid, filename) {
@@ -234,131 +236,85 @@ class FromHDFToSplunkMapper extends reverse_any_base_converter_1.FromAnyBaseConv
234
236
  reports: []
235
237
  };
236
238
  splunkData.reports.push(new FromHDFExecutionToSplunkExecutionMapper(this.data, filename, guid).toSplunkExecution());
237
- this.data.contains.forEach((profile) => {
239
+ for (const profile of this.data.contains) {
238
240
  splunkData.profiles.push(new FromHDFProfileToSplunkProfileMapper(profile, filename, guid).toSplunkProfile());
239
- profile.contains.forEach((control) => {
241
+ for (const control of profile.contains) {
240
242
  splunkData.controls.push(new FromHDFControlToSplunkControlMapper(control, profile, this.data, filename, guid).toSplunkControl());
241
- });
242
- });
243
+ }
244
+ }
243
245
  return splunkData;
244
246
  }
245
- async uploadSplunkData(targetIndex, splunkData) {
246
- return new Promise((resolve, reject) => {
247
- splunkData.reports.forEach((report) => {
248
- targetIndex.submitEvent(JSON.stringify(report), {
249
- sourcetype: MAPPER_NAME,
250
- index: targetIndex.name
251
- }, (err) => {
252
- if (err) {
253
- reject(err);
254
- }
247
+ async uploadSplunkData(config, targetIndex, splunkData) {
248
+ const hostname = (0, splunk_tools_1.generateHostname)(config);
249
+ this.axiosInstance.defaults.params['sourcetype'] = MAPPER_NAME;
250
+ this.axiosInstance.defaults.params['index'] = targetIndex.name;
251
+ try {
252
+ const execEvents = splunkData.reports.map((report) => {
253
+ return this.axiosInstance
254
+ .post(`${hostname}/services/receivers/simple`, JSON.stringify(report))
255
+ .then(() => {
255
256
  logger.verbose(`Successfully uploaded execution for ${report.meta.filename}`);
256
257
  });
257
258
  });
258
- targetIndex.submitEvent(splunkData.profiles
259
- .map((profile) => JSON.stringify(profile))
260
- .join('\n'), {
261
- sourcetype: MAPPER_NAME,
262
- index: targetIndex.name
263
- }, (err) => {
264
- if (err) {
265
- reject(err);
266
- }
267
- logger.verbose(`Successfully uploaded ${splunkData.profiles.length} profile layer(s)`);
268
- });
269
- lodash_1.default.chunk(splunkData.controls, UPLOAD_CHUNK_SIZE).forEach((chunk) => {
270
- targetIndex.submitEvent(chunk.map((control) => JSON.stringify(control)).join('\n'), {
271
- sourcetype: MAPPER_NAME,
272
- index: targetIndex.name
273
- }, (err) => {
274
- if (err) {
275
- reject(err);
276
- }
277
- logger.verbose(`Successfully uploaded ${chunk.length} control(s)`);
278
- resolve();
279
- });
259
+ await Promise.all(execEvents);
260
+ await this.axiosInstance.post(`${hostname}/services/receivers/simple`, splunkData.profiles.map((profile) => JSON.stringify(profile)).join('\n'));
261
+ logger.verbose(`Successfully uploaded ${splunkData.profiles.length} profile layer(s)`);
262
+ const controlEvents = lodash_1.default.chunk(splunkData.controls, UPLOAD_CHUNK_SIZE).map((chunk) => {
263
+ return this.axiosInstance
264
+ .post(`${hostname}/services/receivers/simple`, chunk.map((control) => JSON.stringify(control)).join('\n'))
265
+ .then(() => logger.verbose(`Successfully uploaded ${chunk.length} control(s)`));
280
266
  });
281
- });
282
- }
283
- handleSplunkError(error) {
284
- if (error) {
285
- let errorMessage = '';
286
- try {
287
- const errorCode = lodash_1.default.get(error, 'status');
288
- if (typeof errorCode === 'number' && errorCode >= 600) {
289
- errorMessage =
290
- "Unable to connect to your splunk instance. Are you sure you're using the right HTTP Scheme? (http/https)";
291
- }
292
- else if (typeof errorCode === 'number' && errorCode === 401) {
293
- errorMessage =
294
- 'Unable to login to your splunk instance. Incorrect username or password';
295
- }
296
- else if (typeof errorCode === 'number' && errorCode === 400) {
297
- errorMessage =
298
- 'Unable to authenticate to your splunk instance. Invalid Token provided';
299
- }
300
- else {
301
- errorMessage = JSON.stringify(error);
302
- }
303
- }
304
- catch {
305
- errorMessage = String(error);
306
- }
307
- logger.error(errorMessage);
308
- throw new Error(errorMessage);
267
+ await Promise.all(controlEvents);
268
+ }
269
+ catch (error) {
270
+ throw new Error((0, splunk_tools_1.handleSplunkErrorResponse)(error));
309
271
  }
310
272
  }
311
- async toSplunk(config, filename, webCompatibility = false) {
312
- let service;
313
- if (webCompatibility) {
314
- service = new splunk_sdk_no_env_1.default.Service(new jquery_http_1.default.JQueryHttp(''), config);
273
+ async toSplunk(config, filename) {
274
+ const hostname = (0, splunk_tools_1.generateHostname)(config);
275
+ const returnCount = 0;
276
+ let indexResponse;
277
+ logger.info(`Logging into Splunk instance at ${hostname} with user ${config.username}`);
278
+ logger.verbose(`Found designated file to transfer: ${filename}`);
279
+ const guid = createGUID(30);
280
+ logger.verbose(`Using GUID: ${guid}`);
281
+ const authResponse = await (0, splunk_tools_1.checkSplunkCredentials)(config);
282
+ this.axiosInstance.defaults.headers.common['Authorization'] = `Bearer ${authResponse}`;
283
+ try {
284
+ indexResponse = await this.axiosInstance.get(`${hostname}/services/data/indexes`, {
285
+ params: { count: returnCount }
286
+ });
315
287
  }
316
- else {
317
- service = new splunk_sdk_no_env_1.default.Service(config);
288
+ catch (error) {
289
+ throw new Error(`Failed to request indexes - ${(0, splunk_tools_1.handleSplunkErrorResponse)(error)}`);
318
290
  }
319
- logger.info(`Logging into Splunk Service: ${config.host} with user ${config.username}`);
320
- logger.verbose('Got Execution: ' + filename);
321
- const guid = createGUID(30);
322
- logger.verbose('Using GUID: ' + guid);
323
- return new Promise((resolve) => {
324
- if (config.username && config.password) {
325
- service.login((error) => {
326
- this.handleSplunkError(error);
327
- });
328
- }
329
- service.indexes().fetch(async (error, indexes) => {
330
- if (error) {
331
- this.handleSplunkError(error);
332
- }
333
- else if (!indexes) {
334
- throw new Error('Unable to get available indexes, double-check your scheme configuration and try again');
291
+ if (!lodash_1.default.has(indexResponse, ['data', 'entry'])) {
292
+ throw new Error('Failed to request indexes - Malformed index reponse received');
293
+ }
294
+ const indexes = indexResponse.data.entry;
295
+ if (indexes.length <= 0) {
296
+ throw new Error('Unable to retrieve available indexes, double-check your scheme configuration and try again');
297
+ }
298
+ else {
299
+ const indexNames = indexes.map((index) => index.name);
300
+ logger.verbose(`Available indexes: ${indexNames.join(', ')}`);
301
+ if (indexNames.includes(config.index)) {
302
+ const targetIndex = indexes.filter((index) => index.name === config.index)[0];
303
+ logger.verbose(`Found index: ${targetIndex.name}`);
304
+ const splunkData = this.createSplunkData(guid, filename);
305
+ try {
306
+ await this.uploadSplunkData(config, targetIndex, splunkData);
335
307
  }
336
- else {
337
- const availableIndexes = indexes
338
- .list()
339
- .map((index) => index.name);
340
- logger.verbose(`Available Indexes: + ${availableIndexes.join(', ')}`);
341
- if (availableIndexes.includes(config.index)) {
342
- const targetIndex = indexes.item(config.index);
343
- logger === null || logger === void 0 ? void 0 : logger.verbose(`Have index ${targetIndex.name}`);
344
- const splunkData = this.createSplunkData(guid, filename);
345
- this.uploadSplunkData(targetIndex, splunkData)
346
- .then(() => {
347
- logger.info(`Successfully uploaded to ${config.index}`);
348
- resolve(guid);
349
- })
350
- .catch((resolvedError) => {
351
- throw new Error(resolvedError);
352
- });
353
- }
354
- else {
355
- logger.error(`Invalid Index: ${config.index}`);
356
- throw new Error(`Invalid Index: ${config.index}`);
357
- }
308
+ catch (error) {
309
+ throw new Error(`Failed to upload to Splunk - ${(0, splunk_tools_1.handleSplunkErrorResponse)(error)}`);
358
310
  }
359
- });
360
- return guid;
361
- });
311
+ logger.info(`Successfully uploaded to ${config.index}`);
312
+ return guid;
313
+ }
314
+ else {
315
+ throw new Error(`Invalid index - ${config.index}`);
316
+ }
317
+ }
362
318
  }
363
319
  }
364
320
  exports.FromHDFToSplunkMapper = FromHDFToSplunkMapper;
@@ -1 +1 @@
1
- {"version":3,"file":"reverse-splunk-mapper.js","sourceRoot":"","sources":["../../../../src/converters-from-hdf/splunk/reverse-splunk-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reverse-splunk-mapper.js","sourceRoot":"","sources":["../../../../src/converters-from-hdf/splunk/reverse-splunk-mapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { ExecJSON } from 'inspecjs';
2
+ import { BaseConverter, ILookupPath, MappedTransform } from './base-converter';
3
+ export declare class ConveyorMapper extends BaseConverter {
4
+ scannerName: string;
5
+ mappings: MappedTransform<ExecJSON.Execution & {
6
+ passthrough: unknown;
7
+ }, ILookupPath>;
8
+ constructor(remappedConveyorResults: Record<string, unknown>, data: Record<string, unknown>, scannerName: string);
9
+ }
10
+ export declare class ConveyorResults {
11
+ data: Record<string, unknown>;
12
+ constructor(conveyorJson: string);
13
+ toHdf(): Record<string, ExecJSON.Execution>;
14
+ }
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ConveyorResults = exports.ConveyorMapper = void 0;
7
+ const inspecjs_1 = require("inspecjs");
8
+ const lodash_1 = __importDefault(require("lodash"));
9
+ const package_json_1 = require("../package.json");
10
+ const base_converter_1 = require("./base-converter");
11
+ const global_1 = require("./utils/global");
12
+ const CONVEYOR_MAX_SCORE = 1000;
13
+ var scannerType;
14
+ (function (scannerType) {
15
+ scannerType["Moldy"] = "Moldy";
16
+ scannerType["Stigma"] = "Stigma";
17
+ scannerType["CodeQuality"] = "CodeQuality";
18
+ })(scannerType || (scannerType = {}));
19
+ function determineStatus(score) {
20
+ if (score === 0) {
21
+ return inspecjs_1.ExecJSON.ControlResultStatus.Passed;
22
+ }
23
+ return inspecjs_1.ExecJSON.ControlResultStatus.Failed;
24
+ }
25
+ function groupByScanner(processed) {
26
+ const groups = lodash_1.default.groupBy(processed, (result) => {
27
+ return lodash_1.default.get(result, 'response.service_name');
28
+ });
29
+ return groups;
30
+ }
31
+ function collateShaAndFilenames(currLevel) {
32
+ const shaFilePairs = [];
33
+ for (const [sha, file] of Object.entries(currLevel)) {
34
+ if (lodash_1.default.has(file, 'name')) {
35
+ const name = lodash_1.default.get(file, 'name[0]') || '';
36
+ shaFilePairs.push([sha, name]);
37
+ }
38
+ if (lodash_1.default.has(file, 'children')) {
39
+ const nextLevel = lodash_1.default.get(file, 'children') || {};
40
+ for (const nextLevelPairs of collateShaAndFilenames(nextLevel)) {
41
+ shaFilePairs.push(nextLevelPairs);
42
+ }
43
+ }
44
+ }
45
+ return shaFilePairs;
46
+ }
47
+ function mapSha2Filename(results) {
48
+ const toplevel = lodash_1.default.get(results, 'api_response.file_tree');
49
+ const shaMappings = {};
50
+ const shaFilePairs = collateShaAndFilenames(toplevel);
51
+ for (const [sha, filename] of shaFilePairs) {
52
+ lodash_1.default.set(shaMappings, sha || '', filename || '');
53
+ }
54
+ return shaMappings;
55
+ }
56
+ function createDescription(data, score, date, scannerName, endTime) {
57
+ const desc = () => {
58
+ if (scannerName === scannerType.Moldy ||
59
+ scannerName === scannerType.Stigma) {
60
+ return `title_text:${lodash_1.default.get(data, 'title_text')}
61
+ body:${lodash_1.default.get(data, 'body')}
62
+ body_format:${lodash_1.default.get(data, 'body_format')}
63
+ classificaton:${lodash_1.default.get(data, 'classification')}
64
+ depth:${lodash_1.default.get(data, 'depth')}
65
+ heuristic_heur_id:${lodash_1.default.get(data, 'heuristic.heur_id')}
66
+ heuristic_score:${lodash_1.default.get(data, 'heuristic.score')}
67
+ heuristic_name:${lodash_1.default.get(data, 'heuristic.name')}`;
68
+ }
69
+ else if (scannerName === scannerType.CodeQuality) {
70
+ return `body:${lodash_1.default.get(data, 'body')}
71
+ body_format:${lodash_1.default.get(data, 'body_format')}
72
+ classificaton:${lodash_1.default.get(data, 'classification')}
73
+ depth:${lodash_1.default.get(data, 'depth')}
74
+ title_text:${lodash_1.default.get(data, 'title_text')}`;
75
+ }
76
+ else {
77
+ return JSON.stringify(data);
78
+ }
79
+ };
80
+ return {
81
+ status: determineStatus(score),
82
+ code_desc: desc(),
83
+ start_time: date,
84
+ run_time: new Date(endTime).valueOf() - new Date(date).valueOf()
85
+ };
86
+ }
87
+ function preprocessObject(parsed, mappings) {
88
+ const results = lodash_1.default.get(parsed, 'api_response.results');
89
+ const newSections = [];
90
+ for (const result of Object.values(results)) {
91
+ const sha = lodash_1.default.get(result, 'sha256', '');
92
+ lodash_1.default.set(result, 'filename', lodash_1.default.get(mappings, sha));
93
+ const descriptions = lodash_1.default.map(lodash_1.default.get(result, 'result.sections'), (section) => createDescription(section, lodash_1.default.get(result, 'result.score'), lodash_1.default.get(result, 'response.milestones.service_started'), lodash_1.default.get(result, 'response.service_name'), lodash_1.default.get(result, 'response.milestones.service_completed')));
94
+ lodash_1.default.set(result, 'result.sections', descriptions);
95
+ newSections.push(result);
96
+ }
97
+ return newSections;
98
+ }
99
+ function controlMappingConveyor() {
100
+ return {
101
+ id: { path: 'sha256' },
102
+ title: { path: 'filename' },
103
+ desc: '',
104
+ impact: {
105
+ path: 'result.score',
106
+ transformer: (value) => {
107
+ return value / CONVEYOR_MAX_SCORE;
108
+ }
109
+ },
110
+ refs: [],
111
+ tags: {
112
+ service_context: { path: 'response.service_context' },
113
+ service_debug_info: { path: 'response.service_debug_info' },
114
+ service_tool_version: { path: 'response.service_tool_version' },
115
+ supplementary: { path: 'response.supplementary' },
116
+ created: { path: 'created' },
117
+ archive_ts: { path: 'archive_ts' },
118
+ classification: { path: 'classification' },
119
+ expiry_ts: { path: 'expiry_ts' },
120
+ size: { path: 'size' },
121
+ type: { path: 'type' },
122
+ nist: global_1.DEFAULT_STATIC_CODE_ANALYSIS_NIST_TAGS,
123
+ cci: global_1.DEFAULT_STATIC_CODE_ANALYSIS_CCI_TAGS.flat()
124
+ },
125
+ source_location: {},
126
+ results: [
127
+ {
128
+ path: 'result.sections',
129
+ status: { path: 'status' },
130
+ code_desc: { path: 'code_desc' },
131
+ start_time: { path: 'start_time' },
132
+ run_time: { path: 'run_time' }
133
+ }
134
+ ]
135
+ };
136
+ }
137
+ class ConveyorMapper extends base_converter_1.BaseConverter {
138
+ constructor(remappedConveyorResults, data, scannerName) {
139
+ lodash_1.default.set(data, 'api_response.results', remappedConveyorResults);
140
+ super(data);
141
+ this.mappings = {
142
+ passthrough: { path: 'api_response' },
143
+ platform: {
144
+ name: 'Heimdall Tools',
145
+ release: package_json_1.version
146
+ },
147
+ version: { path: 'api_server_version' },
148
+ statistics: {},
149
+ profiles: [
150
+ {
151
+ name: { path: 'api_response.results[0].response.service_name' },
152
+ version: { path: 'api_response.results[0].response.service_version' },
153
+ title: { path: 'api_response.params.description' },
154
+ supports: [],
155
+ attributes: [],
156
+ groups: [],
157
+ status: 'loaded',
158
+ controls: [
159
+ {
160
+ path: 'api_response.results',
161
+ ...controlMappingConveyor()
162
+ }
163
+ ],
164
+ sha256: ''
165
+ }
166
+ ]
167
+ };
168
+ this.scannerName = scannerName;
169
+ }
170
+ }
171
+ exports.ConveyorMapper = ConveyorMapper;
172
+ class ConveyorResults {
173
+ constructor(conveyorJson) {
174
+ const parsed = JSON.parse(conveyorJson);
175
+ const mappings = mapSha2Filename(parsed);
176
+ const processed = preprocessObject(parsed, mappings);
177
+ this.data = lodash_1.default.set(parsed, 'api_response.results', groupByScanner(processed));
178
+ }
179
+ toHdf() {
180
+ const scannerRecordInput = Object.entries(lodash_1.default.get(this.data, 'api_response.results')).map(([scannerName, scannerData]) => [
181
+ scannerName,
182
+ new ConveyorMapper(scannerData, this.data, scannerName).toHdf()
183
+ ]);
184
+ return Object.fromEntries(scannerRecordInput);
185
+ }
186
+ }
187
+ exports.ConveyorResults = ConveyorResults;
188
+ //# sourceMappingURL=conveyor-mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conveyor-mapper.js","sourceRoot":"","sources":["../../src/conveyor-mapper.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import { ExecJSON } from 'inspecjs';
2
2
  import { BaseConverter, ILookupPath, MappedTransform } from './base-converter';
3
3
  export declare class DBProtectMapper extends BaseConverter {
4
- mappings: MappedTransform<ExecJSON.Execution, ILookupPath>;
5
- constructor(dbProtectXml: string);
4
+ withRaw: boolean;
5
+ mappings: MappedTransform<ExecJSON.Execution & {
6
+ passthrough: unknown;
7
+ }, ILookupPath>;
8
+ constructor(dbProtectXml: string, withRaw?: boolean);
6
9
  }