@cdxgen/cdxgen 13.4.0 → 13.6.0
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 +9 -9
- package/bin/cdxgen-secure.js +15 -0
- package/bin/cdxgen.js +29 -5
- package/bin/evinse.js +8 -0
- package/bin/hbom.js +15 -7
- package/bin/repl.js +29 -0
- package/bin/validate.js +6 -0
- package/data/cbomosdb-queries.json +13 -1
- package/data/component-tags.json +8 -0
- package/data/license-aliases.json +24 -2
- package/data/queries-darwin.json +25 -1
- package/data/queries-win.json +19 -1
- package/data/queries.json +41 -0
- package/data/remediations.json +407 -1
- package/data/rules/ai-bom.yaml +1 -1
- package/data/rules/brotli-decoder.yaml +107 -0
- package/data/rules/cbom-security.yaml +235 -4
- package/data/rules/go-binaries.yaml +46 -0
- package/data/rules/golem-go.yaml +80 -0
- package/data/rules/hbom-compliance.yaml +40 -22
- package/data/rules/hbom-performance.yaml +7 -1
- package/data/rules/host-topology.yaml +1 -1
- package/data/rules/obom-runtime.yaml +31 -2
- package/data/rules/php-runtime.yaml +143 -0
- package/data/rules/vscode-extensions.yaml +75 -0
- package/data/spdx-license-list.json +121 -7
- package/data/spdx-licenses.json +69 -0
- package/data/spdx.schema.json +845 -2
- package/lib/audit/index.js +14 -0
- package/lib/cli/bomAssembly.js +120 -6
- package/lib/cli/cliOptions.js +110 -3
- package/lib/cli/index.js +182 -6
- package/lib/cli/jsBom.js +153 -64
- package/lib/cli/jvmBom.js +363 -66
- package/lib/cli/managedBom.js +853 -87
- package/lib/cli/nativeBom.js +267 -33
- package/lib/core/boundedFile.js +344 -0
- package/lib/core/brotliProbe.js +182 -0
- package/lib/core/env.js +38 -8
- package/lib/core/fs.js +40 -19
- package/lib/core/httpClient.js +172 -46
- package/lib/core/lockPaths.js +38 -0
- package/lib/core/paths.js +24 -1
- package/lib/core/processTree.js +5 -0
- package/lib/core/projectConfig.js +1 -0
- package/lib/core/projectTooling.js +97 -0
- package/lib/core/propertySanitizer.js +72 -0
- package/lib/core/toolRegistry.js +170 -0
- package/lib/ecosystems/cppEvidence.js +263 -106
- package/lib/ecosystems/cppIncludeResolver.js +16 -5
- package/lib/ecosystems/ecosystems.js +25 -10
- package/lib/ecosystems/gemHostProbe.js +301 -0
- package/lib/ecosystems/golem.js +550 -6
- package/lib/ecosystems/gradleutils.js +858 -244
- package/lib/ecosystems/parsers-bazel.js +107 -6
- package/lib/ecosystems/parsers-dotnet.js +117 -18
- package/lib/ecosystems/parsers-go.js +1090 -367
- package/lib/ecosystems/parsers-js.js +505 -22
- package/lib/ecosystems/parsers-jvm.js +259 -17
- package/lib/ecosystems/parsers-misc.js +438 -64
- package/lib/ecosystems/parsers-python.js +100 -12
- package/lib/ecosystems/pythonutils.js +128 -2
- package/lib/ecosystems/rubyutils.js +544 -34
- package/lib/ecosystems/rusi.js +10 -0
- package/lib/ecosystems/scalacliutils.js +4 -1
- package/lib/ecosystems/scalasem.js +798 -151
- package/lib/ecosystems/vendoredCode.js +237 -3
- package/lib/ecosystems/venvProbe.js +360 -0
- package/lib/evinser/evinser.js +472 -61
- package/lib/evinser/swiftsem.js +68 -5
- package/lib/helpers/agenticToolutils.js +413 -93
- package/lib/helpers/vsixutils.js +1574 -315
- package/lib/inventory/agentSkillSpec.js +17 -0
- package/lib/inventory/apkInstalledDb.js +243 -0
- package/lib/inventory/atomUtils.js +110 -0
- package/lib/inventory/auditCategories.js +3 -3
- package/lib/inventory/brotliDecoder.js +142 -0
- package/lib/inventory/buildToolRateLimit.js +1 -1
- package/lib/inventory/cacheDir.js +52 -9
- package/lib/inventory/cbomutils.js +56 -7
- package/lib/inventory/certificates.js +2371 -0
- package/lib/inventory/communityAiConfigParser.js +4 -9
- package/lib/inventory/deps.js +41 -4
- package/lib/inventory/display.js +200 -3
- package/lib/inventory/dosai.js +639 -63
- package/lib/inventory/dotnetRuntime.js +217 -0
- package/lib/inventory/dynamic.js +45 -3
- package/lib/inventory/envcontext.js +475 -18
- package/lib/inventory/evidenceUtils.js +447 -23
- package/lib/inventory/fetchBatch.js +1 -1
- package/lib/inventory/formulationParsers.js +32 -3
- package/lib/inventory/goBuildInfo.js +140 -0
- package/lib/inventory/gtfobins.js +13 -0
- package/lib/inventory/hbom.js +67 -7
- package/lib/inventory/hbomAnalysis.js +16 -0
- package/lib/inventory/hostRuntimeProbe.js +686 -0
- package/lib/inventory/hostTopology.js +21 -0
- package/lib/inventory/jvmLocalRepos.js +9 -2
- package/lib/inventory/jvmToolEnv.js +29 -0
- package/lib/inventory/licenseEnhancer.js +12 -0
- package/lib/inventory/mavenCentralMirror.js +534 -0
- package/lib/inventory/nodeBuildInfo.js +218 -0
- package/lib/inventory/nodeHostProbe.js +202 -0
- package/lib/inventory/osPackagePurl.js +244 -0
- package/lib/inventory/osPackageResolver.js +271 -87
- package/lib/inventory/osinfo.js +79 -31
- package/lib/inventory/osqueryTransform.js +114 -5
- package/lib/inventory/phpBuildInfo.js +438 -0
- package/lib/inventory/phpHostProbe.js +185 -0
- package/lib/inventory/rootfsCerts.js +426 -0
- package/lib/inventory/rubyBuildInfo.js +972 -0
- package/lib/inventory/rubyHostProbe.js +218 -0
- package/lib/inventory/scalaCoords.js +4 -3
- package/lib/inventory/scalaDedupe.js +440 -0
- package/lib/inventory/source.js +256 -5
- package/lib/inventory/spdx.js +144 -0
- package/lib/inventory/traceRunner.js +5 -1
- package/lib/inventory/tracedCrypto.js +129 -0
- package/lib/managers/binary.js +866 -186
- package/lib/managers/docker.js +245 -12
- package/lib/parsers/email.js +277 -0
- package/lib/parsers/largeJson.js +62 -13
- package/lib/parsers/vscodeExtensionId.js +183 -0
- package/lib/server/server.js +198 -2
- package/lib/stages/postgen/annotator.js +17 -1
- package/lib/stages/postgen/introspection/reflect.js +4 -1
- package/lib/stages/postgen/postgen.js +5 -5
- package/lib/stages/postgen/ruleEngine.js +71 -6
- package/lib/stages/postgen/specVersionCompat.js +30 -0
- package/lib/stages/pregen/envAudit.js +1 -0
- package/lib/stages/pregen/pregen.js +231 -62
- package/lib/validator/bomValidator.js +32 -6
- package/lib/validator/generated/runtime.mjs +13 -0
- package/lib/validator/generated/validate-1.6.mjs +27 -8
- package/lib/validator/generated/validate-1.7.mjs +32 -13
- package/lib/validator/generated/validate-2.0.mjs +31 -12
- package/lib/validator/index.js +1 -1
- package/package.json +19 -18
- package/types/bin/cdxgen-secure.d.ts +3 -0
- package/types/bin/cdxgen-secure.d.ts.map +1 -0
- package/types/bin/repl.d.ts.map +1 -1
- package/types/lib/audit/index.d.ts.map +1 -1
- package/types/lib/cli/bomAssembly.d.ts +22 -3
- package/types/lib/cli/bomAssembly.d.ts.map +1 -1
- package/types/lib/cli/cliOptions.d.ts +43 -0
- package/types/lib/cli/cliOptions.d.ts.map +1 -1
- package/types/lib/cli/index.d.ts.map +1 -1
- package/types/lib/cli/jsBom.d.ts +1 -17
- package/types/lib/cli/jsBom.d.ts.map +1 -1
- package/types/lib/cli/jvmBom.d.ts +20 -0
- package/types/lib/cli/jvmBom.d.ts.map +1 -1
- package/types/lib/cli/managedBom.d.ts.map +1 -1
- package/types/lib/cli/nativeBom.d.ts.map +1 -1
- package/types/lib/core/boundedFile.d.ts +70 -0
- package/types/lib/core/boundedFile.d.ts.map +1 -0
- package/types/lib/core/brotliProbe.d.ts +37 -0
- package/types/lib/core/brotliProbe.d.ts.map +1 -0
- package/types/lib/core/env.d.ts +22 -2
- package/types/lib/core/env.d.ts.map +1 -1
- package/types/lib/core/fs.d.ts.map +1 -1
- package/types/lib/core/httpClient.d.ts +24 -0
- package/types/lib/core/httpClient.d.ts.map +1 -1
- package/types/lib/core/lockPaths.d.ts +19 -0
- package/types/lib/core/lockPaths.d.ts.map +1 -0
- package/types/lib/core/processTree.d.ts +2 -0
- package/types/lib/core/processTree.d.ts.map +1 -1
- package/types/lib/core/projectConfig.d.ts.map +1 -1
- package/types/lib/core/projectTooling.d.ts +41 -0
- package/types/lib/core/projectTooling.d.ts.map +1 -0
- package/types/lib/core/propertySanitizer.d.ts +26 -0
- package/types/lib/core/propertySanitizer.d.ts.map +1 -1
- package/types/lib/core/toolRegistry.d.ts +36 -0
- package/types/lib/core/toolRegistry.d.ts.map +1 -0
- package/types/lib/ecosystems/cppEvidence.d.ts +40 -13
- package/types/lib/ecosystems/cppEvidence.d.ts.map +1 -1
- package/types/lib/ecosystems/cppIncludeResolver.d.ts +2 -1
- package/types/lib/ecosystems/cppIncludeResolver.d.ts.map +1 -1
- package/types/lib/ecosystems/ecosystems.d.ts.map +1 -1
- package/types/lib/ecosystems/gemHostProbe.d.ts +28 -0
- package/types/lib/ecosystems/gemHostProbe.d.ts.map +1 -0
- package/types/lib/ecosystems/golem.d.ts +81 -1
- package/types/lib/ecosystems/golem.d.ts.map +1 -1
- package/types/lib/ecosystems/gradleutils.d.ts +57 -21
- package/types/lib/ecosystems/gradleutils.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-bazel.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-dotnet.d.ts +40 -4
- package/types/lib/ecosystems/parsers-dotnet.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-go.d.ts +85 -13
- package/types/lib/ecosystems/parsers-go.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-js.d.ts +17 -20
- package/types/lib/ecosystems/parsers-js.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-jvm.d.ts +28 -2
- package/types/lib/ecosystems/parsers-jvm.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-misc.d.ts +37 -58
- package/types/lib/ecosystems/parsers-misc.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-python.d.ts +14 -3
- package/types/lib/ecosystems/parsers-python.d.ts.map +1 -1
- package/types/lib/ecosystems/pythonutils.d.ts +19 -1
- package/types/lib/ecosystems/pythonutils.d.ts.map +1 -1
- package/types/lib/ecosystems/rubyutils.d.ts +144 -12
- package/types/lib/ecosystems/rubyutils.d.ts.map +1 -1
- package/types/lib/ecosystems/rusi.d.ts.map +1 -1
- package/types/lib/ecosystems/scalacliutils.d.ts.map +1 -1
- package/types/lib/ecosystems/scalasem.d.ts.map +1 -1
- package/types/lib/ecosystems/vendoredCode.d.ts +26 -0
- package/types/lib/ecosystems/vendoredCode.d.ts.map +1 -1
- package/types/lib/ecosystems/venvProbe.d.ts +40 -0
- package/types/lib/ecosystems/venvProbe.d.ts.map +1 -0
- package/types/lib/evinser/evinser.d.ts +88 -8
- package/types/lib/evinser/evinser.d.ts.map +1 -1
- package/types/lib/evinser/swiftsem.d.ts +10 -0
- package/types/lib/evinser/swiftsem.d.ts.map +1 -1
- package/types/lib/inventory/agentSkillSpec.d.ts +13 -0
- package/types/lib/inventory/agentSkillSpec.d.ts.map +1 -0
- package/types/lib/inventory/apkInstalledDb.d.ts +42 -0
- package/types/lib/inventory/apkInstalledDb.d.ts.map +1 -0
- package/types/lib/inventory/atomUtils.d.ts +33 -0
- package/types/lib/inventory/atomUtils.d.ts.map +1 -1
- package/types/lib/inventory/brotliDecoder.d.ts +58 -0
- package/types/lib/inventory/brotliDecoder.d.ts.map +1 -0
- package/types/lib/inventory/cacheDir.d.ts +12 -4
- package/types/lib/inventory/cacheDir.d.ts.map +1 -1
- package/types/lib/inventory/cbomutils.d.ts +17 -0
- package/types/lib/inventory/cbomutils.d.ts.map +1 -1
- package/types/lib/inventory/certificates.d.ts +205 -0
- package/types/lib/inventory/certificates.d.ts.map +1 -0
- package/types/lib/inventory/communityAiConfigParser.d.ts.map +1 -1
- package/types/lib/inventory/deps.d.ts +2 -1
- package/types/lib/inventory/deps.d.ts.map +1 -1
- package/types/lib/inventory/display.d.ts +18 -0
- package/types/lib/inventory/display.d.ts.map +1 -1
- package/types/lib/inventory/dosai.d.ts +162 -7
- package/types/lib/inventory/dosai.d.ts.map +1 -1
- package/types/lib/inventory/dotnetRuntime.d.ts +44 -0
- package/types/lib/inventory/dotnetRuntime.d.ts.map +1 -0
- package/types/lib/inventory/dynamic.d.ts +6 -1
- package/types/lib/inventory/dynamic.d.ts.map +1 -1
- package/types/lib/inventory/envcontext.d.ts +92 -8
- package/types/lib/inventory/envcontext.d.ts.map +1 -1
- package/types/lib/inventory/evidenceUtils.d.ts +29 -10
- package/types/lib/inventory/evidenceUtils.d.ts.map +1 -1
- package/types/lib/inventory/formulationParsers.d.ts.map +1 -1
- package/types/lib/inventory/goBuildInfo.d.ts +10 -0
- package/types/lib/inventory/goBuildInfo.d.ts.map +1 -0
- package/types/lib/inventory/gtfobins.d.ts.map +1 -1
- package/types/lib/inventory/hbom.d.ts.map +1 -1
- package/types/lib/inventory/hbomAnalysis.d.ts +10 -0
- package/types/lib/inventory/hbomAnalysis.d.ts.map +1 -1
- package/types/lib/inventory/hostRuntimeProbe.d.ts +44 -0
- package/types/lib/inventory/hostRuntimeProbe.d.ts.map +1 -0
- package/types/lib/inventory/hostTopology.d.ts.map +1 -1
- package/types/lib/inventory/jvmToolEnv.d.ts +12 -0
- package/types/lib/inventory/jvmToolEnv.d.ts.map +1 -1
- package/types/lib/inventory/licenseEnhancer.d.ts.map +1 -1
- package/types/lib/inventory/mavenCentralMirror.d.ts +170 -0
- package/types/lib/inventory/mavenCentralMirror.d.ts.map +1 -0
- package/types/lib/inventory/nodeBuildInfo.d.ts +95 -0
- package/types/lib/inventory/nodeBuildInfo.d.ts.map +1 -0
- package/types/lib/inventory/nodeHostProbe.d.ts +15 -0
- package/types/lib/inventory/nodeHostProbe.d.ts.map +1 -0
- package/types/lib/inventory/osPackagePurl.d.ts +99 -0
- package/types/lib/inventory/osPackagePurl.d.ts.map +1 -0
- package/types/lib/inventory/osPackageResolver.d.ts +44 -2
- package/types/lib/inventory/osPackageResolver.d.ts.map +1 -1
- package/types/lib/inventory/osinfo.d.ts +31 -6
- package/types/lib/inventory/osinfo.d.ts.map +1 -1
- package/types/lib/inventory/osqueryTransform.d.ts +51 -0
- package/types/lib/inventory/osqueryTransform.d.ts.map +1 -1
- package/types/lib/inventory/phpBuildInfo.d.ts +142 -0
- package/types/lib/inventory/phpBuildInfo.d.ts.map +1 -0
- package/types/lib/inventory/phpHostProbe.d.ts +35 -0
- package/types/lib/inventory/phpHostProbe.d.ts.map +1 -0
- package/types/lib/inventory/rootfsCerts.d.ts +27 -0
- package/types/lib/inventory/rootfsCerts.d.ts.map +1 -0
- package/types/lib/inventory/rubyBuildInfo.d.ts +271 -0
- package/types/lib/inventory/rubyBuildInfo.d.ts.map +1 -0
- package/types/lib/inventory/rubyHostProbe.d.ts +47 -0
- package/types/lib/inventory/rubyHostProbe.d.ts.map +1 -0
- package/types/lib/inventory/source.d.ts +38 -0
- package/types/lib/inventory/source.d.ts.map +1 -1
- package/types/lib/inventory/spdx.d.ts +15 -0
- package/types/lib/inventory/spdx.d.ts.map +1 -1
- package/types/lib/inventory/traceRunner.d.ts +4 -1
- package/types/lib/inventory/traceRunner.d.ts.map +1 -1
- package/types/lib/inventory/tracedCrypto.d.ts +22 -0
- package/types/lib/inventory/tracedCrypto.d.ts.map +1 -1
- package/types/lib/managers/binary.d.ts +10 -0
- package/types/lib/managers/binary.d.ts.map +1 -1
- package/types/lib/managers/docker.d.ts +24 -0
- package/types/lib/managers/docker.d.ts.map +1 -1
- package/types/lib/parsers/email.d.ts +19 -0
- package/types/lib/parsers/email.d.ts.map +1 -0
- package/types/lib/parsers/largeJson.d.ts +17 -3
- package/types/lib/parsers/largeJson.d.ts.map +1 -1
- package/types/lib/server/server.d.ts +8 -0
- package/types/lib/server/server.d.ts.map +1 -1
- package/types/lib/stages/postgen/annotator.d.ts.map +1 -1
- package/types/lib/stages/postgen/introspection/reflect.d.ts.map +1 -1
- package/types/lib/stages/postgen/ruleEngine.d.ts +7 -4
- package/types/lib/stages/postgen/ruleEngine.d.ts.map +1 -1
- package/types/lib/stages/postgen/specVersionCompat.d.ts.map +1 -1
- package/types/lib/stages/pregen/envAudit.d.ts.map +1 -1
- package/types/lib/stages/pregen/pregen.d.ts +26 -9
- package/types/lib/stages/pregen/pregen.d.ts.map +1 -1
- package/types/lib/validator/bomValidator.d.ts.map +1 -1
|
@@ -10,6 +10,46 @@
|
|
|
10
10
|
* @returns {boolean} true when the directory holds at least one C or C++ file
|
|
11
11
|
*/
|
|
12
12
|
export declare function hasCppSources(src: string, options?: Object): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* The ports vcpkg installed into the `vcpkg_installed` directories of a
|
|
15
|
+
* project and its build trees, by lower-case port name.
|
|
16
|
+
*
|
|
17
|
+
* @param {string} src project directory
|
|
18
|
+
* @param {Object} options CLI options, for the build-directory candidates
|
|
19
|
+
* @returns {Map<string, {version: string, triplet: string}>}
|
|
20
|
+
*/
|
|
21
|
+
export declare function installedVcpkgPorts(src: string, options?: Object): Map<string, {
|
|
22
|
+
version: string;
|
|
23
|
+
triplet: string;
|
|
24
|
+
}>;
|
|
25
|
+
/**
|
|
26
|
+
* Read a vcpkg manifest (vcpkg.json) in a directory: the project it describes
|
|
27
|
+
* and the ports it declares. A port's version comes from what vcpkg installed
|
|
28
|
+
* in the build tree when that is known, otherwise from the manifest's
|
|
29
|
+
* `overrides`, which pin it exactly. A `version>=` constraint is only a
|
|
30
|
+
* minimum, so it is kept as a property, never as the version.
|
|
31
|
+
* https://learn.microsoft.com/vcpkg/reference/vcpkg-json
|
|
32
|
+
*
|
|
33
|
+
* The read is cheap and runs no tool, so it does not wait for the atom-based
|
|
34
|
+
* analysis that getCppModules adds.
|
|
35
|
+
*
|
|
36
|
+
* @param {string} src directory that may hold vcpkg.json
|
|
37
|
+
* @param {Object} [options] options
|
|
38
|
+
* @param {Map<string, {version: string, triplet: string}>} [options.installedPorts]
|
|
39
|
+
* ports vcpkg installed, by lower-case name
|
|
40
|
+
* @param {function(string): boolean} [options.isListed] whether another source
|
|
41
|
+
* already lists a port by that name
|
|
42
|
+
* @returns {{parentComponent: Object|undefined, pkgList: Object[]}}
|
|
43
|
+
*/
|
|
44
|
+
export declare function parseVcpkgManifest(src: string, options?: {
|
|
45
|
+
installedPorts?: Map<string, {
|
|
46
|
+
version: string;
|
|
47
|
+
triplet: string;
|
|
48
|
+
}>;
|
|
49
|
+
}): {
|
|
50
|
+
parentComponent: Object | undefined;
|
|
51
|
+
pkgList: Object[];
|
|
52
|
+
};
|
|
13
53
|
/**
|
|
14
54
|
* Method to find c/c++ modules by collecting usages with atom
|
|
15
55
|
*
|
|
@@ -24,19 +64,6 @@ export declare function hasCppSources(src: string, options?: Object): boolean;
|
|
|
24
64
|
*/
|
|
25
65
|
export declare function getCppModules(src: string, options: object, osPkgsList: array, epkgList: array, isFirstPartyHeader?: Function): {
|
|
26
66
|
parentComponent: Object | {
|
|
27
|
-
name: any;
|
|
28
|
-
version: any;
|
|
29
|
-
description: any;
|
|
30
|
-
license: any;
|
|
31
|
-
purl: any;
|
|
32
|
-
type: string;
|
|
33
|
-
"bom-ref": string;
|
|
34
|
-
group?: undefined;
|
|
35
|
-
} | {
|
|
36
|
-
purl?: undefined;
|
|
37
|
-
description?: undefined;
|
|
38
|
-
license?: undefined;
|
|
39
|
-
"bom-ref"?: undefined;
|
|
40
67
|
group: any;
|
|
41
68
|
name: any;
|
|
42
69
|
version: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cppEvidence.d.ts","sourceRoot":"","sources":["../../../lib/ecosystems/cppEvidence.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cppEvidence.d.ts","sourceRoot":"","sources":["../../../lib/ecosystems/cppEvidence.js"],"names":[],"mappings":"AA4MA;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAJtB,MAIsB,EAAE,OAAO,GAH/B,MAGoC,GAFlC,OAAO,CAOnB;AAID;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAJ5B,MAI4B,EAAE,OAAO,GAHrC,MAG0C,GAFxC,GAAG,CAAC,MAAM,EAAE;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAC,CAsB3D;AAgCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAR3B,MAQ2B,EAAE,OAAO,AAP5C,CAGA,EAFA;IAAkE,cAAc,AAAhF,CAEA,EAFQ,GAAG,CAAC,MAAM,EAAE;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,CAAC,CAEvD;CAIiD,GAFvC;IAAC,eAAe,EAAE,MAAM,GAAC,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAC,CA4JlE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAVM,MAUN,EACH,OAAO,EAVE,MAUF,EACP,UAAU,EAVD,KAUC,EACV,QAAQ,EAVC,KAUD,EACR,kBAAkB,WAAY;;;;;;;;;;;;EAmX/B"}
|
|
@@ -33,12 +33,13 @@ export declare function parseCIncludeSlices(sliceData: Object): Map<string, {
|
|
|
33
33
|
* line relative to the installed directory.
|
|
34
34
|
*
|
|
35
35
|
* @param {string[]} installedDirs `vcpkg_installed` directories
|
|
36
|
-
* @returns {Map<string, {port: string, version: string, triplet: string}>}
|
|
36
|
+
* @returns {Map<string, {port: string, version: string, triplet: string, portVersion?: string}>}
|
|
37
37
|
*/
|
|
38
38
|
export declare function readVcpkgInstalledIndex(installedDirs: string[]): Map<string, {
|
|
39
39
|
port: string;
|
|
40
40
|
version: string;
|
|
41
41
|
triplet: string;
|
|
42
|
+
portVersion?: string;
|
|
42
43
|
}>;
|
|
43
44
|
/**
|
|
44
45
|
* The package folders of a Conan 2 cache, from its database
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cppIncludeResolver.d.ts","sourceRoot":"","sources":["../../../lib/ecosystems/cppIncludeResolver.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAHlC,MAGkC,GAFhC,GAAG,CAAC,MAAM,EAAE;IAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAC,CAAC,CA+BpF;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAH1C,MAAM,EAGoC,GAFxC,GAAG,CAAC,MAAM,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"cppIncludeResolver.d.ts","sourceRoot":"","sources":["../../../lib/ecosystems/cppIncludeResolver.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAHlC,MAGkC,GAFhC,GAAG,CAAC,MAAM,EAAE;IAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAC,CAAC,CA+BpF;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAH1C,MAAM,EAGoC,GAFxC,GAAG,CAAC,MAAM,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC,CA6C/F;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAH7B,MAG6B,GAF3B,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAC,CAuC/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAJxB,MAIwB,EAAE,MAAM,EAHhC,MAAM,EAG0B,GAF9B;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GAAC,SAAS,CAgBrD;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAd5C;IAAwB,GAAG,EAAnB,MAAM,CACd;IAA2B,UAAU,AAArC,CAGA,EAHQ,MAAM,EAAE,CAGhB;IAA2B,SAAS,AAApC,CAEA,EAFQ,MAAM,EAAE,CAEhB;CAQ4C,YA2F9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecosystems.d.ts","sourceRoot":"","sources":["../../../lib/ecosystems/ecosystems.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ecosystems.d.ts","sourceRoot":"","sources":["../../../lib/ecosystems/ecosystems.js"],"names":[],"mappings":"AAmHA;;;;;GAKG;AACH,eAAO,MAAM,cAAc,IAAK,CAAC;AAqDjC;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAH1C,MAAM,EAGoC,GAFxC,OAAO,CAAC,MAAM,EAAE,CAAC,CAmC7B;AA8LD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,cAAc,CAAC,OAAO,OAAA,EAAE,WAAW,AAPtD,CACA,EADQ,MAO8C,EAAE,OAAO,AAN/D,CAKF,EAJE;IAAyB,WAAW,AAApC,CAEA,EAFQ,MAAM,CAEd;IAA0B,UAAU,AAApC,CAEF,EAFU,OAAO,CAEjB;CACsE,kBAgItE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAL/B,MAK+B,EAAE,IAAI,EAJrC,MAIqC,EAAE,OAAO,EAH9C,MAG8C,GAF5C,MAAM,GAAC,IAAI,CAYvB;AAscD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAClC,OAAO,OAAA,EACP,YAAY,GATH,MASQ,EACjB,KAAK,UAAQ,EACb,OAAO,AATN,CAGA,EAHQ;IAAC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CASrB,SAmHb;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAA,UAGnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAA,GAF/D,MAAM,GAAC,SAAS,CAa3B;AA+DD;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAA,GAFzD,OAAO,QAAQ,CAY1B;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,EAF/C,MAAM,QAEyC,qBAUzD;AAED;;;;;;;;;GASG;AACH,wBAAsB,+BAA+B,CAAC,EACpD,SAAS,EACT,KAAK,EACL,IAAI,EACJ,OAAO,GACR,QAAA,GAPW,OAAO,QAAQ,CAW1B;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,OAAA,EAAE,iBAAiB,EAF7D,GAE6D,OAwBvE;AAwHD;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,OAAO,OAAA,EAAE,aAAa,SAAA,kBA6QzD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAJjC,MAIiC,EAAE,WAAW,GAH9C,MAG0D;;;;;;;;IA6IpE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAHzC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAGH,GAFvC,MAAM,CAQlB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAJtC,MAIsC,EAAE,UAAU,EAHlD,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAC,CAGD,GAFhD,IAAI,CAuBhB;AAiBD;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,YAAY,EAH5C,MAG4C,GAF3C,SAAO,SAAS,CAqB3B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,QAAA,GAF7B,QAAQ,CAQnB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,QAAA,EAAE,YAAY,EAHzC,MAGyC,GAFxC,SAAO,SAAS,CAc3B;AAmBD;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAJxC,KAAK,CAAC,MAAM,GAAC,SAAS,CAIkB,GAFtC,OAAO,CAAC,IAAI,CAAC,CAoDzB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,SAEvC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,cAAc,CAAC,OAAO,EALjC,MAKiC,EAAE,YAAY,AAJvD,CACA,EADQ,MAI+C,GAH7C,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,GAAC,SAAS,CAAC,CAgExE;AAYD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAJxC,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,CAIG,GAFtC,OAAO,CAAC,IAAI,CAAC,CAiDzB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,SAEjC;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,YAAY,EAFvC,MAEuC,gBAiDjD;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,KAAK,QAAA,EAAE,IAAI,QAAA,EAAE,OAAO,AAFtD,CACF,QACwD,gBA6BxD;AAiND;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,OAAA,EAAE,OAAO,AAJrD,CAGF,EAFE;IAA0B,gBAAgB,AAA1C,CAEF,EAFU,OAAO,CAEjB;CAC4D,kBAmK5D;AA8GD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CAAC,OAAO,OAAA,EAAE,OAAO,AAJnD,CAGF,EAFE;IAA0B,UAAU,AAApC,CAEF,EAFU,OAAO,CAEjB;CAC0D,kBAwF1D;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAHtC,MAGsC,GAFpC,MAAM,GAAC,SAAS,CA6B5B;AAwDD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EANpC,MAMoC,EAAE,OAAO,EAL7C,MAK6C,EAAE,YAAY,GAJ3D,MAIgE,kBAoe1E;AAkbD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,OAAA,EAAE,YAAY,QAAY;;;GA4IvE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The gem homes of a host, each a directory with a `specifications` directory.
|
|
3
|
+
*
|
|
4
|
+
* @param {string} rootPath root directory
|
|
5
|
+
* @param {string} platform `linux`, `darwin` or `win32`
|
|
6
|
+
* @returns {string[]} absolute gem home directories
|
|
7
|
+
*/
|
|
8
|
+
export declare function findGemHomes(rootPath: string, platform: string): string[];
|
|
9
|
+
/**
|
|
10
|
+
* Inventory the gems of a host's gem homes. One component per distinct gem
|
|
11
|
+
* and version, with an occurrence for each gemspec it was read from, so no
|
|
12
|
+
* host path reaches a purl.
|
|
13
|
+
*
|
|
14
|
+
* @param {Object} [options] options
|
|
15
|
+
* @param {string} [options.rootPath="/"] root directory; tests point it at a built tree
|
|
16
|
+
* @param {string} [options.platform] `linux`, `darwin` or `win32`
|
|
17
|
+
* @param {function(string): (Object[]|undefined)} [options.executeOsQuery] runs
|
|
18
|
+
* an osquery query, for rpm ownership
|
|
19
|
+
* @param {Object[]} [options.packageComponents] the OS packages the scan has
|
|
20
|
+
* inventoried, which name the owners
|
|
21
|
+
* @param {Object} [options.packageDatabases] where the package databases are
|
|
22
|
+
* @returns {Promise<Object[]>} gem components
|
|
23
|
+
*/
|
|
24
|
+
export declare function probeHostRubyGems(options?: {
|
|
25
|
+
rootPath?: string;
|
|
26
|
+
platform?: string;
|
|
27
|
+
}): Promise<Object[]>;
|
|
28
|
+
//# sourceMappingURL=gemHostProbe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gemHostProbe.d.ts","sourceRoot":"","sources":["../../../lib/ecosystems/gemHostProbe.js"],"names":[],"mappings":"AA+FA;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAJ1B,MAI0B,EAAE,QAAQ,EAHpC,MAGoC,GAFlC,MAAM,EAAE,CAmCpB;AAWD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,AAV5C,CAGA,EAFA;IAAyB,QAAQ,AAAjC,CACA,EADQ,MAAM,CACd;IAAyB,QAAQ,AAAjC,CACA,EADQ,MAAM,CACd;CAOiD,GAFvC,OAAO,CAAC,MAAM,EAAE,CAAC,CA6I7B"}
|
|
@@ -10,7 +10,8 @@ export declare function isGolemGoLanguage(language: string): boolean;
|
|
|
10
10
|
*
|
|
11
11
|
* @param {string} jsonFile Path to the golem JSON report.
|
|
12
12
|
* @returns {object|undefined} Parsed report object, or undefined when the file
|
|
13
|
-
* is missing
|
|
13
|
+
* is missing, cannot be parsed, or holds something other than a JSON object
|
|
14
|
+
* such as `null`.
|
|
14
15
|
*/
|
|
15
16
|
export declare function readGolemJsonFile(jsonFile: string): object | undefined;
|
|
16
17
|
/**
|
|
@@ -57,4 +58,83 @@ export declare function collectGolemEvidence(golemReport?: object, components?:
|
|
|
57
58
|
metadataProperties: Array<object>;
|
|
58
59
|
purlLocationMap: Record<string, any[]>;
|
|
59
60
|
};
|
|
61
|
+
/**
|
|
62
|
+
* Normalise a Go route path to the placeholder spelling OpenAPI — and
|
|
63
|
+
* therefore the rest of the services a BOM carries — uses. gin, echo and
|
|
64
|
+
* fiber write `:id`, gin writes `*filepath`, chi and gorilla/mux write `{id}`
|
|
65
|
+
* or `{id:[0-9]+}`, and Go 1.22's net/http patterns write `{id...}`; all
|
|
66
|
+
* become `{id}`. Braces are matched by depth, so a regular expression with
|
|
67
|
+
* its own braces or slashes (`{code:[0-9]{3}}`, `{rest:[a-z/]+}`) stays one
|
|
68
|
+
* variable. A fiber constraint or optional marker (`:id<int>`, `:name?`) is
|
|
69
|
+
* dropped, and net/http's `{$}` is removed. A `:` or `*` placeholder is only
|
|
70
|
+
* recognised at the start of a segment — or, for fiber, after a `-` or `.` —
|
|
71
|
+
* so a literal colon such as `/time/09:30` is left alone. Values that do not
|
|
72
|
+
* start with `/` are returned as they are, and so is echo's catch-all, whose
|
|
73
|
+
* bare `*` names no placeholder.
|
|
74
|
+
*
|
|
75
|
+
* @param {string} routePath Path a golem endpoint reports
|
|
76
|
+
* @param {string} [framework] Framework the route was registered with
|
|
77
|
+
* @returns {string} The normalised path
|
|
78
|
+
*/
|
|
79
|
+
export declare function normalizeGolemRoutePath(routePath: string, framework?: string): string;
|
|
80
|
+
/**
|
|
81
|
+
* Split a route golem reports into the `[METHOD ][HOST]/PATH` parts of a Go
|
|
82
|
+
* 1.22 net/http ServeMux pattern. golem puts a `/` in front of the pattern it
|
|
83
|
+
* read, so `GET /items/{id}` arrives as `/GET /items/{id}` and
|
|
84
|
+
* `GET example.com/items` as `/GET example.com/items`. A method followed by a
|
|
85
|
+
* space or tab is split off, and so is a host between the method and the
|
|
86
|
+
* path. Without a method, only a value that starts with `/` is a route: the
|
|
87
|
+
* `:8080` a listener reports and the `GET` that a gorilla/mux
|
|
88
|
+
* `.Methods("GET")` call leaves behind are not, and give undefined. A host
|
|
89
|
+
* pattern without a method reaches golem's report as a plain path
|
|
90
|
+
* (`/example.com/items`) and stays one.
|
|
91
|
+
*
|
|
92
|
+
* @param {string} routePath Path a golem endpoint reports
|
|
93
|
+
* @returns {{method: (string|undefined), host: (string|undefined), path: string}|undefined}
|
|
94
|
+
* The parts, or undefined when the value is not a route
|
|
95
|
+
*/
|
|
96
|
+
export declare function parseGolemRoutePattern(routePath: string): {
|
|
97
|
+
method: (string | undefined);
|
|
98
|
+
host: (string | undefined);
|
|
99
|
+
path: string;
|
|
100
|
+
} | undefined;
|
|
101
|
+
/**
|
|
102
|
+
* Reduce an outbound URL golem reports to what is safe to keep in a BOM:
|
|
103
|
+
* scheme, host and path, without userinfo, query, fragment or `;name=value`
|
|
104
|
+
* path parameters such as `;jsessionid=` and `;token=`. Webhook and bot URLs
|
|
105
|
+
* that authenticate by their path — Slack, Discord, Teams, Zapier, IFTTT,
|
|
106
|
+
* Telegram — keep only their route (`https://hooks.slack.com/services`), and a
|
|
107
|
+
* path segment holding a token shape the BOM sanitizer recognises ends the
|
|
108
|
+
* path there. Undefined when the value is not a URL with a host.
|
|
109
|
+
*
|
|
110
|
+
* @param {string} value URL golem reports
|
|
111
|
+
* @returns {string|undefined} The sanitised URL
|
|
112
|
+
*/
|
|
113
|
+
export declare function sanitizeGolemEndpointUrl(value: string): string | undefined;
|
|
114
|
+
/**
|
|
115
|
+
* Project the services and API endpoints of a golem report into evinse's
|
|
116
|
+
* service map, so a Go `evinse`/`saasbom` run lists its services the way the
|
|
117
|
+
* kosi (Kotlin) and dosai (.NET) collectors already do (#4498).
|
|
118
|
+
*
|
|
119
|
+
* golem rolls one service up per server it saw — a `gin` engine, a net/http
|
|
120
|
+
* listener on `:8080` — and lists the routes registered on it, each with its
|
|
121
|
+
* HTTP method and framework. Route paths are normalised to OpenAPI
|
|
122
|
+
* placeholders and Go 1.22 ServeMux patterns are split into method, host and
|
|
123
|
+
* path; entries that are not routes are skipped. It also rolls the outbound
|
|
124
|
+
* hosts the source calls into services of `kind: "external"`; those carry
|
|
125
|
+
* `x-trust-boundary: true`, since a host the application calls sits outside
|
|
126
|
+
* its own trust boundary, and their URLs are sanitised before they become
|
|
127
|
+
* endpoints. Every endpoint is percent-encoded to an RFC 3986 reference. The
|
|
128
|
+
* map is keyed by the golem service id, which is unique per server, while
|
|
129
|
+
* `name` carries the display name.
|
|
130
|
+
*
|
|
131
|
+
* HTTP methods are lower-cased to match the property values the OpenAPI flow
|
|
132
|
+
* emits, so a consumer grouping by `cdx:service:httpMethod` sees one value
|
|
133
|
+
* per method.
|
|
134
|
+
*
|
|
135
|
+
* @param {object|null} [golemReport={}] Parsed golem analysis report.
|
|
136
|
+
* @param {Object} [servicesMap={}] Service map to populate.
|
|
137
|
+
* @returns {Object} The service map
|
|
138
|
+
*/
|
|
139
|
+
export declare function collectGolemServices(golemReport?: object | null, servicesMap?: Object): Object;
|
|
60
140
|
//# sourceMappingURL=golem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"golem.d.ts","sourceRoot":"","sources":["../../../lib/ecosystems/golem.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"golem.d.ts","sourceRoot":"","sources":["../../../lib/ecosystems/golem.js"],"names":[],"mappings":"AA4mDA;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAH/B,MAG+B,GAF7B,OAAO,CAInB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAL/B,MAK+B,GAJ7B,MAAM,GAAC,SAAS,CAgB5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EALzB,MAKyB,EAAE,UAAU,EAJrC,MAIqC,EAAE,OAAO,AAHtD,CACA,EADQ,MAGmD,GAFjD,OAAO,CA4DnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAJ5B,MAI4B,EAAE,OAAO,AAH7C,CACA,EADQ,MAG0C,GAFxC,MAAM,GAAC,SAAS,CA2B5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,AAL7C,CACA,EADQ,MAK0C,EAAE,UAAU,AAJ9D,CACA,EADQ,KAAK,CAAC,MAAM,CAI+C,GAHzD;IAAC,sBAAsB,2BAAgC;IAAC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAAC,mBAAmB,0BAA0B;IAAC,cAAc,wBAAwB;IAAC,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAAC,eAAe,wBAAuB;CAAC,CAsFpQ;AAoKD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAJtC,MAIsC,EAAE,SAAS,AAHzD,CACA,EADQ,MAGiD,GAF/C,MAAM,CAkDlB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAJrC,MAIqC,GAHnC;IAAC,MAAM,EAAE,CAAC,MAAM,GAAC,SAAS,CAAC,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,GAAC,SAAS,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAAC,SAAS,CAyB1F;AAgDD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAHnC,MAGmC,GAFjC,MAAM,GAAC,SAAS,CA2C5B;AA+BD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,AAJ7C,CACA,EADQ,MAAM,GAAC,IAImC,EAAE,WAAW,AAH/D,CACA,EADQ,MAG4D,GAF1D,MAAM,CAuElB"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { isProjectToolingAllowed } from "../core/projectTooling.js";
|
|
2
|
+
export { isProjectToolingAllowed };
|
|
1
3
|
/**
|
|
2
4
|
* Method to return the gradle command to use.
|
|
3
5
|
*
|
|
4
6
|
* Project-local wrapper scripts (`gradlew`) are attacker-controlled files in
|
|
5
|
-
* the scanned project, so they are only used when
|
|
6
|
-
*
|
|
7
|
-
* used.
|
|
7
|
+
* the scanned project, so they are only used when the project's own tooling
|
|
8
|
+
* may run (see isProjectToolingAllowed); otherwise the system Gradle is used.
|
|
8
9
|
*
|
|
9
10
|
* @param {string} srcPath Path to look for gradlew wrapper
|
|
10
11
|
* @param {string|null} rootPath Root directory to look for gradlew wrapper
|
|
@@ -109,24 +110,58 @@ export declare function recordGradleInvocationFailure(result: Object, context?:
|
|
|
109
110
|
command?: string;
|
|
110
111
|
gradleVersion?: string;
|
|
111
112
|
}): void;
|
|
113
|
+
/**
|
|
114
|
+
* Read the properties of every project the dependency reports name that
|
|
115
|
+
* `gradleModules` does not have yet, such as a project of an included build,
|
|
116
|
+
* and add a module for each one whose properties task printed a report. One
|
|
117
|
+
* Gradle invocation covers all of them.
|
|
118
|
+
*
|
|
119
|
+
* @param {Iterable<string>} reports Text of the `gradle dependencies` reports
|
|
120
|
+
* @param {Map} gradleModules Modules keyed by project path, updated in place
|
|
121
|
+
* @param {string} gradleRootPath Directory to run Gradle in
|
|
122
|
+
* @param {Object} options CLI options
|
|
123
|
+
* @returns {Promise<string[]>} Paths of the projects added
|
|
124
|
+
*/
|
|
125
|
+
export declare function loadGradleModulesForReports(reports: Iterable<string>, gradleModules: Map<any, any>, gradleRootPath: string, options?: Object): Promise<string[]>;
|
|
126
|
+
/**
|
|
127
|
+
* Reconcile the copies of a component that several Gradle projects report.
|
|
128
|
+
* Every copy gets the strongest scope any project gave it, so a library one
|
|
129
|
+
* module only tests with stays required when another module compiles against
|
|
130
|
+
* it, and a dependency one project failed to resolve loses its failure
|
|
131
|
+
* properties when another project resolved it.
|
|
132
|
+
*
|
|
133
|
+
* @param {Object[]} pkgList Components from all the projects, updated in place
|
|
134
|
+
* @returns {Object[]} The same list
|
|
135
|
+
*/
|
|
136
|
+
export declare function reconcileGradleComponents(pkgList: Object[]): Object[];
|
|
112
137
|
/**
|
|
113
138
|
* Method to resolve dependencies from a gradle output
|
|
114
139
|
*
|
|
140
|
+
* A constraint line (`(c)`) adds neither a component nor an edge. Gradle
|
|
141
|
+
* prints a nested constraint under the platform or module that declares it,
|
|
142
|
+
* and only when the dependency it affects is resolved elsewhere in the tree,
|
|
143
|
+
* where that dependency gets its component and edges. A top-level
|
|
144
|
+
* `{strictly …}` constraint from consistent resolution can name a module the
|
|
145
|
+
* configuration never resolves. A dependency that failed to resolve carries
|
|
146
|
+
* `cdx:gradle:resolutionFailed`, keeps the version it was requested at when
|
|
147
|
+
* that is a concrete version, and otherwise records the request in
|
|
148
|
+
* `cdx:gradle:requestedVersion`. A dependency seen in several configurations
|
|
149
|
+
* keeps the strongest scope among them.
|
|
150
|
+
*
|
|
151
|
+
* The parser runs no Gradle task. A project the tree names but `gradleModules`
|
|
152
|
+
* lacks gets a component built from the root project's group and version; use
|
|
153
|
+
* `loadGradleModulesForReports` first to read such projects' properties.
|
|
154
|
+
*
|
|
115
155
|
* @param {string} rawOutput Text output from gradle dependencies task
|
|
116
|
-
* @param {string} rootProjectName
|
|
117
|
-
* @param {map} gradleModules
|
|
118
|
-
* @param {string} gradleRootPath
|
|
156
|
+
* @param {string} rootProjectName Key in `gradleModules` of the project the report belongs to
|
|
157
|
+
* @param {map} gradleModules Gradle modules keyed by project path, and the root project by its name
|
|
158
|
+
* @param {string} gradleRootPath Directory Gradle ran in, recorded as `cdx:gradle:GradleRootPath`
|
|
159
|
+
* @returns {{pkgList: Object[], dependenciesList: Object[]}|{}} The components and dependency graph
|
|
119
160
|
*/
|
|
120
|
-
export declare function parseGradleDep(rawOutput: string, rootProjectName?: string, gradleModules?: map, gradleRootPath?: string):
|
|
121
|
-
pkgList:
|
|
122
|
-
dependenciesList:
|
|
123
|
-
|
|
124
|
-
dependsOn: any[];
|
|
125
|
-
}[];
|
|
126
|
-
} | {
|
|
127
|
-
pkgList?: undefined;
|
|
128
|
-
dependenciesList?: undefined;
|
|
129
|
-
}>;
|
|
161
|
+
export declare function parseGradleDep(rawOutput: string, rootProjectName?: string, gradleModules?: map, gradleRootPath?: string): {
|
|
162
|
+
pkgList: Object[];
|
|
163
|
+
dependenciesList: Object[];
|
|
164
|
+
} | {};
|
|
130
165
|
/**
|
|
131
166
|
* Method that handles object creation for gradle modules.
|
|
132
167
|
*
|
|
@@ -178,8 +213,8 @@ _includeCacheDir?: boolean): Promise<Object>;
|
|
|
178
213
|
* Method to return the mill command to use.
|
|
179
214
|
*
|
|
180
215
|
* The project-local `mill` script is an attacker-controlled file in the
|
|
181
|
-
* scanned project, so it is only used when
|
|
182
|
-
* (
|
|
216
|
+
* scanned project, so it is only used when the project's own tooling may run
|
|
217
|
+
* (see isProjectToolingAllowed).
|
|
183
218
|
*
|
|
184
219
|
* @param {string} srcPath Path to look for mill wrapper
|
|
185
220
|
* @param {Object} [options] CLI options (`installDeps` gates wrapper use)
|
|
@@ -221,14 +256,15 @@ export declare function findMillDaemons(rootPath: string): Map<string, Set<numbe
|
|
|
221
256
|
* @param {string} rootPath Scanned tree
|
|
222
257
|
* @param {Map<string, Set<number>>} [runningBefore] Result of
|
|
223
258
|
* {@link findMillDaemons} taken before the scan
|
|
259
|
+
* @param {Object} [options] CLI options
|
|
224
260
|
*/
|
|
225
|
-
export declare function stopMillDaemons(rootPath: string, runningBefore?: Map<string, Set<number
|
|
261
|
+
export declare function stopMillDaemons(rootPath: string, runningBefore?: Map<string, Set<number>>, options?: Object): void;
|
|
226
262
|
/**
|
|
227
263
|
* Method to return the maven command to use.
|
|
228
264
|
*
|
|
229
265
|
* Project-local wrapper scripts (`mvnw`) are attacker-controlled files in the
|
|
230
|
-
* scanned project, so they are only used when
|
|
231
|
-
* (
|
|
266
|
+
* scanned project, so they are only used when the project's own tooling may
|
|
267
|
+
* run (see isProjectToolingAllowed); otherwise the installed Maven is used.
|
|
232
268
|
*
|
|
233
269
|
* @param {string} srcPath Path to look for maven wrapper
|
|
234
270
|
* @param {string} rootPath Root directory to look for maven wrapper
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gradleutils.d.ts","sourceRoot":"","sources":["../../../lib/ecosystems/gradleutils.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gradleutils.d.ts","sourceRoot":"","sources":["../../../lib/ecosystems/gradleutils.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers-bazel.d.ts","sourceRoot":"","sources":["../../../lib/ecosystems/parsers-bazel.js"],"names":[],"mappings":"AAgDA;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAHhC,MAGgC,GAF9B;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"parsers-bazel.d.ts","sourceRoot":"","sources":["../../../lib/ecosystems/parsers-bazel.js"],"names":[],"mappings":"AAgDA;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAHhC,MAGgC,GAF9B;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAmGhF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAHlC,MAGkC,GAFhC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,CAiDzD;AA+dD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAJrB,MAIqB,EAAE,IAAI,EAH3B,MAG2B,GAFzB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAC,MAAM,EAAE,CAAC,CAAC,CA2B/C"}
|
|
@@ -60,6 +60,28 @@ export declare function resolveInstalledNugetVersion(range: string, installedVer
|
|
|
60
60
|
* @returns {string} Project directory
|
|
61
61
|
*/
|
|
62
62
|
export declare function dotnetManifestProjectDir(manifestFile: string, projectPath?: string): string;
|
|
63
|
+
/**
|
|
64
|
+
* The path, on this machine, of the project file a project.assets.json belongs to.
|
|
65
|
+
*
|
|
66
|
+
* Restore records the project file and the directory it wrote the assets file
|
|
67
|
+
* to (`outputPath`) as absolute paths on the machine that ran it, which can be
|
|
68
|
+
* a CI agent, a container, another operating system, or this tree reached
|
|
69
|
+
* through another path. Where the project file sits relative to that
|
|
70
|
+
* directory does not change when the tree moves, so the project file is that
|
|
71
|
+
* offset applied to the directory the assets file is in. An assets file that
|
|
72
|
+
* records no output path is taken to be in its project's `obj/`. The recorded
|
|
73
|
+
* path itself is used only when no offset can be worked out, as when restore
|
|
74
|
+
* wrote to another drive than the project's.
|
|
75
|
+
*
|
|
76
|
+
* Nothing is read from disk: the name is spelled as restore recorded it, which
|
|
77
|
+
* can differ in case from the file a case-insensitive file system holds.
|
|
78
|
+
*
|
|
79
|
+
* @param {string} assetsFile project.assets.json path
|
|
80
|
+
* @param {string} [projectPath] Project file restore recorded
|
|
81
|
+
* @param {string} [outputPath] Directory restore recorded writing the assets file to
|
|
82
|
+
* @returns {string|undefined} Project file path, or undefined when none can be named
|
|
83
|
+
*/
|
|
84
|
+
export declare function dotnetRestoredProjectFile(assetsFile: string, projectPath?: string, outputPath?: string): string | undefined;
|
|
63
85
|
/**
|
|
64
86
|
* Index the MSBuild properties that props files define, by the directory each
|
|
65
87
|
* file sits in and across the whole scan, so the candidates for every project
|
|
@@ -192,10 +214,17 @@ export declare function lookupNugetVersion(versions: Object, name: string): stri
|
|
|
192
214
|
* @param {Object} restoredNames Package ids as this project's restore output spells them,
|
|
193
215
|
* keyed by lowercased id. NuGet ids are case-insensitive, so a reference spelled
|
|
194
216
|
* differently names the same package and takes the restored spelling.
|
|
217
|
+
* @param {{name: string, version: (string|undefined)}} [projectIdentity] Package id and
|
|
218
|
+
* version this project's project.assets.json records for the project. They name the
|
|
219
|
+
* project in place of what the project file states.
|
|
195
220
|
*
|
|
196
|
-
* @returns {Object} Containing parent component, package, and
|
|
221
|
+
* @returns {Object} Containing parent component, package, dependencies, and the
|
|
222
|
+
* `$(Name)` version labels left unresolved without msbuild
|
|
197
223
|
*/
|
|
198
|
-
export declare function parseCsProjData(csProjData: string, projFile: string, pkgNameVersions?: Object, msbuildInstalled?: boolean, pkgVersionLabelCandidates?: Object, centralVersions?: Object, fallbackVersions?: Object, restoredNames?: Object
|
|
224
|
+
export declare function parseCsProjData(csProjData: string, projFile: string, pkgNameVersions?: Object, msbuildInstalled?: boolean, pkgVersionLabelCandidates?: Object, centralVersions?: Object, fallbackVersions?: Object, restoredNames?: Object, projectIdentity?: {
|
|
225
|
+
name: string;
|
|
226
|
+
version: (string | undefined);
|
|
227
|
+
}): Object;
|
|
199
228
|
/**
|
|
200
229
|
* Whether a file of a NuGet package is an assembly a consuming project can
|
|
201
230
|
* reference: a .dll, .exe, or .so under lib/, ref/, or runtimes/.
|
|
@@ -213,13 +242,20 @@ export declare function isReferencedDotnetPackageFile(packageFile: string): bool
|
|
|
213
242
|
*
|
|
214
243
|
* @param {string} csProjData Raw JSON string of the project.assets.json file
|
|
215
244
|
* @param {string} assetsJsonFile Path to the project.assets.json file, used for evidence properties
|
|
216
|
-
* @returns {{ pkgList: Object[], dependenciesList: Object[], projectPath: (string|undefined) }}
|
|
217
|
-
* `projectPath` is the project file the restore output belongs to
|
|
245
|
+
* @returns {{ pkgList: Object[], dependenciesList: Object[], projectPath: (string|undefined), outputPath: (string|undefined), projectIdentity: ({name: string, version: (string|undefined)}|undefined) }}
|
|
246
|
+
* `projectPath` is the project file the restore output belongs to and `outputPath` the
|
|
247
|
+
* directory restore wrote it to, both as restore recorded them. `projectIdentity` is the
|
|
248
|
+
* package id and version restore evaluated for the project, which root the dependency tree.
|
|
218
249
|
*/
|
|
219
250
|
export declare function parseCsProjAssetsData(csProjData: string, assetsJsonFile: string): {
|
|
220
251
|
pkgList: Object[];
|
|
221
252
|
dependenciesList: Object[];
|
|
222
253
|
projectPath: (string | undefined);
|
|
254
|
+
outputPath: (string | undefined);
|
|
255
|
+
projectIdentity: ({
|
|
256
|
+
name: string;
|
|
257
|
+
version: (string | undefined);
|
|
258
|
+
} | undefined);
|
|
223
259
|
};
|
|
224
260
|
/**
|
|
225
261
|
* Parse a .NET packages.lock.json file and return the package list, dependency tree,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers-dotnet.d.ts","sourceRoot":"","sources":["../../../lib/ecosystems/parsers-dotnet.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parsers-dotnet.d.ts","sourceRoot":"","sources":["../../../lib/ecosystems/parsers-dotnet.js"],"names":[],"mappings":"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"}
|