@cyclonedx/cdxgen 11.1.2 → 11.1.3

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/README.md CHANGED
@@ -58,6 +58,12 @@ Sections include:
58
58
  npm install -g @cyclonedx/cdxgen
59
59
  ```
60
60
 
61
+ To run cdxgen without installing (hotloading), use the [pnpm dlx](https://pnpm.io/cli/dlx) command.
62
+
63
+ ```shell
64
+ corepack pnpm dlx @cyclonedx/cdxgen --help
65
+ ```
66
+
61
67
  If you are a [Homebrew][homebrew-homepage] user, you can also install [cdxgen][homebrew-cdxgen] via:
62
68
 
63
69
  ```shell
package/bin/cdxgen.js CHANGED
@@ -21,7 +21,14 @@ import {
21
21
  printSummary,
22
22
  printTable,
23
23
  } from "../lib/helpers/display.js";
24
- import { ATOM_DB, dirNameStr, getTmpDir } from "../lib/helpers/utils.js";
24
+ import {
25
+ ATOM_DB,
26
+ dirNameStr,
27
+ getTmpDir,
28
+ isMac,
29
+ isSecureMode,
30
+ isWin,
31
+ } from "../lib/helpers/utils.js";
25
32
  import { validateBom } from "../lib/helpers/validator.js";
26
33
  import { postProcess } from "../lib/stages/postgen/postgen.js";
27
34
  import { prepareEnv } from "../lib/stages/pregen/pregen.js";
@@ -141,6 +148,7 @@ const args = yargs(hideBin(process.argv))
141
148
  })
142
149
  .option("fail-on-error", {
143
150
  type: "boolean",
151
+ default: !isSecureMode,
144
152
  description: "Fail if any dependency extractor fails.",
145
153
  })
146
154
  .option("no-babel", {
@@ -167,7 +175,7 @@ const args = yargs(hideBin(process.argv))
167
175
  })
168
176
  .option("install-deps", {
169
177
  type: "boolean",
170
- default: true,
178
+ default: !isSecureMode,
171
179
  description:
172
180
  "Install dependencies automatically for some projects. Defaults to true but disabled for containers and oci scans. Use --no-install-deps to disable this feature.",
173
181
  })
@@ -357,6 +365,10 @@ const args = yargs(hideBin(process.argv))
357
365
  .alias("h", "help")
358
366
  .wrap(Math.min(120, yargs().terminalWidth())).argv;
359
367
 
