@cyclonedx/cdxgen 11.2.6 → 11.2.7
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/bin/cdxgen.js +14 -4
- package/data/frameworks-list.json +9 -7
- package/data/pypi-pkg-aliases.json +1 -0
- package/lib/cli/index.js +18 -2
- package/lib/evinser/evinser.js +2 -2
- package/lib/helpers/utils.js +9 -12
- package/lib/helpers/utils.test.js +8 -8
- package/lib/helpers/validator.js +9 -0
- package/lib/managers/docker.js +7 -1
- package/lib/managers/piptree.js +3 -1
- package/lib/server/openapi.yaml +10 -2
- package/lib/server/server.js +32 -6
- package/lib/stages/pregen/pregen.js +5 -1
- package/package.json +6 -6
- package/types/lib/cli/index.d.ts.map +1 -1
- package/types/lib/helpers/utils.d.ts.map +1 -1
- package/types/lib/helpers/validator.d.ts.map +1 -1
- package/types/lib/managers/docker.d.ts.map +1 -1
- package/types/lib/managers/piptree.d.ts.map +1 -1
- package/types/lib/server/server.d.ts.map +1 -1
- package/types/lib/stages/pregen/pregen.d.ts.map +1 -1
package/bin/cdxgen.js
CHANGED
|
@@ -437,6 +437,15 @@ const options = Object.assign({}, args, {
|
|
|
437
437
|
? resolve(join(filePath, args.output))
|
|
438
438
|
: args.output,
|
|
439
439
|
});
|
|
440
|
+
// Should we create the output directory?
|
|
441
|
+
const outputDirectory = dirname(options.output);
|
|
442
|
+
if (
|
|
443
|
+
outputDirectory &&
|
|
444
|
+
outputDirectory !== process.cwd() &&
|
|
445
|
+
!safeExistsSync(outputDirectory)
|
|
446
|
+
) {
|
|
447
|
+
fs.mkdirSync(outputDirectory, { recursive: true });
|
|
448
|
+
}
|
|
440
449
|
// Filter duplicate types. Eg: -t gradle -t gradle
|
|
441
450
|
if (options.projectType && Array.isArray(options.projectType)) {
|
|
442
451
|
options.projectType = Array.from(new Set(options.projectType));
|
|
@@ -658,6 +667,11 @@ const checkPermissions = (filePath, options) => {
|
|
|
658
667
|
}
|
|
659
668
|
// Secure mode checks
|
|
660
669
|
if (isSecureMode) {
|
|
670
|
+
if (process.env?.GITHUB_TOKEN) {
|
|
671
|
+
console.log(
|
|
672
|
+
"Ensure that the GitHub token provided to cdxgen is restricted to read-only scopes.",
|
|
673
|
+
);
|
|
674
|
+
}
|
|
661
675
|
if (process.permission.has("fs.read", "*")) {
|
|
662
676
|
console.log(
|
|
663
677
|
"\x1b[1;35mSECURE MODE: DO NOT run cdxgen with FileSystemRead permission set to wildcard.\x1b[0m",
|
|
@@ -785,10 +799,6 @@ const checkPermissions = (filePath, options) => {
|
|
|
785
799
|
}
|
|
786
800
|
return;
|
|
787
801
|
}
|
|
788
|
-
// This will prevent people from accidentally using the usages slices belonging to a different project
|
|
789
|
-
if (!options.usagesSlicesFile) {
|
|
790
|
-
options.usagesSlicesFile = `${options.projectName}-usages.json`;
|
|
791
|
-
}
|
|
792
802
|
prepareEnv(filePath, options);
|
|
793
803
|
thoughtLog("Getting ready to generate the BOM ⚡️.");
|
|
794
804
|
let bomNSData = (await createBom(filePath, options)) || {};
|
|
@@ -36,13 +36,15 @@
|
|
|
36
36
|
"play",
|
|
37
37
|
"spark",
|
|
38
38
|
"struts",
|
|
39
|
-
"
|
|
40
|
-
"react",
|
|
41
|
-
"next",
|
|
42
|
-
"ember",
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
39
|
+
"pkg:npm/%40angular",
|
|
40
|
+
"pkg:npm/react",
|
|
41
|
+
"pkg:npm/next",
|
|
42
|
+
"pkg:npm/ember",
|
|
43
|
+
"pkg:npm/%40electron",
|
|
44
|
+
"pkg:npm/%40protobufjs",
|
|
45
|
+
"pkg:npm/express",
|
|
46
|
+
"pkg:npm/knex",
|
|
47
|
+
"pkg:npm/vue",
|
|
46
48
|
"pkg:pypi/aiohttp",
|
|
47
49
|
"pkg:pypi/bottle",
|
|
48
50
|
"pkg:pypi/cherrypy",
|
package/lib/cli/index.js
CHANGED
|
@@ -785,6 +785,10 @@ function addMetadata(parentComponent = {}, options = {}, context = {}) {
|
|
|
785
785
|
"PNPM_STORE_PATH",
|
|
786
786
|
"PNPM_HOME",
|
|
787
787
|
"PNPM_CONFIG_",
|
|
788
|
+
"GIO_MODULE_DIR",
|
|
789
|
+
"GST_PLUGIN_PATH",
|
|
790
|
+
"GST_PLUGIN_SYSTEM_PATH",
|
|
791
|
+
"APPDIR_LIBRARY_PATH", // appimage specific which gets prepended to LD_LIBRARY_PATH
|
|
788
792
|
]) {
|
|
789
793
|
if (evalue.includes(senvValue)) {
|
|
790
794
|
mproperties.push({
|
|
@@ -1202,6 +1206,13 @@ function determinePackageType(pkg) {
|
|
|
1202
1206
|
return "application";
|
|
1203
1207
|
}
|
|
1204
1208
|
}
|
|
1209
|
+
// See #1760
|
|
1210
|
+
if (
|
|
1211
|
+
purl.namespace?.startsWith("@types") ||
|
|
1212
|
+
(purl.namespace?.includes("-types") && pkg?.type === "npm")
|
|
1213
|
+
) {
|
|
1214
|
+
return "library";
|
|
1215
|
+
}
|
|
1205
1216
|
for (const cf of frameworksList.all) {
|
|
1206
1217
|
if (
|
|
1207
1218
|
pkg.purl.startsWith(cf) ||
|
|
@@ -2308,7 +2319,7 @@ export async function createJavaBom(path, options) {
|
|
|
2308
2319
|
query = ["--bazelrc=.bazelrc"];
|
|
2309
2320
|
}
|
|
2310
2321
|
if (["true", "1"].includes(process.env.BAZEL_USE_ACTION_GRAPH)) {
|
|
2311
|
-
query = query.concat(["
|
|
2322
|
+
query = query.concat(["query", `deps(${target})`, "--output=label"]);
|
|
2312
2323
|
bazelParser = parseBazelActionGraph;
|
|
2313
2324
|
} else {
|
|
2314
2325
|
query = query.concat([
|
|
@@ -4838,7 +4849,10 @@ export function createCppBom(path, options) {
|
|
|
4838
4849
|
parentComponent = retMap.parentComponent;
|
|
4839
4850
|
} else {
|
|
4840
4851
|
parentComponent.components = parentComponent.components || [];
|
|
4841
|
-
if (
|
|
4852
|
+
if (
|
|
4853
|
+
retMap?.parentComponent?.name &&
|
|
4854
|
+
!addedParentComponentsMap[retMap.parentComponent.name]
|
|
4855
|
+
) {
|
|
4842
4856
|
parentComponent.components.push(retMap.parentComponent);
|
|
4843
4857
|
addedParentComponentsMap[retMap.parentComponent.name] = true;
|
|
4844
4858
|
}
|
|
@@ -6807,6 +6821,8 @@ export function trimComponents(components) {
|
|
|
6807
6821
|
if (comp?.evidence?.identity) {
|
|
6808
6822
|
if (!existingComponent.evidence) {
|
|
6809
6823
|
existingComponent.evidence = { identity: [] };
|
|
6824
|
+
} else if (!existingComponent?.evidence?.identity) {
|
|
6825
|
+
existingComponent.evidence.identity = [];
|
|
6810
6826
|
} else if (
|
|
6811
6827
|
existingComponent?.evidence?.identity &&
|
|
6812
6828
|
!Array.isArray(existingComponent.evidence.identity)
|
package/lib/evinser/evinser.js
CHANGED
|
@@ -259,7 +259,7 @@ export async function createSlice(
|
|
|
259
259
|
const openapiSpecFile = basename(
|
|
260
260
|
options.openapiSpecFile ||
|
|
261
261
|
process.env?.ATOM_TOOLS_OPENAPI_FILENAME ||
|
|
262
|
-
`${language}-openapi.json
|
|
262
|
+
join(sliceOutputDir, `${language}-openapi.json`),
|
|
263
263
|
);
|
|
264
264
|
// For some languages such as scala, semantics slices file would get created during usages slicing.
|
|
265
265
|
let semanticsSlicesFile;
|
|
@@ -277,7 +277,7 @@ export async function createSlice(
|
|
|
277
277
|
console.log(
|
|
278
278
|
`Creating ${sliceType} slice for ${resolve(filePath)}. Please wait ...`,
|
|
279
279
|
);
|
|
280
|
-
const atomFile = join(sliceOutputDir,
|
|
280
|
+
const atomFile = join(sliceOutputDir, `${language}-app.atom`);
|
|
281
281
|
let args = [sliceType];
|
|
282
282
|
// Support for crypto slices aka CBOM
|
|
283
283
|
if (sliceType === "reachables" && options.includeCrypto) {
|
package/lib/helpers/utils.js
CHANGED
|
@@ -4091,12 +4091,7 @@ export function executeParallelGradleProperties(
|
|
|
4091
4091
|
* @param {string} rawOutput Raw string output
|
|
4092
4092
|
*/
|
|
4093
4093
|
export function parseBazelActionGraph(rawOutput) {
|
|
4094
|
-
const mavenPrefixRegex =
|
|
4095
|
-
`^.*v1/https/[^/]*(?:${
|
|
4096
|
-
process.env.BAZEL_STRIP_MAVEN_PREFIX || "/maven2/"
|
|
4097
|
-
})?(.*)/(.*)/(.*)/(.*.jar)(?:"| \\\\)?$`,
|
|
4098
|
-
"g",
|
|
4099
|
-
);
|
|
4094
|
+
const mavenPrefixRegex = /^@maven\/\/:(.*)\/(.*)\/(.*)\/(.*\.jar)$/g;
|
|
4100
4095
|
|
|
4101
4096
|
if (typeof rawOutput === "string") {
|
|
4102
4097
|
const deps = [];
|
|
@@ -4104,10 +4099,7 @@ export function parseBazelActionGraph(rawOutput) {
|
|
|
4104
4099
|
const tmpA = rawOutput.split("\n");
|
|
4105
4100
|
tmpA.forEach((l) => {
|
|
4106
4101
|
l = l.replace("\r", "");
|
|
4107
|
-
if (
|
|
4108
|
-
l.trim().startsWith("arguments") ||
|
|
4109
|
-
l.trim().startsWith("bazel-out")
|
|
4110
|
-
) {
|
|
4102
|
+
if (l.trim().startsWith("@maven//:")) {
|
|
4111
4103
|
const matches = Array.from(l.matchAll(mavenPrefixRegex));
|
|
4112
4104
|
|
|
4113
4105
|
if (matches[0]?.[1]) {
|
|
@@ -13036,7 +13028,6 @@ export function executeAtom(src, args, extra_env = {}) {
|
|
|
13036
13028
|
cwd,
|
|
13037
13029
|
encoding: "utf-8",
|
|
13038
13030
|
timeout: TIMEOUT_MS,
|
|
13039
|
-
detached: !isWin && !process.env.CI,
|
|
13040
13031
|
shell: isWin,
|
|
13041
13032
|
killSignal: "SIGKILL",
|
|
13042
13033
|
env,
|
|
@@ -13066,6 +13057,12 @@ export function executeAtom(src, args, extra_env = {}) {
|
|
|
13066
13057
|
console.warn(
|
|
13067
13058
|
"WARN: The binary plugin used by atom has crashed. Please try an alternative container image and file an issue with steps to reproduce at: https://github.com/AppThreat/atom/issues",
|
|
13068
13059
|
);
|
|
13060
|
+
} else if (
|
|
13061
|
+
result.stderr?.includes("Could not parse command line options")
|
|
13062
|
+
) {
|
|
13063
|
+
console.warn(
|
|
13064
|
+
"Invalid command-line options passed to atom. Please file a bug in the cdxgen repository.",
|
|
13065
|
+
);
|
|
13069
13066
|
}
|
|
13070
13067
|
}
|
|
13071
13068
|
if (result.stdout) {
|
|
@@ -13112,7 +13109,7 @@ export function findAppModules(
|
|
|
13112
13109
|
slicesFile = undefined,
|
|
13113
13110
|
) {
|
|
13114
13111
|
const tempDir = mkdtempSync(join(tmpdir(), "atom-deps-"));
|
|
13115
|
-
const atomFile = join(tempDir,
|
|
13112
|
+
const atomFile = join(tempDir, `${language}-app.atom`);
|
|
13116
13113
|
if (!slicesFile) {
|
|
13117
13114
|
slicesFile = join(tempDir, "slices.json");
|
|
13118
13115
|
}
|
|
@@ -1318,7 +1318,7 @@ describe("go data with licenses", () => {
|
|
|
1318
1318
|
afterAll(() => {
|
|
1319
1319
|
delete process.env.FETCH_LICENSE;
|
|
1320
1320
|
});
|
|
1321
|
-
test("parseGoSumData with licenses", async () => {
|
|
1321
|
+
test.skip("parseGoSumData with licenses", async () => {
|
|
1322
1322
|
let dep_list = await parseGosumData(null);
|
|
1323
1323
|
expect(dep_list).toEqual([]);
|
|
1324
1324
|
dep_list = await parseGosumData(
|
|
@@ -2447,7 +2447,7 @@ test("parse github actions workflow data", () => {
|
|
|
2447
2447
|
let dep_list = parseGitHubWorkflowData(
|
|
2448
2448
|
readFileSync("./.github/workflows/nodejs.yml", { encoding: "utf-8" }),
|
|
2449
2449
|
);
|
|
2450
|
-
expect(dep_list.length).toEqual(
|
|
2450
|
+
expect(dep_list.length).toEqual(5);
|
|
2451
2451
|
expect(dep_list[0]).toEqual({
|
|
2452
2452
|
group: "actions",
|
|
2453
2453
|
name: "checkout",
|
|
@@ -2456,7 +2456,7 @@ test("parse github actions workflow data", () => {
|
|
|
2456
2456
|
dep_list = parseGitHubWorkflowData(
|
|
2457
2457
|
readFileSync("./.github/workflows/repotests.yml", { encoding: "utf-8" }),
|
|
2458
2458
|
);
|
|
2459
|
-
expect(dep_list.length).toEqual(
|
|
2459
|
+
expect(dep_list.length).toEqual(13);
|
|
2460
2460
|
expect(dep_list[0]).toEqual({
|
|
2461
2461
|
group: "actions",
|
|
2462
2462
|
name: "checkout",
|
|
@@ -3779,8 +3779,8 @@ test("parsePnpmLock", async () => {
|
|
|
3779
3779
|
expect(parsedList.dependenciesList).toHaveLength(462);
|
|
3780
3780
|
expect(parsedList.pkgList.filter((pkg) => !pkg.scope)).toHaveLength(3);
|
|
3781
3781
|
parsedList = await parsePnpmLock("./pnpm-lock.yaml");
|
|
3782
|
-
expect(parsedList.pkgList.length).toEqual(
|
|
3783
|
-
expect(parsedList.dependenciesList.length).toEqual(
|
|
3782
|
+
expect(parsedList.pkgList.length).toEqual(623);
|
|
3783
|
+
expect(parsedList.dependenciesList.length).toEqual(623);
|
|
3784
3784
|
expect(parsedList.pkgList[0]).toEqual({
|
|
3785
3785
|
group: "@ampproject",
|
|
3786
3786
|
name: "remapping",
|
|
@@ -5178,13 +5178,13 @@ test("parse bazel action graph", () => {
|
|
|
5178
5178
|
encoding: "utf-8",
|
|
5179
5179
|
}),
|
|
5180
5180
|
);
|
|
5181
|
-
expect(deps.length).toEqual(
|
|
5181
|
+
expect(deps.length).toEqual(2);
|
|
5182
5182
|
expect(deps[0].group).toEqual("org.scala-lang");
|
|
5183
5183
|
expect(deps[0].name).toEqual("scala-library");
|
|
5184
|
-
expect(deps[0].version).toEqual("2.13.
|
|
5184
|
+
expect(deps[0].version).toEqual("2.13.16");
|
|
5185
5185
|
expect(deps[1].group).toEqual("org.jline");
|
|
5186
5186
|
expect(deps[1].name).toEqual("jline");
|
|
5187
|
-
expect(deps[1].version).toEqual("3.
|
|
5187
|
+
expect(deps[1].version).toEqual("3.26.3");
|
|
5188
5188
|
});
|
|
5189
5189
|
|
|
5190
5190
|
test("parse bazel build", () => {
|
package/lib/helpers/validator.js
CHANGED
|
@@ -137,8 +137,12 @@ export const validateMetadata = (bomJson) => {
|
|
|
137
137
|
export const validatePurls = (bomJson) => {
|
|
138
138
|
const errorList = [];
|
|
139
139
|
const warningsList = [];
|
|
140
|
+
let frameworksCount = 0;
|
|
140
141
|
if (bomJson?.components) {
|
|
141
142
|
for (const comp of bomJson.components) {
|
|
143
|
+
if (comp.type === "framework") {
|
|
144
|
+
frameworksCount += 1;
|
|
145
|
+
}
|
|
142
146
|
if (comp.type === "cryptographic-asset") {
|
|
143
147
|
if (comp.purl?.length) {
|
|
144
148
|
errorList.push(
|
|
@@ -187,6 +191,11 @@ export const validatePurls = (bomJson) => {
|
|
|
187
191
|
}
|
|
188
192
|
}
|
|
189
193
|
}
|
|
194
|
+
if (frameworksCount > 20) {
|
|
195
|
+
warningsList.push(
|
|
196
|
+
`BOM likey has too many framework components. Count: ${frameworksCount}`,
|
|
197
|
+
);
|
|
198
|
+
}
|
|
190
199
|
if (DEBUG_MODE && warningsList.length !== 0) {
|
|
191
200
|
console.log("===== WARNINGS =====");
|
|
192
201
|
console.log(warningsList);
|
package/lib/managers/docker.js
CHANGED
|
@@ -19,6 +19,7 @@ import got from "got";
|
|
|
19
19
|
import { x } from "tar";
|
|
20
20
|
import {
|
|
21
21
|
DEBUG_MODE,
|
|
22
|
+
TIMEOUT_MS,
|
|
22
23
|
extractPathEnv,
|
|
23
24
|
getAllFiles,
|
|
24
25
|
getTmpDir,
|
|
@@ -674,6 +675,7 @@ export const getImage = async (fullImageName) => {
|
|
|
674
675
|
if (needsPull) {
|
|
675
676
|
result = spawnSync(dockerCmd, ["pull", fullImageName], {
|
|
676
677
|
encoding: "utf-8",
|
|
678
|
+
timeout: TIMEOUT_MS,
|
|
677
679
|
});
|
|
678
680
|
if (result.status !== 0 || result.error) {
|
|
679
681
|
if (result.stderr?.includes("docker daemon is not running")) {
|
|
@@ -876,6 +878,7 @@ export const extractTar = async (fullImageName, dir, options) => {
|
|
|
876
878
|
path.includes("usr/share/doc/") ||
|
|
877
879
|
path.includes("usr/share/i18n/") ||
|
|
878
880
|
path.includes("var/lib/ca-certificates") ||
|
|
881
|
+
path.includes("root/.gnupg") ||
|
|
879
882
|
basename(path).startsWith(".") ||
|
|
880
883
|
path.includes("usr/share/licenses/device-mapper-libs") ||
|
|
881
884
|
[
|
|
@@ -887,6 +890,7 @@ export const extractTar = async (fullImageName, dir, options) => {
|
|
|
887
890
|
"SymbolicLink",
|
|
888
891
|
"RenamedOrSymlinked",
|
|
889
892
|
"HardLink",
|
|
893
|
+
"Link",
|
|
890
894
|
].includes(entry.type)
|
|
891
895
|
);
|
|
892
896
|
},
|
|
@@ -1388,7 +1392,9 @@ export const getCredsFromHelper = (exeSuffix, serverAddress) => {
|
|
|
1388
1392
|
encoding: "utf-8",
|
|
1389
1393
|
});
|
|
1390
1394
|
if (result.status !== 0 || result.error) {
|
|
1391
|
-
|
|
1395
|
+
if (result.stdout || result.stderr) {
|
|
1396
|
+
console.log(result.stdout, result.stderr);
|
|
1397
|
+
}
|
|
1392
1398
|
} else if (result.stdout) {
|
|
1393
1399
|
const cmdOutput = Buffer.from(result.stdout).toString();
|
|
1394
1400
|
try {
|
package/lib/managers/piptree.js
CHANGED
|
@@ -147,7 +147,9 @@ export const getTreeWithPlugin = (env, python_cmd, basePath) => {
|
|
|
147
147
|
env,
|
|
148
148
|
});
|
|
149
149
|
if (result.status !== 0 || result.error) {
|
|
150
|
-
|
|
150
|
+
if (result.stdout || result.stderr) {
|
|
151
|
+
console.log(result.stdout, result.stderr);
|
|
152
|
+
}
|
|
151
153
|
}
|
|
152
154
|
if (existsSync(pipTreeJson)) {
|
|
153
155
|
tree = JSON.parse(
|
package/lib/server/openapi.yaml
CHANGED
|
@@ -338,6 +338,10 @@ components:
|
|
|
338
338
|
$ref: '#/components/schemas/Services'
|
|
339
339
|
dependencies:
|
|
340
340
|
$ref: '#/components/schemas/Dependencies'
|
|
341
|
+
annotations:
|
|
342
|
+
$ref: '#/components/schemas/Annotations'
|
|
343
|
+
formulation:
|
|
344
|
+
$ref: '#/components/schemas/Formulation'
|
|
341
345
|
|
|
342
346
|
ErrorResponse:
|
|
343
347
|
type: object
|
|
@@ -362,5 +366,9 @@ components:
|
|
|
362
366
|
|
|
363
367
|
Dependencies:
|
|
364
368
|
type: object
|
|
365
|
-
|
|
366
|
-
|
|
369
|
+
|
|
370
|
+
Annotations:
|
|
371
|
+
type: object
|
|
372
|
+
|
|
373
|
+
Formulation:
|
|
374
|
+
type: object
|
package/lib/server/server.js
CHANGED
|
@@ -178,6 +178,14 @@ const start = (options) => {
|
|
|
178
178
|
process.exit(1);
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
|
+
if (!process.env.CDXGEN_SERVER_ALLOWED_HOSTS) {
|
|
182
|
+
console.log(
|
|
183
|
+
"No allowlist for hosts has been specified. This is a security risk that could expose the system to SSRF vulnerabilities!",
|
|
184
|
+
);
|
|
185
|
+
if (isSecureMode) {
|
|
186
|
+
process.exit(1);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
181
189
|
const cdxgenServer = http
|
|
182
190
|
.createServer(app)
|
|
183
191
|
.listen(options.serverPort, options.serverHost);
|
|
@@ -189,6 +197,15 @@ const start = (options) => {
|
|
|
189
197
|
});
|
|
190
198
|
|
|
191
199
|
app.use("/sbom", async (req, res) => {
|
|
200
|
+
// Limit to only GET and POST requests
|
|
201
|
+
if (req.method && !["GET", "POST"].includes(req.method.toUpperCase())) {
|
|
202
|
+
res.writeHead(405, { "Content-Type": "application/json" });
|
|
203
|
+
return res.end(
|
|
204
|
+
JSON.stringify({
|
|
205
|
+
error: "Method Not Allowed",
|
|
206
|
+
}),
|
|
207
|
+
);
|
|
208
|
+
}
|
|
192
209
|
const requestUrl = new URL(req.url, `http://${req.headers.host}`);
|
|
193
210
|
const q = Object.fromEntries(requestUrl.searchParams.entries());
|
|
194
211
|
let cleanup = false;
|
|
@@ -202,7 +219,7 @@ const start = (options) => {
|
|
|
202
219
|
res.writeHead(500, { "Content-Type": "application/json" });
|
|
203
220
|
return res.end(
|
|
204
221
|
JSON.stringify({
|
|
205
|
-
error: "
|
|
222
|
+
error: "Path or URL is required.",
|
|
206
223
|
}),
|
|
207
224
|
);
|
|
208
225
|
}
|
|
@@ -215,7 +232,7 @@ const start = (options) => {
|
|
|
215
232
|
return res.end(
|
|
216
233
|
JSON.stringify({
|
|
217
234
|
error: "Host Not Allowed",
|
|
218
|
-
details:
|
|
235
|
+
details: "The Git URL host is not allowed as per the allowlist.",
|
|
219
236
|
}),
|
|
220
237
|
);
|
|
221
238
|
}
|
|
@@ -227,20 +244,20 @@ const start = (options) => {
|
|
|
227
244
|
return res.end(
|
|
228
245
|
JSON.stringify({
|
|
229
246
|
error: "Path Not Allowed",
|
|
230
|
-
details:
|
|
247
|
+
details: "Path is not allowed as per the allowlist.",
|
|
231
248
|
}),
|
|
232
249
|
);
|
|
233
250
|
}
|
|
234
251
|
}
|
|
235
252
|
if (srcDir !== path.resolve(srcDir)) {
|
|
236
253
|
console.log(
|
|
237
|
-
`Invoke the API with an absolute path '${path.resolve(srcDir)}'
|
|
254
|
+
`Invoke the API with an absolute path '${path.resolve(srcDir)}' to reduce security risks.`,
|
|
238
255
|
);
|
|
239
256
|
if (isSecureMode) {
|
|
240
257
|
res.writeHead(500, { "Content-Type": "application/json" });
|
|
241
258
|
return res.end(
|
|
242
259
|
JSON.stringify({
|
|
243
|
-
error:
|
|
260
|
+
error: "Absolute path needed",
|
|
244
261
|
details: "Relative paths are not supported in secure mode.",
|
|
245
262
|
}),
|
|
246
263
|
);
|
|
@@ -250,6 +267,15 @@ const start = (options) => {
|
|
|
250
267
|
let bomNSData = (await createBom(srcDir, reqOptions)) || {};
|
|
251
268
|
bomNSData = postProcess(bomNSData, reqOptions);
|
|
252
269
|
if (reqOptions.serverUrl && reqOptions.apiKey) {
|
|
270
|
+
if (!isAllowedHost(reqOptions.serverUrl)) {
|
|
271
|
+
res.writeHead(403, { "Content-Type": "application/json" });
|
|
272
|
+
return res.end(
|
|
273
|
+
JSON.stringify({
|
|
274
|
+
error: "Host Not Allowed",
|
|
275
|
+
details: "The URL host is not allowed as per the allowlist.",
|
|
276
|
+
}),
|
|
277
|
+
);
|
|
278
|
+
}
|
|
253
279
|
if (isSecureMode && !reqOptions.serverUrl?.startsWith("https://")) {
|
|
254
280
|
console.log(
|
|
255
281
|
"Dependency Track API server is used with a non-https url, which poses a security risk.",
|
|
@@ -267,7 +293,7 @@ const start = (options) => {
|
|
|
267
293
|
res.writeHead(500, { "Content-Type": "application/json" });
|
|
268
294
|
return res.end(
|
|
269
295
|
JSON.stringify({
|
|
270
|
-
error:
|
|
296
|
+
error: "Unable to submit the SBOM to the Dependency-Track server",
|
|
271
297
|
details: errorMessages,
|
|
272
298
|
}),
|
|
273
299
|
);
|
|
@@ -79,7 +79,11 @@ export function prepareSdkmanBuild(projectType) {
|
|
|
79
79
|
*/
|
|
80
80
|
export function preparePythonEnv(_filePath, options) {
|
|
81
81
|
if (hasAnyProjectType(["python"], options, false)) {
|
|
82
|
-
if (
|
|
82
|
+
if (
|
|
83
|
+
DEBUG_MODE &&
|
|
84
|
+
process.env?.CDXGEN_IN_CONTAINER !== "true" &&
|
|
85
|
+
arch() !== "x64"
|
|
86
|
+
) {
|
|
83
87
|
console.log(
|
|
84
88
|
`INFO: Many pypi packages have limited support for ${arch()} architecture. Run the cdxgen container image with --platform=linux/amd64 for best experience.`,
|
|
85
89
|
);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyclonedx/cdxgen",
|
|
3
|
-
"version": "11.2.
|
|
3
|
+
"version": "11.2.7",
|
|
4
4
|
"description": "Creates CycloneDX Software Bill of Materials (SBOM) from source or container image",
|
|
5
5
|
"homepage": "http://github.com/cyclonedx/cdxgen",
|
|
6
6
|
"author": "Prabhu Subramanian <prabhu@appthreat.com>",
|
|
@@ -71,8 +71,8 @@
|
|
|
71
71
|
"*": "biome check --fix --no-errors-on-unmatched"
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
|
-
"@babel/parser": "^7.27.
|
|
75
|
-
"@babel/traverse": "^7.27.
|
|
74
|
+
"@babel/parser": "^7.27.1",
|
|
75
|
+
"@babel/traverse": "^7.27.1",
|
|
76
76
|
"@iarna/toml": "2.2.5",
|
|
77
77
|
"@npmcli/arborist": "9.0.2",
|
|
78
78
|
"ajv": "^8.17.1",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"cheerio": "^1.0.0",
|
|
81
81
|
"edn-data": "1.1.2",
|
|
82
82
|
"find-up": "7.0.0",
|
|
83
|
-
"glob": "^11.0.
|
|
83
|
+
"glob": "^11.0.2",
|
|
84
84
|
"global-agent": "^3.0.0",
|
|
85
85
|
"got": "^14.4.7",
|
|
86
86
|
"iconv-lite": "^0.6.3",
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
"yoctocolors": "^2.1.1"
|
|
102
102
|
},
|
|
103
103
|
"optionalDependencies": {
|
|
104
|
-
"@appthreat/atom": "2.1.
|
|
104
|
+
"@appthreat/atom": "2.1.18",
|
|
105
105
|
"@appthreat/cdx-proto": "1.0.1",
|
|
106
106
|
"@cyclonedx/cdxgen-plugins-bin": "1.6.10",
|
|
107
107
|
"@cyclonedx/cdxgen-plugins-bin-linux-arm": "1.6.10",
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
"typescript": "^5.8.3"
|
|
134
134
|
},
|
|
135
135
|
"overrides": {
|
|
136
|
-
"glob": "^11.0.
|
|
136
|
+
"glob": "^11.0.2",
|
|
137
137
|
"node-gyp": "^10.2.0",
|
|
138
138
|
"prebuild": "^13.0.0",
|
|
139
139
|
"pacote": "^20.0.0",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/cli/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/cli/index.js"],"names":[],"mappings":"AA27BA;;;;;;;;GAQG;AACH,gFAFW,MAAM,SAchB;AAqYD;;;;;;;GAOG;AACH,mCALW,MAAM,qBAyEhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM;;;;EAKhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM;;;;EAkBhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAgvChB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BAmvBhB;AAED;;;;;;;;;;GAUG;AACH,+DAsEC;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BAkehB;AAED;;;;;GAKG;AACH,kCAHW,MAAM,8BA+YhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAuIhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAkEhB;AAED;;;;;GAKG;AACH,mCAHW,MAAM,qBAkLhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM,qBAsHhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,0CAHW,MAAM,qBAuBhB;AAED;;;;;GAKG;AACH,mCAHW,MAAM,8BAqDhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM,8BA4ChB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,qBA2BhB;AAED;;;;;GAKG;AACH,qCAHW,MAAM,8BA8IhB;AAED;;;;;GAKG;AACH,qCAHW,MAAM,8BAmJhB;AAED;;;;;GAKG;AACH,iDAHW,MAAM,qBAmUhB;AAED;;;;;GAKG;AACH,mCAHW,MAAM,qBAiJhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAwNhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BA8ZhB;AAED;;;;;GAKG;AACH,2CAHW,MAAM;;;;;;;;;;;;;;;;;;;;GAoChB;AAED;;;;;;;;KA+DC;AAED;;;;;;GAMG;AACH,yDAiGC;AAED;;;;;;;;;GASG;AACH,2GAuCC;AAED;;;;;GAKG;AACH,0CAHW,MAAM,EAAE,8BA6vBlB;AAED;;;;;GAKG;AACH,iCAHW,MAAM,8BAqUhB;AAED;;;;;GAKG;AACH,gCAHW,MAAM,qBA2QhB;AAED;;;;;;;GAOG;AACH,wDAHY,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CA2HjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/helpers/utils.js"],"names":[],"mappings":"AA8EA;;;;;GAKG;AACH,0DAUC;AAED;;;;;;GAMG;AACH,yDAHmB,OAAO,UAazB;AAmFD,8CAKC;AAED,0CAIC;AAsBD,yCAYC;AAID,2CAQC;AAiOD;;;;;;;GAOG;AACH,4EAiBC;AAED;;;;;;GAMG;AACH,mGA2EC;AAED;;;;;;;;GAQG;AACH,yGAeC;AAyBD;;;;;;GAMG;AACH,qCAJW,MAAM,WACN,MAAM,2BA8BhB;AAED;;;;;;GAMG;AACH,+CAJW,MAAM,WACN,MAAM,+BA0BhB;AAYD;;;;GAIG;AACH,gCAFa,MAAM,CAIlB;AAED,iCAQC;AAED;;;;;;IAMI;AACJ,iDAJW,MAAM,GACJ,OAAO,CAWnB;AAED;;;;;;;;;GASG;AACH,iEA2BC;AAED;;;;;GAKG;AACH,6CAqDC;AAED;;;;;;GAMG;AACH,sEA0DC;AAED;;;;GAIG;AACH,4EAoCC;AAED;;;GAGG;AACH;;EAUC;AAED,sEA0BC;AAED;;;;GAIG;AACH,+DA4CC;AAED;;;;;GAKG;AACH,0CAHW,MAAM,WACN,OAAO,kBA+EjB;AAED;;;;;GAKG;AACH,0CAHW,MAAM,YACN,MAAM;;;GAygBhB;AAED;;;;;;;GAOG;AACH,6CAFW,MAAM,MA2DhB;AAgCD;;;;GAIG;AACH,4CAFW,MAAM;;;GA4OhB;AAED;;;;GAIG;AACH,4CAFW,MAAM,kBAiEhB;AAoHD;;;;;GAKG;AACH,kDAHW,MAAM,GACJ,MAAM,CAgBlB;AAED;;;;;;;;;;GAUG;AACH,wCARW,MAAM;;;;;;;;;;;;;;;;;;GAuvBhB;AAED;;;;GAIG;AACH,8CAFW,MAAM,kBA+ChB;AAED;;;;GAIG;AACH,sCAFW,MAAM,kBAgFhB;AAED;;;;;GAKG;AACH,kCAHW,MAAM,OAqIhB;AAED;;;;;;GAMG;AACH,0CALW,MAAM,WACN,MAAM,OA+JhB;AAED;;;;;;;;;GASG;AACH,4CAPW,MAAM,gBACN,GAAG,aACH,GAAG,gBACH,MAAM,OA+GhB;AAiBD;;;;;;GAMG;AACH,0CALW,MAAM,oBACN,MAAM,kBACN,GAAG,mBACH,MAAM;;;;;;;;;GA6OhB;AAED;;;GAGG;AACH,uCAFW,MAAM,SAoChB;AAED;;;GAGG;AACH,wCAFW,MAAM,OAahB;AAED,yEAwBC;AAED;;;;GAIG;AACH,+CAFW,MAAM;;;EAwDhB;AAED;;;;;GAKG;AACH,iDAHW,MAAM,qBACN,MAAM;;;;;;;;EAmDhB;AAED;;;;;;;;GAQG;AACH,qDANW,MAAM,6CAIJ,MAAM,CAoFlB;AAED;;;GAGG;AACH,iDAFW,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/helpers/utils.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../lib/helpers/validator.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../lib/helpers/validator.js"],"names":[],"mappings":"AAuUA;;;;GAIG;AACH,uCAFW,MAAM,WA0FhB;AAjZM,qCAJI,MAAM,WAkDhB;AAOM,0CAFI,MAAM,WA2DhB;AAOM,uCAFI,MAAM,WA4EhB;AA6BM,sCAFI,MAAM,WAwFhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../../lib/managers/docker.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../../lib/managers/docker.js"],"names":[],"mappings":"AAkFA;;GAEG;AACH,oCAmBC;AAED;;GAEG;AACH,4CA6CC;AA7HD,4BAA6C;AAC7C,kCAAmC,WAAW,CAAC;AAmCxC,kDAeN;AAqFM,iCAHI,MAAM,WACN,MAAM,iDAehB;AAqBM,6DAmBN;AAgLM,4EAsGN;AAEM,oFAwBN;AAUM;;;;;;;;EAyEN;AAsBM,2DAuMN;AAgBM,yFAuGN;AAMM;;;;;;;;;;;;;;GAwDN;AAEM;;;;;;;;GAyGN;AAMM,4EA+IN;AAKM,4EA2GN;AAEM,+EAEN;AAEM,4EA2CN;AAEM,iFA0BN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"piptree.d.ts","sourceRoot":"","sources":["../../../lib/managers/piptree.js"],"names":[],"mappings":"AAgIO,
|
|
1
|
+
{"version":3,"file":"piptree.d.ts","sourceRoot":"","sources":["../../../lib/managers/piptree.js"],"names":[],"mappings":"AAgIO,uFAoCN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../lib/server/server.js"],"names":[],"mappings":"AA8IA,yDAKC;AAED,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../lib/server/server.js"],"names":[],"mappings":"AA8IA,yDAKC;AAED,0CA0KC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pregen.d.ts","sourceRoot":"","sources":["../../../../lib/stages/pregen/pregen.js"],"names":[],"mappings":"AA+BA;;;;;GAKG;AACH,iEAkBC;AAED;;;;GAIG;AACH,iEASC;AAED;;;;;GAKG;AACH,
|
|
1
|
+
{"version":3,"file":"pregen.d.ts","sourceRoot":"","sources":["../../../../lib/stages/pregen/pregen.js"],"names":[],"mappings":"AA+BA;;;;;GAKG;AACH,iEAkBC;AAED;;;;GAIG;AACH,iEASC;AAED;;;;;GAKG;AACH,wEAyCC;AAED;;;;;GAKG;AACH,qEAyDC;AAED;;;;;;;;GAQG;AACH,uEAmBC;AAED;;;;;GAKG;AACH,0EAyCC;AAED;;;;;GAKG;AACH,sEA6EC;AAED;;;;;GAKG;AACH,qEA8PC"}
|