@datadog/datadog-ci-plugin-sbom 3.21.0 → 3.21.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.
- package/dist/api.d.ts +7 -0
- package/dist/api.js +54 -0
- package/dist/api.js.map +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +5 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/upload.d.ts +10 -0
- package/dist/commands/upload.js +134 -0
- package/dist/commands/upload.js.map +1 -0
- package/dist/constants.d.ts +7 -0
- package/dist/constants.js +11 -0
- package/dist/constants.js.map +1 -0
- package/dist/json-schema/cyclonedx/bom-1.4.schema.json +1687 -0
- package/dist/json-schema/cyclonedx/bom-1.5.schema.json +3799 -0
- package/dist/json-schema/cyclonedx/bom-1.6.schema.json +5699 -0
- package/dist/json-schema/jsf/jsf-0.82.schema.json +244 -0
- package/dist/json-schema/spdx/spdx.schema.json +737 -0
- package/dist/language.d.ts +2 -0
- package/dist/language.js +46 -0
- package/dist/language.js.map +1 -0
- package/dist/payload.d.ts +3 -0
- package/dist/payload.js +344 -0
- package/dist/payload.js.map +1 -0
- package/dist/renderer.d.ts +10 -0
- package/dist/renderer.js +110 -0
- package/dist/renderer.js.map +1 -0
- package/dist/types.d.ts +135 -0
- package/dist/types.js +56 -0
- package/dist/types.js.map +1 -0
- package/dist/validation.d.ts +27 -0
- package/dist/validation.js +162 -0
- package/dist/validation.js.map +1 -0
- package/package.json +9 -3
package/dist/api.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { AxiosPromise, AxiosResponse } from 'axios';
|
|
2
|
+
import { ScaRequest } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Get the function to upload our results to the intake.
|
|
5
|
+
* @param apiKey
|
|
6
|
+
*/
|
|
7
|
+
export declare const getApiHelper: (apiKey: string, appKey: string) => (scaRequest: ScaRequest) => AxiosPromise<AxiosResponse>;
|
package/dist/api.js
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.getApiHelper = void 0;
|
|
13
|
+
const constants_1 = require("@datadog/datadog-ci-base/constants");
|
|
14
|
+
const app_1 = require("@datadog/datadog-ci-base/helpers/app");
|
|
15
|
+
const utils_1 = require("@datadog/datadog-ci-base/helpers/utils");
|
|
16
|
+
const constants_2 = require("./constants");
|
|
17
|
+
const maxBodyLength = Infinity;
|
|
18
|
+
/**
|
|
19
|
+
* Get the function to upload our results to the intake.
|
|
20
|
+
* @param apiKey
|
|
21
|
+
*/
|
|
22
|
+
const getApiHelper = (apiKey, appKey) => {
|
|
23
|
+
/**
|
|
24
|
+
* function used to marshall and send the data
|
|
25
|
+
* @param request - the AXIOS element used to send the request
|
|
26
|
+
*/
|
|
27
|
+
const uploadSBomPayload = (request) => (scaPayload) => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
|
+
// Make sure we follow the API signature
|
|
29
|
+
const payload = {
|
|
30
|
+
data: {
|
|
31
|
+
type: 'scarequests',
|
|
32
|
+
attributes: scaPayload,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
return request({
|
|
36
|
+
data: JSON.stringify(payload),
|
|
37
|
+
headers: {
|
|
38
|
+
[constants_1.CONTENT_TYPE_HEADER]: constants_1.CONTENT_TYPE_VALUE_JSON,
|
|
39
|
+
'DD-EVP-ORIGIN': 'datadog-ci',
|
|
40
|
+
'DD-EVP-ORIGIN-VERSION': '0.0.1',
|
|
41
|
+
},
|
|
42
|
+
maxBodyLength,
|
|
43
|
+
method: constants_1.METHOD_POST,
|
|
44
|
+
url: constants_2.API_ENDPOINT,
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
// Get the intake name
|
|
48
|
+
const url = (0, app_1.getBaseUrl)();
|
|
49
|
+
// Get the AXIOS request/response function
|
|
50
|
+
const requestIntake = (0, utils_1.getRequestBuilder)({ baseUrl: url, apiKey, appKey });
|
|
51
|
+
return uploadSBomPayload(requestIntake);
|
|
52
|
+
};
|
|
53
|
+
exports.getApiHelper = getApiHelper;
|
|
54
|
+
//# sourceMappingURL=api.js.map
|
package/dist/api.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,kEAA4G;AAC5G,8DAA+D;AAC/D,kEAAwE;AAExE,2CAAwC;AAGxC,MAAM,aAAa,GAAG,QAAQ,CAAA;AAE9B;;;GAGG;AACI,MAAM,YAAY,GAAG,CAC1B,MAAc,EACd,MAAc,EAC6C,EAAE;IAC7D;;;OAGG;IACH,MAAM,iBAAiB,GACrB,CAAC,OAAkE,EAAE,EAAE,CAAC,CAAO,UAAsB,EAAE,EAAE;QACvG,wCAAwC;QACxC,MAAM,OAAO,GAAG;YACd,IAAI,EAAE;gBACJ,IAAI,EAAE,aAAa;gBACnB,UAAU,EAAE,UAAU;aACvB;SACF,CAAA;QAED,OAAO,OAAO,CAAC;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC7B,OAAO,EAAE;gBACP,CAAC,+BAAmB,CAAC,EAAE,mCAAuB;gBAC9C,eAAe,EAAE,YAAY;gBAC7B,uBAAuB,EAAE,OAAO;aACjC;YACD,aAAa;YACb,MAAM,EAAE,uBAAW;YACnB,GAAG,EAAE,wBAAY;SAClB,CAAC,CAAA;IACJ,CAAC,CAAA,CAAA;IAEH,sBAAsB;IACtB,MAAM,GAAG,GAAG,IAAA,gBAAU,GAAE,CAAA;IACxB,0CAA0C;IAC1C,MAAM,aAAa,GAAG,IAAA,yBAAiB,EAAC,EAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAA;IAEvE,OAAO,iBAAiB,CAAC,aAAa,CAAC,CAAA;AACzC,CAAC,CAAA;AArCY,QAAA,YAAY,gBAqCxB"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/cli.js
ADDED
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AAAA,8CAAoE;AAEpE,MAAM,CAAC,OAAO,GAAG,CAAC,sBAAiB,CAAC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SbomUploadCommand } from '@datadog/datadog-ci-base/commands/sbom/upload-command';
|
|
2
|
+
export declare class PluginCommand extends SbomUploadCommand {
|
|
3
|
+
private config;
|
|
4
|
+
private fipsConfig;
|
|
5
|
+
/**
|
|
6
|
+
* Execute the command, which means parse the SBOM file, ensure they are
|
|
7
|
+
* compliant with their schema and upload them to datadog.
|
|
8
|
+
*/
|
|
9
|
+
execute(): Promise<1 | 0>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.PluginCommand = void 0;
|
|
16
|
+
const fs_1 = __importDefault(require("fs"));
|
|
17
|
+
const process_1 = __importDefault(require("process"));
|
|
18
|
+
const upload_command_1 = require("@datadog/datadog-ci-base/commands/sbom/upload-command");
|
|
19
|
+
const constants_1 = require("@datadog/datadog-ci-base/constants");
|
|
20
|
+
const env_1 = require("@datadog/datadog-ci-base/helpers/env");
|
|
21
|
+
const fips_1 = require("@datadog/datadog-ci-base/helpers/fips");
|
|
22
|
+
const tags_1 = require("@datadog/datadog-ci-base/helpers/tags");
|
|
23
|
+
const axios_1 = require("axios");
|
|
24
|
+
const api_1 = require("../api");
|
|
25
|
+
const payload_1 = require("../payload");
|
|
26
|
+
const renderer_1 = require("../renderer");
|
|
27
|
+
const validation_1 = require("../validation");
|
|
28
|
+
class PluginCommand extends upload_command_1.SbomUploadCommand {
|
|
29
|
+
constructor() {
|
|
30
|
+
var _a, _b;
|
|
31
|
+
super(...arguments);
|
|
32
|
+
this.config = {
|
|
33
|
+
apiKey: process_1.default.env.DATADOG_API_KEY || process_1.default.env.DD_API_KEY,
|
|
34
|
+
appKey: process_1.default.env.DATADOG_APP_KEY || process_1.default.env.DD_APP_KEY || '',
|
|
35
|
+
env: process_1.default.env.DD_ENV,
|
|
36
|
+
envVarTags: process_1.default.env.DD_TAGS,
|
|
37
|
+
fips: process_1.default.env[constants_1.FIPS_ENV_VAR],
|
|
38
|
+
};
|
|
39
|
+
this.fipsConfig = {
|
|
40
|
+
fips: (_a = (0, env_1.toBoolean)(process_1.default.env[constants_1.FIPS_ENV_VAR])) !== null && _a !== void 0 ? _a : false,
|
|
41
|
+
fipsIgnoreError: (_b = (0, env_1.toBoolean)(process_1.default.env[constants_1.FIPS_IGNORE_ERROR_ENV_VAR])) !== null && _b !== void 0 ? _b : false,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Execute the command, which means parse the SBOM file, ensure they are
|
|
46
|
+
* compliant with their schema and upload them to datadog.
|
|
47
|
+
*/
|
|
48
|
+
execute() {
|
|
49
|
+
var _a, _b;
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
(0, fips_1.enableFips)(this.fips || this.fipsConfig.fips, this.fipsIgnoreError || this.fipsConfig.fipsIgnoreError);
|
|
52
|
+
// TODO(julien): remove this notice in April 2025
|
|
53
|
+
if (this.serviceFromCli !== undefined) {
|
|
54
|
+
this.context.stderr.write('The CLI flag `--service` is deprecated and will be removed in a future version of datadog-ci\n');
|
|
55
|
+
this.context.stderr.write('To associate findings with services, consider using the service-to-repo mapping from service catalog\n');
|
|
56
|
+
this.context.stderr.write('Learn more at https://docs.datadoghq.com/getting_started/code_security/?tab=staticcodeanalysissast#link-datadog-services-to-repository-scan-results\n');
|
|
57
|
+
}
|
|
58
|
+
const service = 'datadog-ci';
|
|
59
|
+
const environment = this.env;
|
|
60
|
+
if (!this.basePath || !this.basePath.length) {
|
|
61
|
+
this.context.stderr.write('Missing basePath\n');
|
|
62
|
+
return 1;
|
|
63
|
+
}
|
|
64
|
+
if (!this.config.apiKey) {
|
|
65
|
+
this.context.stderr.write('API key not defined, define the environment variable DD_API_KEY.\n');
|
|
66
|
+
return 1;
|
|
67
|
+
}
|
|
68
|
+
if (!this.config.appKey) {
|
|
69
|
+
this.context.stderr.write('APP key not defined, define the environment variable DD_APP_KEY.\n');
|
|
70
|
+
return 1;
|
|
71
|
+
}
|
|
72
|
+
// Get the API helper to send the payload
|
|
73
|
+
const api = (0, api_1.getApiHelper)(this.config.apiKey, this.config.appKey);
|
|
74
|
+
const tags = yield (0, tags_1.getSpanTags)(this.config, this.tags, !this.noCiTags, this.gitPath);
|
|
75
|
+
// Gather any missing mandatory git fields to display to the user
|
|
76
|
+
const missingGitFields = (0, tags_1.getMissingRequiredGitTags)(tags);
|
|
77
|
+
if (missingGitFields.length > 0) {
|
|
78
|
+
this.context.stdout.write((0, renderer_1.renderMissingTags)(missingGitFields));
|
|
79
|
+
return 1;
|
|
80
|
+
}
|
|
81
|
+
const validator = (0, validation_1.getValidator)();
|
|
82
|
+
const startTimeMs = Date.now();
|
|
83
|
+
const basePath = this.basePath;
|
|
84
|
+
if (this.debug) {
|
|
85
|
+
this.context.stdout.write(`Processing file ${basePath}\n`);
|
|
86
|
+
}
|
|
87
|
+
if (!(0, validation_1.validateSbomFileAgainstSchema)(basePath, validator, !!this.debug)) {
|
|
88
|
+
this.context.stdout.write('SBOM file not fully compliant against CycloneDX 1.4, 1.5 or 1.6 specifications (use --debug to get validation error)\n');
|
|
89
|
+
}
|
|
90
|
+
if (!(0, validation_1.validateFileAgainstToolRequirements)(basePath, !!this.debug)) {
|
|
91
|
+
this.context.stdout.write((0, renderer_1.renderInvalidFile)(basePath));
|
|
92
|
+
return 1;
|
|
93
|
+
}
|
|
94
|
+
const jsonContent = JSON.parse(fs_1.default.readFileSync(basePath).toString('utf8'));
|
|
95
|
+
// Upload content
|
|
96
|
+
try {
|
|
97
|
+
const scaPayload = (0, payload_1.generatePayload)(jsonContent, tags, service, environment);
|
|
98
|
+
if (!scaPayload) {
|
|
99
|
+
this.context.stdout.write((0, renderer_1.renderInvalidPayload)(basePath));
|
|
100
|
+
return 1;
|
|
101
|
+
}
|
|
102
|
+
this.context.stdout.write((0, renderer_1.renderPayloadWarning)(scaPayload.dependencies));
|
|
103
|
+
scaPayload.dependencies = (0, validation_1.filterInvalidDependencies)(scaPayload.dependencies);
|
|
104
|
+
this.context.stdout.write((0, renderer_1.renderUploading)(basePath, scaPayload));
|
|
105
|
+
yield api(scaPayload);
|
|
106
|
+
if (this.debug) {
|
|
107
|
+
this.context.stdout.write(`Upload done for ${basePath}.\n`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
if ((0, axios_1.isAxiosError)(error)) {
|
|
112
|
+
if (((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 409) {
|
|
113
|
+
const sha = tags[tags_1.GIT_SHA] || 'sha-not-found';
|
|
114
|
+
const branch = tags[tags_1.GIT_BRANCH] || 'branch-not-found';
|
|
115
|
+
this.context.stderr.write((0, renderer_1.renderDuplicateUpload)(branch, sha));
|
|
116
|
+
return 0;
|
|
117
|
+
}
|
|
118
|
+
if (((_b = error.response) === null || _b === void 0 ? void 0 : _b.status) === 412) {
|
|
119
|
+
const repositoryUrl = tags[tags_1.GIT_REPOSITORY_URL] || 'repo-url-not-found';
|
|
120
|
+
this.context.stderr.write((0, renderer_1.renderNoDefaultBranch)(repositoryUrl));
|
|
121
|
+
return 1;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
this.context.stderr.write((0, renderer_1.renderFailedUpload)(basePath, error, !!this.debug));
|
|
125
|
+
return 1;
|
|
126
|
+
}
|
|
127
|
+
const uploadTimeMs = (Date.now() - startTimeMs) / 1000;
|
|
128
|
+
this.context.stdout.write((0, renderer_1.renderSuccessfulCommand)(uploadTimeMs));
|
|
129
|
+
return 0;
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.PluginCommand = PluginCommand;
|
|
134
|
+
//# sourceMappingURL=upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/commands/upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const API_ENDPOINT = "api/v2/static-analysis-sca/dependencies";
|
|
2
|
+
export declare const PACKAGE_MANAGER_PROPERTY_KEY = "osv-scanner:package-manager";
|
|
3
|
+
export declare const IS_DEPENDENCY_DIRECT_PROPERTY_KEY = "osv-scanner:is-direct";
|
|
4
|
+
export declare const IS_DEPENDENCY_DEV_ENVIRONMENT_PROPERTY_KEY = "osv-scanner:is-dev";
|
|
5
|
+
export declare const FILE_PACKAGE_PROPERTY_KEY = "osv-scanner:package";
|
|
6
|
+
export declare const EXCLUSION_KEY = "datadog-sbom-generator:exclusion";
|
|
7
|
+
export declare const REACHABLE_SYMBOL_LOCATION_KEY_PREFIX = "datadog-sbom-generator:reachable-symbol-location";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.REACHABLE_SYMBOL_LOCATION_KEY_PREFIX = exports.EXCLUSION_KEY = exports.FILE_PACKAGE_PROPERTY_KEY = exports.IS_DEPENDENCY_DEV_ENVIRONMENT_PROPERTY_KEY = exports.IS_DEPENDENCY_DIRECT_PROPERTY_KEY = exports.PACKAGE_MANAGER_PROPERTY_KEY = exports.API_ENDPOINT = void 0;
|
|
4
|
+
exports.API_ENDPOINT = 'api/v2/static-analysis-sca/dependencies';
|
|
5
|
+
exports.PACKAGE_MANAGER_PROPERTY_KEY = 'osv-scanner:package-manager';
|
|
6
|
+
exports.IS_DEPENDENCY_DIRECT_PROPERTY_KEY = 'osv-scanner:is-direct';
|
|
7
|
+
exports.IS_DEPENDENCY_DEV_ENVIRONMENT_PROPERTY_KEY = 'osv-scanner:is-dev';
|
|
8
|
+
exports.FILE_PACKAGE_PROPERTY_KEY = 'osv-scanner:package';
|
|
9
|
+
exports.EXCLUSION_KEY = 'datadog-sbom-generator:exclusion';
|
|
10
|
+
exports.REACHABLE_SYMBOL_LOCATION_KEY_PREFIX = 'datadog-sbom-generator:reachable-symbol-location';
|
|
11
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,yCAAyC,CAAA;AAExD,QAAA,4BAA4B,GAAG,6BAA6B,CAAA;AAC5D,QAAA,iCAAiC,GAAG,uBAAuB,CAAA;AAC3D,QAAA,0CAA0C,GAAG,oBAAoB,CAAA;AACjE,QAAA,yBAAyB,GAAG,qBAAqB,CAAA;AACjD,QAAA,aAAa,GAAG,kCAAkC,CAAA;AAElD,QAAA,oCAAoC,GAAG,kDAAkD,CAAA"}
|