368
+ if (process.env?.CDXGEN_NODE_OPTIONS) {
369
+ process.env.NODE_OPTIONS = `${process.env.NODE_OPTIONS || ""} ${process.env.CDXGEN_NODE_OPTIONS}`;
370
+ }
371
+
360
372
  if (args.version) {
361
373
  const packageJsonAsString = fs.readFileSync(
362
374
  join(dirName, "..", "package.json"),
@@ -376,7 +388,7 @@ if (process.env.GLOBAL_AGENT_HTTP_PROXY || process.env.HTTP_PROXY) {
376
388
  globalAgent.bootstrap();
377
389
  }
378
390
 
379
- const filePath = args._[0] || ".";
391
+ const filePath = args._[0] || process.cwd();
380
392
  if (!args.projectName) {
381
393
  if (filePath !== ".") {
382
394
  args.projectName = basename(filePath);
@@ -421,6 +433,10 @@ if (options.includeFormulation) {
421
433
  * @param {object} options CLI options
422
434
  */
423
435
  const applyAdvancedOptions = (options) => {
436
+ // Temporary fix till we figure out a better logic
437
+ if (options["install-deps"]) {
438
+ options.installDeps = true;
439
+ }
424
440
  switch (options.profile) {
425
441
  case "appsec":
426
442
  options.deep = true;
@@ -460,7 +476,7 @@ const applyAdvancedOptions = (options) => {
460
476
  options.deep = true;
461
477
  options.evidence = false;
462
478
  options.includeCrypto = false;
463
- options.installDeps = true;
479
+ options.installDeps = !isSecureMode;
464
480
  break;
465
481
  case "deep-learning":
466
482
  case "ml-deep":
@@ -468,7 +484,7 @@ const applyAdvancedOptions = (options) => {
468
484
  options.deep = true;
469
485
  options.evidence = true;
470
486
  options.includeCrypto = true;
471
- options.installDeps = true;
487
+ options.installDeps = !isSecureMode;
472
488
  break;
473
489
  default:
474
490
  break;
@@ -526,31 +542,122 @@ applyAdvancedOptions(options);
526
542
  * Check for node >= 20 permissions
527
543
  *
528
544
  * @param {string} filePath File path
545
+ * @param {Object} options CLI Options
529
546
  * @returns
530
547
  */
531
- const checkPermissions = (filePath) => {
548
+ const checkPermissions = (filePath, options) => {
532
549
  if (!process.permission) {
533
550
  return true;
534
551
  }
552
+ const fullFilePath = resolve(filePath);
553
+ // Secure mode checks
554
+ if (isSecureMode) {
555
+ if (process.permission.has("fs.read", "*")) {
556
+ console.log(
557
+ "\x1b[1;35mSECURE MODE: DO NOT run cdxgen with FileSystemRead permission set to wildcard.\x1b[0m",
558
+ );
559
+ }
560
+ if (process.permission.has("fs.write", "*")) {
561
+ console.log(
562
+ "\x1b[1;35mSECURE MODE: DO NOT run cdxgen with FileSystemWrite permission set to wildcard.\x1b[0m",
563
+ );
564
+ }
565
+ if (process.permission.has("worker")) {
566
+ console.log(
567
+ "SECURE MODE: DO NOT run cdxgen with worker thread permission! Remove `--allow-worker` argument.",
568
+ );
569
+ }
570
+ if (filePath !== fullFilePath) {
571
+ console.log(
572
+ `\x1b[1;35mSECURE MODE: Invoke cdxgen with an absolute path to improve security. Use ${fullFilePath} instead of ${filePath}.\x1b[0m`,
573
+ );
574
+ if (fullFilePath.includes(" ")) {
575
+ console.log(
576
+ "\x1b[1;35mSECURE MODE: Directory names containing spaces are known to cause issues. Rename the directories by replacing spaces with hyphens or underscores.\x1b[0m",
577
+ );
578
+ } else if (fullFilePath.length > 255 && isWin) {
579
+ console.log(
580
+ "Ensure 'Enable Win32 Long paths' is set to 'Enabled' by using Group Policy Editor.",
581
+ );
582
+ }
583
+ return false;
584
+ }
585
+ }
586
+
535
587
  if (!process.permission.has("fs.read", filePath)) {
536
588
  console.log(
537
- `FileSystemRead permission required. Please invoke with the argument --allow-fs-read="${resolve(
589
+ `\x1b[1;35mSECURE MODE: FileSystemRead permission required. Please invoke cdxgen with the argument --allow-fs-read="${resolve(
538
590
  filePath,
539
- )}"`,
591
+ )}"\x1b[0m`,
540
592
  );
541
593
  return false;
542
594
  }
595
+ if (!process.permission.has("fs.write", options.output)) {
596
+ console.log(
597
+ `\x1b[1;35mSECURE MODE: FileSystemWrite permission is required to create the output BOM file. Please invoke cdxgen with the argument --allow-fs-write="${options.output}"\x1b[0m`,
598
+ );
599
+ }
600
+ if (options.evidence) {
601
+ const slicesFilesKeys = [
602
+ "deps-slices-file",
603
+ "usages-slices-file",
604
+ "reachables-slices-file",
605
+ ];
606
+ if (options?.type?.includes("swift")) {
607
+ slicesFilesKeys.push("semantics-slices-file");
608
+ }
609
+ for (const sf of slicesFilesKeys) {
610
+ let issueFound = false;
611
+ if (!process.permission.has("fs.write", options[sf])) {
612
+ console.log(
613
+ `SECURE MODE: FileSystemWrite permission is required to create the output slices file. Please invoke cdxgen with the argument --allow-fs-write="${options[sf]}"`,
614
+ );
615
+ if (!issueFound) {
616
+ issueFound = true;
617
+ }
618
+ }
619
+ if (issueFound) {
620
+ return false;
621
+ }
622
+ }
623
+ if (!process.permission.has("fs.write", process.env.ATOM_DB || ATOM_DB)) {
624
+ console.log(
625
+ `SECURE MODE: FileSystemWrite permission is required to create the output slices file. Please invoke cdxgen with the argument --allow-fs-write="${process.env.ATOM_DB || ATOM_DB}"`,
626
+ );
627
+ return false;
628
+ }
629
+ console.log(
630
+ "TIP: Invoke cdxgen with `--allow-addons` to allow the use of sqlite3 native addon. This addon is required for evidence mode.",
631
+ );
632
+ } else {
633
+ if (process.permission.has("fs.write", process.env.ATOM_DB || ATOM_DB)) {
634
+ console.log(
635
+ `SECURE MODE: FileSystemWrite permission is not required for the directory "${process.env.ATOM_DB || ATOM_DB}" in non-evidence mode. Consider removing the argument --allow-fs-write="${process.env.ATOM_DB || ATOM_DB}".`,
636
+ );
637
+ return false;
638
+ }
639
+ }
543
640
  if (!process.permission.has("fs.write", getTmpDir())) {
544
641
  console.log(
545
- `FileSystemWrite permission required. Please invoke with the argument --allow-fs-write="${getTmpDir()}"`,
642
+ `FileSystemWrite permission may be required to the TEMP directory. Please invoke cdxgen with the argument --allow-fs-write="${join(getTmpDir(), "*")}"`,
546
643
  );
547
- return false;
644
+ if (isMac) {
645
+ console.log(
646
+ "TIP: macOS doesn't use `/tmp` prefix for TEMP directories. Use the argument shown above.",
647
+ );
648
+ }
548
649
  }
549
- if (!process.permission.has("child")) {
650
+ if (!process.permission.has("child") && !isSecureMode) {
550
651
  console.log(
551
- "ChildProcess permission is missing. This is required to spawn commands for some languages. Please invoke with the argument --allow-child-process",
652
+ "ChildProcess permission is missing. This is required to spawn commands for some languages. Please invoke cdxgen with the argument --allow-child-process in case of issues.",
552
653
  );
553
654
  }
655
+ if (process.permission.has("child") && options?.lifecycle === "pre-build") {
656
+ console.log(
657
+ "SECURE MODE: ChildProcess permission is not required for pre-build SBOM generation. Please invoke cdxgen without the argument --allow-child-process.",
658
+ );
659
+ return false;
660
+ }
554
661
  return true;
555
662
  };
556
663
 
@@ -566,7 +673,10 @@ const checkPermissions = (filePath) => {
566
673
  return serverModule.start(options);
567
674
  }
568
675
  // Check if cdxgen has the required permissions
569
- if (!checkPermissions(filePath)) {
676
+ if (!checkPermissions(filePath, options)) {
677
+ if (isSecureMode) {
678
+ process.exit(1);
679
+ }
570
680
  return;
571
681
  }
572
682
  // This will prevent people from accidentally using the usages slices belonging to a different project
package/bin/evinse.js CHANGED
@@ -162,6 +162,10 @@ const evinseArt = `
162
162
  ╚══════╝ ╚═══╝ ╚═╝╚═╝ ╚═══╝╚══════╝╚══════╝
163
163
  `;
164
164
 
165
+ if (process.env?.CDXGEN_NODE_OPTIONS) {
166
+ process.env.NODE_OPTIONS = `${process.env.NODE_OPTIONS || ""} ${process.env.CDXGEN_NODE_OPTIONS}`;
167
+ }
168
+
165
169
  console.log(evinseArt);
166
170
  (async () => {
167
171
  // First, prepare the database by cataloging jars and other libraries
package/bin/repl.js CHANGED
@@ -45,6 +45,10 @@ const cdxArt = `
45
45
 
46
46
  console.log(cdxArt);
47
47
 
48
+ if (process.env?.CDXGEN_NODE_OPTIONS) {
49
+ process.env.NODE_OPTIONS = `${process.env.NODE_OPTIONS || ""} ${process.env.CDXGEN_NODE_OPTIONS}`;
50
+ }
51
+
48
52
  // The current sbom is stored here
49
53
  let sbom = undefined;
50
54
 
package/bin/verify.js CHANGED
@@ -43,6 +43,10 @@ if (args.version) {
43
43
  process.exit(0);
44
44
  }
45
45
 
46
+ if (process.env?.CDXGEN_NODE_OPTIONS) {
47
+ process.env.NODE_OPTIONS = `${process.env.NODE_OPTIONS || ""} ${process.env.CDXGEN_NODE_OPTIONS}`;
48
+ }
49
+
46
50
  const bomJson = JSON.parse(fs.readFileSync(args.input, "utf8"));
47
51
  let hasInvalidComp = false;
48
52
  // Validate any component signature
package/lib/cli/index.js CHANGED
@@ -82,6 +82,7 @@ import {
82
82
  isFeatureEnabled,
83
83
  isPackageManagerAllowed,
84
84
  isPartialTree,
85
+ isSecureMode,
85
86
  isValidIriReference,
86
87
  parseBazelActionGraph,
87
88
  parseBazelSkyframe,
@@ -2375,19 +2376,31 @@ export async function createNodejsBom(path, options) {
2375
2376
  const pkgData = JSON.parse(readFileSync(apkgJson, "utf8"));
2376
2377
  const mgrData = pkgData.packageManager;
2377
2378
  let mgr = "";
2378
- let installArgs = ["install"];
2379
2379
  if (mgrData) {
2380
2380
  mgr = mgrData.split("@")[0];
2381
2381
  }
2382
2382
  if (supPkgMgrs.includes(mgr)) {
2383
2383
  pkgMgr = mgr;
2384
2384
  }
2385
+ let installCommand = "install";
2386
+ if (pkgMgr === "npm" && isSecureMode && pkgJsonLockFiles?.length > 0) {
2387
+ installCommand = "ci";
2388
+ }
2389
+ let installArgs = [installCommand];
2385
2390
  // Support for passing additional args to the install command
2386
2391
  if (process.env[`${pkgMgr.toUpperCase()}_INSTALL_ARGS`]) {
2387
2392
  const addArgs =
2388
2393
  process.env[`${pkgMgr.toUpperCase()}_INSTALL_ARGS`].split(" ");
2389
2394
  installArgs = installArgs.concat(addArgs);
2390
2395
  }
2396
+ if (pkgMgr === "npm" && isSecureMode) {
2397
+ if (!installArgs.includes("--ignore-scripts")) {
2398
+ installArgs.push("--ignore-scripts");
2399
+ }
2400
+ if (!installArgs.includes("--no-audit")) {
2401
+ installArgs.push("--no-audit");
2402
+ }
2403
+ }
2391
2404
  const basePath = dirname(apkgJson);
2392
2405
  // juice-shop mode
2393
2406
  // Projects such as juice-shop prevent lockfile creations using .npmrc files
@@ -6026,7 +6039,8 @@ export function trimComponents(components) {
6026
6039
  }
6027
6040
  // comp.evidence.identity can be an array or object
6028
6041
  // Merge the evidence.identity based on methods or objects
6029
- const identities = Array.isArray(comp.evidence.identity)
6042
+ const isArray = Array.isArray(comp.evidence.identity);
6043
+ const identities = isArray
6030
6044
  ? comp.evidence.identity
6031
6045
  : [comp.evidence.identity];
6032
6046
  for (const aident of identities) {
@@ -6057,6 +6071,11 @@ export function trimComponents(components) {
6057
6071
  existingComponent.evidence.identity.push(aident);
6058
6072
  }
6059
6073
  }
6074
+ if (!isArray) {
6075
+ existingComponent.evidence = {
6076
+ identity: existingComponent.evidence.identity[0],
6077
+ };
6078
+ }
6060
6079
  }
6061
6080
  // If the component is required in any of the child projects, then make it required
6062
6081
  if (
@@ -31,8 +31,8 @@ export const GIT_COMMAND = process.env.GIT_CMD || "git";
31
31
  export const SDKMAN_JAVA_TOOL_ALIASES = {
32
32
  java8: process.env.JAVA8_TOOL || "8.0.432-tem",
33
33
  java11: process.env.JAVA11_TOOL || "11.0.25-tem",
34
- java17: process.env.JAVA17_TOOL || "17.0.13-tem",
35
- java21: process.env.JAVA21_TOOL || "21.0.5-tem",
34
+ java17: process.env.JAVA17_TOOL || "17.0.14-tem",
35
+ java21: process.env.JAVA21_TOOL || "21.0.6-tem",
36
36
  java22: process.env.JAVA22_TOOL || "22.0.2-tem",
37
37
  java23: process.env.JAVA23_TOOL || "23.0.1-tem",
38
38
  };
@@ -496,10 +496,18 @@ export function installSdkmanTool(toolType, toolName) {
496
496
  toolName = getSdkmanToolFullname(toolName);
497
497
  let result = undefined;
498
498
  if (!isSdkmanToolAvailable(toolType, toolName)) {
499
- console.log("About to install", toolType, toolName);
499
+ let installDir = "";
500
+ if (process.env.SDKMAN_CANDIDATES_DIR) {
501
+ installDir = join(process.env.SDKMAN_CANDIDATES_DIR, toolType);
502
+ }
503
+ console.log("About to install", toolType, toolName, installDir);
500
504
  result = spawnSync(
501
505
  process.env.SHELL || "bash",
502
- ["-i", "-c", `"echo -e "no" | sdk install ${toolType} ${toolName}"`],
506
+ [
507
+ "-i",
508
+ "-c",
509
+ `"echo -e "no" | sdk install ${toolType} ${toolName} ${installDir}"`.trim(),
510
+ ],
503
511
  {
504
512
  encoding: "utf-8",
505
513
  shell: process.env.SHELL || true,
@@ -507,10 +515,10 @@ export function installSdkmanTool(toolType, toolName) {
507
515
  },
508
516
  );
509
517
  if (DEBUG_MODE) {
510
- if (console.stdout) {
518
+ if (result.stdout) {
511
519
  console.log(result.stdout);
512
520
  }
513
- if (console.stderr) {
521
+ if (result.stderr) {
514
522
  console.log(result.stderr);
515
523
  }
516
524
  }
@@ -598,10 +606,10 @@ export function getNvmToolDirectory(toolName) {
598
606
  },
599
607
  );
600
608
  if (DEBUG_MODE) {
601
- if (console.stdout) {
609
+ if (resultWhichNode.stdout) {
602
610
  console.log(resultWhichNode.stdout);
603
611
  }
604
- if (console.stderr) {
612
+ if (resultWhichNode.stderr) {
605
613
  console.log(resultWhichNode.stderr);
606
614
  }
607
615
  }
@@ -634,10 +642,10 @@ export function getOrInstallNvmTool(toolVersion) {
634
642
  );
635
643
 
636
644
  if (DEBUG_MODE) {
637
- if (console.stdout) {
645
+ if (resultInstall.stdout) {
638
646
  console.log(resultInstall.stdout);
639
647
  }
640
- if (console.stderr) {
648
+ if (resultInstall.stderr) {
641
649
  console.log(resultInstall.stderr);
642
650
  }
643
651
  }
@@ -61,6 +61,11 @@ if (!url.startsWith("file://")) {
61
61
  export const dirNameStr = import.meta
62
62
  ? dirname(dirname(dirname(fileURLToPath(url))))
63
63
  : __dirname;
64
+
65
+ export const isSecureMode = ["true", "1"].includes(
66
+ process.env?.CDXGEN_SECURE_MODE,
67
+ );
68
+
64
69
  export const isWin = platform() === "win32";
65
70
  export const isMac = platform() === "darwin";
66
71
  export let ATOM_DB = join(homedir(), ".local", "share", ".atomdb");
@@ -5119,40 +5124,42 @@ export async function parsePyLockData(lockData, lockFile, pyProjectFile) {
5119
5124
  addedValue[p.value] = true;
5120
5125
  }
5121
5126
  }
5122
- for (const pprop of parentPkg.properties) {
5123
- if (
5124
- pprop.name.startsWith("internal:workspace") &&
5125
- !addedValue[pprop.value]
5126
- ) {
5127
- dependentPkg.properties.push(pprop);
5128
- addedValue[pprop.value] = true;
5129
- } else if (pprop.name === "internal:is_workspace") {
5130
- dependentPkg.properties.push({
5131
- name: "internal:workspaceRef",
5132
- value: parentPkg["bom-ref"],
5133
- });
5134
- dependentPkg.properties.push({
5135
- name: "internal:workspaceSrcFile",
5136
- value: workspaceRefPyProjMap[parentPkg["bom-ref"]],
5137
- });
5138
- addedValue[parentPkg["bom-ref"]] = true;
5139
- addedValue[workspaceRefPyProjMap[parentPkg["bom-ref"]]] = true;
5140
- const childDeps = depsMap[dependentPkg["bom-ref"]];
5141
- for (const childRef of childDeps) {
5142
- if (!childRef.startsWith("pkg:")) {
5143
- continue;
5144
- }
5145
- const childPkg = pkgBomRefMap[childRef];
5146
- if (childPkg) {
5147
- childPkg.properties = childPkg.properties || [];
5148
- childPkg.properties.push({
5149
- name: "internal:workspaceRef",
5150
- value: parentPkg["bom-ref"],
5151
- });
5152
- childPkg.properties.push({
5153
- name: "internal:workspaceSrcFile",
5154
- value: workspaceRefPyProjMap[parentPkg["bom-ref"]],
5155
- });
5127
+ if (parentPkg?.properties?.length) {
5128
+ for (const pprop of parentPkg.properties) {
5129
+ if (
5130
+ pprop.name.startsWith("internal:workspace") &&
5131
+ !addedValue[pprop.value]
5132
+ ) {
5133
+ dependentPkg.properties.push(pprop);
5134
+ addedValue[pprop.value] = true;
5135
+ } else if (pprop.name === "internal:is_workspace") {
5136
+ dependentPkg.properties.push({
5137
+ name: "internal:workspaceRef",
5138
+ value: parentPkg["bom-ref"],
5139
+ });
5140
+ dependentPkg.properties.push({
5141
+ name: "internal:workspaceSrcFile",
5142
+ value: workspaceRefPyProjMap[parentPkg["bom-ref"]],
5143
+ });
5144
+ addedValue[parentPkg["bom-ref"]] = true;
5145
+ addedValue[workspaceRefPyProjMap[parentPkg["bom-ref"]]] = true;
5146
+ const childDeps = depsMap[dependentPkg["bom-ref"]];
5147
+ for (const childRef of childDeps) {
5148
+ if (!childRef.startsWith("pkg:")) {
5149
+ continue;
5150
+ }
5151
+ const childPkg = pkgBomRefMap[childRef];
5152
+ if (childPkg) {
5153
+ childPkg.properties = childPkg.properties || [];
5154
+ childPkg.properties.push({
5155
+ name: "internal:workspaceRef",
5156
+ value: parentPkg["bom-ref"],
5157
+ });
5158
+ childPkg.properties.push({
5159
+ name: "internal:workspaceSrcFile",
5160
+ value: workspaceRefPyProjMap[parentPkg["bom-ref"]],
5161
+ });
5162
+ }
5156
5163
  }
5157
5164
  }
5158
5165
  }
@@ -13188,7 +13195,9 @@ export function parseCmakeLikeFile(cmakeListFile, pkgType, options = {}) {
13188
13195
  let parentVersion = undefined;
13189
13196
  // In case of meson.build we can find the version number after the word version
13190
13197
  // thanks to our replaces and splits
13191
- const versionIndex = tmpB.findIndex((v) => v === "version");
13198
+ const versionIndex = tmpB.findIndex(
13199
+ (v) => v?.toLowerCase() === "version",
13200
+ );
13192
13201
  if (versionIndex > -1 && tmpB.length > versionIndex) {
13193
13202
  parentVersion = tmpB[versionIndex + 1];
13194
13203
  }
@@ -2449,7 +2449,7 @@ test("parse github actions workflow data", () => {
2449
2449
  dep_list = parseGitHubWorkflowData(
2450
2450
  readFileSync("./.github/workflows/repotests.yml", { encoding: "utf-8" }),
2451
2451
  );
2452
- expect(dep_list.length).toEqual(11);
2452
+ expect(dep_list.length).toEqual(12);
2453
2453
  expect(dep_list[0]).toEqual({
2454
2454
  group: "actions",
2455
2455
  name: "checkout",
@@ -5734,6 +5734,18 @@ test("parseCmakeLikeFile tests", () => {
5734
5734
  type: "application",
5735
5735
  version: "",
5736
5736
  });
5737
+ retMap = parseCmakeLikeFile(
5738
+ "./test/data/cmakes/CMakeLists-version.txt",
5739
+ "generic",
5740
+ );
5741
+ expect(retMap.parentComponent).toEqual({
5742
+ "bom-ref": "pkg:generic/MyProject@2.1.3",
5743
+ group: "",
5744
+ name: "MyProject",
5745
+ purl: "pkg:generic/MyProject@2.1.3",
5746
+ type: "application",
5747
+ version: "2.1.3",
5748
+ });
5737
5749
  retMap = parseCmakeLikeFile(
5738
5750
  "./test/data/cmakes/CMakeLists-tpl.txt",
5739
5751
  "generic",
@@ -25,6 +25,7 @@ import {
25
25
  hasAnyProjectType,
26
26
  isFeatureEnabled,
27
27
  isMac,
28
+ isSecureMode,
28
29
  isWin,
29
30
  } from "../../helpers/utils.js";
30
31
 
@@ -35,7 +36,7 @@ import {
35
36
  * @param {Object} options CLI options
36
37
  */
37
38
  export function prepareEnv(filePath, options) {
38
- if (!options.projectType) {
39
+ if (!options.projectType || isSecureMode) {
39
40
  return;
40
41
  }
41
42
  for (const pt of options.projectType) {
@@ -222,13 +223,17 @@ export function doNpmInstall(filePath, nvmNodePath) {
222
223
  return;
223
224
  }
224
225
  const newPath = `${nvmNodePath}${delimiter}${process.env.PATH}`;
225
- const installArgs = process.env.NPM_INSTALL_ARGS || "--package-lock-only";
226
+ let installArgs = process.env.NPM_INSTALL_ARGS || "--package-lock-only";
227
+ const installCommand = "install";
228
+ if (isSecureMode) {
229
+ installArgs = `${installArgs} --ignore-scripts --no-audit`;
230
+ }
226
231
  const resultNpmInstall = spawnSync(
227
232
  process.env.SHELL || "bash",
228
233
  [
229
234
  "-i",
230
235
  "-c",
231
- `export PATH='${nvmNodePath}${delimiter}$PATH' && npm install ${installArgs}`,
236
+ `export PATH='${nvmNodePath}${delimiter}$PATH' && npm ${installCommand} ${installArgs}`,
232
237
  ],
233
238
  {
234
239
  encoding: "utf-8",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyclonedx/cdxgen",
3
- "version": "11.1.2",
3
+ "version": "11.1.3",
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>",
@@ -61,8 +61,8 @@
61
61
  "*": "biome check --fix --no-errors-on-unmatched"
62
62
  },
63
63
  "dependencies": {
64
- "@babel/parser": "^7.26.3",
65
- "@babel/traverse": "^7.26.4",
64
+ "@babel/parser": "^7.26.7",
65
+ "@babel/traverse": "^7.26.7",
66
66
  "@npmcli/arborist": "9.0.0",
67
67
  "ajv": "^8.17.1",
68
68
  "ajv-formats": "^3.0.1",
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/cli/index.js"],"names":[],"mappings":"AAqxBA;;;;;;;;GAQG;AACH,gFAFW,MAAM,SAchB;AAuXD;;;;;;;GAOG;AACH,mCALW,MAAM,qBAiEhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM;;;;EAKhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM;;;;EAkBhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAs7BhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BAopBhB;AAED;;;;;;;;;;GAUG;AACH,+DAsEC;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BA+dhB;AAED;;;;;GAKG;AACH,kCAHW,MAAM,8BA+YhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAqIhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAkEhB;AAED;;;;;GAKG;AACH,mCAHW,MAAM,qBA+KhB;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,8BA6FhB;AAED;;;;;GAKG;AACH,iDAHW,MAAM,qBAmUhB;AAED;;;;;GAKG;AACH,mCAHW,MAAM,qBAiJhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAqNhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BAkahB;AAED;;;;;GAKG;AACH,2CAHW,MAAM;;;;;;;;;;;;;;;;;;;;GAoChB;AAED;;;;;;;;KA+DC;AAED;;;;;;GAMG;AACH,yDAyFC;AAED;;;;;;;;;GASG;AACH,2GA6BC;AAED;;;;;GAKG;AACH,0CAHW,MAAM,EAAE,8BA2iBlB;AAED;;;;;GAKG;AACH,iCAHW,MAAM,8BAgUhB;AAED;;;;;GAKG;AACH,gCAHW,MAAM,qBAiPhB;AAED;;;;;;GAMG;AACH,wDAFY,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,SAAS,CAAC,CAwHxE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/cli/index.js"],"names":[],"mappings":"AAsxBA;;;;;;;;GAQG;AACH,gFAFW,MAAM,SAchB;AAuXD;;;;;;;GAOG;AACH,mCALW,MAAM,qBAiEhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM;;;;EAKhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM;;;;EAkBhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAs7BhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BAgqBhB;AAED;;;;;;;;;;GAUG;AACH,+DAsEC;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BA+dhB;AAED;;;;;GAKG;AACH,kCAHW,MAAM,8BA+YhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAqIhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAkEhB;AAED;;;;;GAKG;AACH,mCAHW,MAAM,qBA+KhB;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,8BA6FhB;AAED;;;;;GAKG;AACH,iDAHW,MAAM,qBAmUhB;AAED;;;;;GAKG;AACH,mCAHW,MAAM,qBAiJhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM,8BAqNhB;AAED;;;;;GAKG;AACH,sCAHW,MAAM,8BAkahB;AAED;;;;;GAKG;AACH,2CAHW,MAAM;;;;;;;;;;;;;;;;;;;;GAoChB;AAED;;;;;;;;KA+DC;AAED;;;;;;GAMG;AACH,yDA+FC;AAED;;;;;;;;;GASG;AACH,2GA6BC;AAED;;;;;GAKG;AACH,0CAHW,MAAM,EAAE,8BA2iBlB;AAED;;;;;GAKG;AACH,iCAHW,MAAM,8BAgUhB;AAED;;;;;GAKG;AACH,gCAHW,MAAM,qBAiPhB;AAED;;;;;;GAMG;AACH,wDAFY,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,SAAS,CAAC,CAwHxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"envcontext.d.ts","sourceRoot":"","sources":["../../../lib/helpers/envcontext.js"],"names":[],"mappings":"AAuCA;;;;;;GAMG;AACH,wCALW,MAAM,OACN,MAAM,OAMhB;AAED;;;;;GAKG;AACH,kCAJW,MAAM,OAMhB;AAED;;;;;;GAMG;AACH,gDAJW,MAAM,OAMhB;AAED;;;;;GAKG;AACH,mCAJW,MAAM,MAsBhB;AAED;;;;;GAKG;AACH,+BAJW,MAAM,SAgChB;AAED;;;;;;;GAOG;AACH,oCALW,MAAM,oBAOhB;AAED;;;;;GAKG;AACH,qCAHW,MAAM;;;;;;;;;EAsBhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM;;;;;EAgBhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM;;;;;EAgBhB;AAED;;;;;GAKG;AACH,qCAHW,MAAM;;;;;EAkBhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM;;;;;EAehB;AAED;;;;;GAKG;AACH,qCAHW,MAAM;;;;;EAehB;AAED;;;;;GAKG;AACH,mCAHW,MAAM;;;;EAahB;AAED;;;;;GAKG;AACH,sCAHW,MAAM;;;;EAahB;AAED;;;;;GAKG;AACH,qCAHW,MAAM;;;;EAahB;AAED;;;;;;GAMG;AACH,+DAEC;AAED;;;;;;;;;IAmCC;AAwCD;;GAEG;AACH,6CAeC;AAED;;GAEG;AACH,0CAUC;AAED;;;;;;;GAOG;AACH,mFAqBC;AAED;;;;;;;GAOG;AACH,+EAyFC;AAED;;;;;;GAMG;AACH,8DAuBC;AAED;;;;;;GAMG;AACH,iEAmCC;AASD;;;;GAIG;AACH,4CAiBC;AAED,yDAIC;AAED;;;;;;GAMG;AACH,sGAsCC;AAED;;;;;GAKG;AACH;;;EAyFC;AAED;;;;;GAKG;AACH,mFA6DC;AAED;;;;;;;;;GASG;AACH,+GAFa,OAAO,CAkLnB;AA3iCD,8BAAwD"}
1
+ {"version":3,"file":"envcontext.d.ts","sourceRoot":"","sources":["../../../lib/helpers/envcontext.js"],"names":[],"mappings":"AAuCA;;;;;;GAMG;AACH,wCALW,MAAM,OACN,MAAM,OAMhB;AAED;;;;;GAKG;AACH,kCAJW,MAAM,OAMhB;AAED;;;;;;GAMG;AACH,gDAJW,MAAM,OAMhB;AAED;;;;;GAKG;AACH,mCAJW,MAAM,MAsBhB;AAED;;;;;GAKG;AACH,+BAJW,MAAM,SAgChB;AAED;;;;;;;GAOG;AACH,oCALW,MAAM,oBAOhB;AAED;;;;;GAKG;AACH,qCAHW,MAAM;;;;;;;;;EAsBhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM;;;;;EAgBhB;AAED;;;;;GAKG;AACH,uCAHW,MAAM;;;;;EAgBhB;AAED;;;;;GAKG;AACH,qCAHW,MAAM;;;;;EAkBhB;AAED;;;;;GAKG;AACH,oCAHW,MAAM;;;;;EAehB;AAED;;;;;GAKG;AACH,qCAHW,MAAM;;;;;EAehB;AAED;;;;;GAKG;AACH,mCAHW,MAAM;;;;EAahB;AAED;;;;;GAKG;AACH,sCAHW,MAAM;;;;EAahB;AAED;;;;;GAKG;AACH,qCAHW,MAAM;;;;EAahB;AAED;;;;;;GAMG;AACH,+DAEC;AAED;;;;;;;;;IAmCC;AAwCD;;GAEG;AACH,6CAeC;AAED;;GAEG;AACH,0CAUC;AAED;;;;;;;GAOG;AACH,mFAqBC;AAED;;;;;;;GAOG;AACH,+EAiGC;AAED;;;;;;GAMG;AACH,8DAuBC;AAED;;;;;;GAMG;AACH,iEAmCC;AASD;;;;GAIG;AACH,4CAiBC;AAED,yDAIC;AAED;;;;;;GAMG;AACH,sGAsCC;AAED;;;;;GAKG;AACH;;;EAyFC;AAED;;;;;GAKG;AACH,mFA6DC;AAED;;;;;;;;;GASG;AACH,+GAFa,OAAO,CAkLnB;AAnjCD,8BAAwD"}
@@ -1365,6 +1365,7 @@ export function isPartialTree(dependencies: any[], componentsCount?: number): bo
1365
1365
  */
1366
1366
  export function recomputeScope(pkgList: any[], dependencies: any[]): any[];
1367
1367
  export const dirNameStr: string;
1368
+ export const isSecureMode: boolean;
1368
1369
  export const isWin: boolean;
1369
1370
  export const isMac: boolean;
1370
1371
  export let ATOM_DB: string;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/helpers/utils.js"],"names":[],"mappings":"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"}
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":"pregen.d.ts","sourceRoot":"","sources":["../../../../lib/stages/pregen/pregen.js"],"names":[],"mappings":"AA8BA;;;;;GAKG;AACH,iEAkBC;AAED;;;;GAIG;AACH,iEASC;AAED;;;;;GAKG;AACH,wEAqCC;AAED;;;;;GAKG;AACH,qEAyDC;AAED;;;;;;;;GAQG;AACH,uEAmBC;AAED;;;;;GAKG;AACH,0EAqCC;AAED;;;;;GAKG;AACH,sEA6EC;AAED;;;;;GAKG;AACH,qEA8PC"}
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,wEAqCC;AAED;;;;;GAKG;AACH,qEAyDC;AAED;;;;;;;;GAQG;AACH,uEAmBC;AAED;;;;;GAKG;AACH,0EAyCC;AAED;;;;;GAKG;AACH,sEA6EC;AAED;;;;;GAKG;AACH,qEA8PC"}