@cdxgen/cdxgen 13.3.0 → 13.4.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 -6
- package/bin/cdxgen.js +90 -26
- package/bin/evinse.js +18 -1
- package/bin/repl.js +86 -0
- package/bin/sign.js +45 -15
- package/bin/tracebom.js +5 -1
- package/bin/validate.js +84 -18
- package/bin/verify.js +155 -86
- package/data/helpers/init.gradle +46 -21
- package/data/remediations.json +61 -0
- package/data/rules/dependency-sources.yaml +67 -0
- package/data/rules/scala-evidence.yaml +115 -0
- package/lib/audit/index.js +38 -6
- package/lib/cli/index.js +113 -54
- package/lib/cli/jsBom.js +50 -29
- package/lib/cli/jvmBom.js +665 -138
- package/lib/cli/managedBom.js +320 -200
- package/lib/cli/nativeBom.js +139 -30
- package/lib/core/activity.js +12 -0
- package/lib/core/env.js +17 -9
- package/lib/core/fs.js +3 -2
- package/lib/core/httpClient.js +159 -24
- package/lib/core/pluginRun.js +184 -0
- package/lib/core/processTree.js +100 -0
- package/lib/core/runState.js +39 -0
- package/lib/core/toml.js +72 -0
- package/lib/ecosystems/asarutils.js +4 -2
- package/lib/ecosystems/bunutils.js +5 -7
- package/lib/ecosystems/cargoCache.js +231 -8
- package/lib/ecosystems/cmakeResolver.js +10 -21
- package/lib/ecosystems/cppBuildContext.js +631 -0
- package/lib/ecosystems/cppEvidence.js +337 -22
- package/lib/ecosystems/cppIncludeResolver.js +294 -0
- package/lib/ecosystems/denoutils.js +93 -66
- package/lib/ecosystems/ecosystems.js +1967 -788
- package/lib/ecosystems/golem.js +28 -12
- package/lib/ecosystems/gradleutils.js +314 -30
- package/lib/ecosystems/jsEvidence.js +85 -24
- package/lib/ecosystems/kosi.js +21 -4
- package/lib/ecosystems/npmutils.js +64 -0
- package/lib/ecosystems/parsers-dotnet.js +567 -151
- package/lib/ecosystems/parsers-elm.js +46 -28
- package/lib/ecosystems/parsers-gleam.js +3 -4
- package/lib/ecosystems/parsers-go.js +324 -61
- package/lib/ecosystems/parsers-js.js +92 -26
- package/lib/ecosystems/parsers-julia.js +2 -3
- package/lib/ecosystems/parsers-jvm.js +204 -12
- package/lib/ecosystems/parsers-misc.js +182 -55
- package/lib/ecosystems/parsers-python.js +141 -10
- package/lib/ecosystems/parsers-rust.js +4 -4
- package/lib/ecosystems/parsers-terraform.js +1573 -19
- package/lib/ecosystems/pythonutils.js +102 -6
- package/lib/ecosystems/remote/huggingface.js +3 -0
- package/lib/ecosystems/rubyutils.js +67 -17
- package/lib/ecosystems/rusi.js +22 -9
- package/lib/ecosystems/sbtutils.js +243 -187
- package/lib/ecosystems/scalacliutils.js +342 -0
- package/lib/ecosystems/scalasem.js +2618 -0
- package/lib/ecosystems/terraformRegistry.js +288 -0
- package/lib/ecosystems/utils.js +2 -0
- package/lib/ecosystems/vendoredCode.js +156 -0
- package/lib/evinser/evinser.js +578 -69
- package/lib/helpers/agenticToolutils.js +2 -2
- package/lib/helpers/bomSigner.js +576 -128
- package/lib/inventory/aiCollector.js +4 -1
- package/lib/inventory/analyzer.js +110 -127
- package/lib/inventory/atomUtils.js +171 -48
- package/lib/inventory/auditCategories.js +7 -0
- package/lib/inventory/buildToolRateLimit.js +144 -0
- package/lib/inventory/cacheCommands.js +2 -1
- package/lib/inventory/cmakeBuildDirs.js +254 -0
- package/lib/inventory/deps.js +501 -124
- package/lib/inventory/dosai.js +248 -44
- package/lib/inventory/dosaiParsers.js +310 -15
- package/lib/inventory/dynamic.js +52 -6
- package/lib/inventory/evidenceUtils.js +154 -109
- package/lib/inventory/fetchBatch.js +574 -38
- package/lib/inventory/fetchDiskCache.js +597 -0
- package/lib/inventory/forgeEnricher.js +14 -5
- package/lib/inventory/jvmLocalRepos.js +917 -0
- package/lib/inventory/mcpConfigParser.js +2 -3
- package/lib/inventory/parentSelection.js +146 -0
- package/lib/inventory/rustFormulationParser.js +3 -4
- package/lib/inventory/scalaCoords.js +153 -0
- package/lib/inventory/source.js +8 -8
- package/lib/inventory/spdx.js +101 -0
- package/lib/inventory/traceRunner.js +88 -7
- package/lib/inventory/tracedCrypto.js +294 -0
- package/lib/managers/docker.js +33 -32
- package/lib/managers/oci.js +24 -2
- package/lib/parsers/cmakeCache.js +69 -0
- package/lib/parsers/cmakeLists.js +16 -2
- package/lib/parsers/cmakePresets.js +400 -0
- package/lib/parsers/compileCommands.js +557 -0
- package/lib/parsers/strictJson.js +322 -0
- package/lib/parsers/terraformConfig.js +1073 -0
- package/lib/parsers/terraformSource.js +652 -0
- package/lib/server/server.js +23 -0
- package/lib/stages/postgen/introspection/markers.js +1 -1
- package/lib/stages/postgen/postgen.js +15 -1
- package/lib/stages/postgen/specVersionCompat.js +32 -0
- package/lib/validator/index.js +25 -10
- package/lib/validator/reporters/json.js +1 -0
- package/package.json +21 -21
- package/types/lib/audit/index.d.ts.map +1 -1
- package/types/lib/cli/index.d.ts.map +1 -1
- package/types/lib/cli/jsBom.d.ts.map +1 -1
- package/types/lib/cli/jvmBom.d.ts +24 -1
- package/types/lib/cli/jvmBom.d.ts.map +1 -1
- package/types/lib/cli/managedBom.d.ts +7 -4
- package/types/lib/cli/managedBom.d.ts.map +1 -1
- package/types/lib/cli/nativeBom.d.ts +3 -1
- package/types/lib/cli/nativeBom.d.ts.map +1 -1
- package/types/lib/core/activity.d.ts.map +1 -1
- package/types/lib/core/env.d.ts +9 -0
- 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 +13 -8
- package/types/lib/core/httpClient.d.ts.map +1 -1
- package/types/lib/core/pluginRun.d.ts +97 -0
- package/types/lib/core/pluginRun.d.ts.map +1 -0
- package/types/lib/core/processTree.d.ts +36 -0
- package/types/lib/core/processTree.d.ts.map +1 -0
- package/types/lib/core/runState.d.ts +29 -0
- package/types/lib/core/runState.d.ts.map +1 -0
- package/types/lib/core/toml.d.ts +20 -0
- package/types/lib/core/toml.d.ts.map +1 -0
- package/types/lib/ecosystems/asarutils.d.ts.map +1 -1
- package/types/lib/ecosystems/bunutils.d.ts.map +1 -1
- package/types/lib/ecosystems/cargoCache.d.ts +12 -0
- package/types/lib/ecosystems/cargoCache.d.ts.map +1 -1
- package/types/lib/ecosystems/cmakeResolver.d.ts +5 -3
- package/types/lib/ecosystems/cmakeResolver.d.ts.map +1 -1
- package/types/lib/ecosystems/cppBuildContext.d.ts +55 -0
- package/types/lib/ecosystems/cppBuildContext.d.ts.map +1 -0
- package/types/lib/ecosystems/cppEvidence.d.ts +18 -2
- package/types/lib/ecosystems/cppEvidence.d.ts.map +1 -1
- package/types/lib/ecosystems/cppIncludeResolver.d.ts +92 -0
- package/types/lib/ecosystems/cppIncludeResolver.d.ts.map +1 -0
- package/types/lib/ecosystems/denoutils.d.ts +9 -3
- package/types/lib/ecosystems/denoutils.d.ts.map +1 -1
- package/types/lib/ecosystems/ecosystems.d.ts +62 -13
- package/types/lib/ecosystems/ecosystems.d.ts.map +1 -1
- package/types/lib/ecosystems/golem.d.ts.map +1 -1
- package/types/lib/ecosystems/gradleutils.d.ts +50 -0
- package/types/lib/ecosystems/gradleutils.d.ts.map +1 -1
- package/types/lib/ecosystems/jsEvidence.d.ts.map +1 -1
- package/types/lib/ecosystems/kosi.d.ts.map +1 -1
- package/types/lib/ecosystems/npmutils.d.ts +15 -0
- package/types/lib/ecosystems/npmutils.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-dotnet.d.ts +118 -4
- package/types/lib/ecosystems/parsers-dotnet.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-elm.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-gleam.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-go.d.ts +44 -2
- package/types/lib/ecosystems/parsers-go.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-js.d.ts +6 -1
- package/types/lib/ecosystems/parsers-js.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-julia.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-jvm.d.ts +46 -1
- package/types/lib/ecosystems/parsers-jvm.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-misc.d.ts +3 -1
- package/types/lib/ecosystems/parsers-misc.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-python.d.ts +53 -3
- package/types/lib/ecosystems/parsers-python.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-terraform.d.ts +38 -21
- package/types/lib/ecosystems/parsers-terraform.d.ts.map +1 -1
- package/types/lib/ecosystems/pythonutils.d.ts +27 -2
- package/types/lib/ecosystems/pythonutils.d.ts.map +1 -1
- package/types/lib/ecosystems/remote/huggingface.d.ts.map +1 -1
- package/types/lib/ecosystems/rubyutils.d.ts +21 -1
- package/types/lib/ecosystems/rubyutils.d.ts.map +1 -1
- package/types/lib/ecosystems/rusi.d.ts.map +1 -1
- package/types/lib/ecosystems/sbtutils.d.ts +88 -2
- package/types/lib/ecosystems/sbtutils.d.ts.map +1 -1
- package/types/lib/ecosystems/scalacliutils.d.ts +56 -0
- package/types/lib/ecosystems/scalacliutils.d.ts.map +1 -0
- package/types/lib/ecosystems/scalasem.d.ts +311 -0
- package/types/lib/ecosystems/scalasem.d.ts.map +1 -0
- package/types/lib/ecosystems/terraformRegistry.d.ts +9 -0
- package/types/lib/ecosystems/terraformRegistry.d.ts.map +1 -0
- package/types/lib/ecosystems/utils.d.ts +2 -2
- package/types/lib/ecosystems/utils.d.ts.map +1 -1
- package/types/lib/ecosystems/vendoredCode.d.ts +32 -0
- package/types/lib/ecosystems/vendoredCode.d.ts.map +1 -0
- package/types/lib/evinser/evinser.d.ts +75 -8
- package/types/lib/evinser/evinser.d.ts.map +1 -1
- package/types/lib/helpers/bomSigner.d.ts +80 -4
- package/types/lib/helpers/bomSigner.d.ts.map +1 -1
- package/types/lib/inventory/aiCollector.d.ts.map +1 -1
- package/types/lib/inventory/analyzer.d.ts.map +1 -1
- package/types/lib/inventory/atomUtils.d.ts +82 -10
- package/types/lib/inventory/atomUtils.d.ts.map +1 -1
- package/types/lib/inventory/auditCategories.d.ts +3 -0
- package/types/lib/inventory/auditCategories.d.ts.map +1 -1
- package/types/lib/inventory/buildToolRateLimit.d.ts +38 -0
- package/types/lib/inventory/buildToolRateLimit.d.ts.map +1 -0
- package/types/lib/inventory/cacheCommands.d.ts +2 -1
- package/types/lib/inventory/cacheCommands.d.ts.map +1 -1
- package/types/lib/inventory/cmakeBuildDirs.d.ts +58 -0
- package/types/lib/inventory/cmakeBuildDirs.d.ts.map +1 -0
- package/types/lib/inventory/deps.d.ts +59 -1
- package/types/lib/inventory/deps.d.ts.map +1 -1
- package/types/lib/inventory/dosai.d.ts +57 -8
- package/types/lib/inventory/dosai.d.ts.map +1 -1
- package/types/lib/inventory/dosaiParsers.d.ts +53 -7
- package/types/lib/inventory/dosaiParsers.d.ts.map +1 -1
- package/types/lib/inventory/dynamic.d.ts +10 -0
- package/types/lib/inventory/dynamic.d.ts.map +1 -1
- package/types/lib/inventory/evidenceUtils.d.ts +19 -4
- package/types/lib/inventory/evidenceUtils.d.ts.map +1 -1
- package/types/lib/inventory/fetchBatch.d.ts +83 -14
- package/types/lib/inventory/fetchBatch.d.ts.map +1 -1
- package/types/lib/inventory/fetchDiskCache.d.ts +169 -0
- package/types/lib/inventory/fetchDiskCache.d.ts.map +1 -0
- package/types/lib/inventory/forgeEnricher.d.ts.map +1 -1
- package/types/lib/inventory/jvmLocalRepos.d.ts +178 -0
- package/types/lib/inventory/jvmLocalRepos.d.ts.map +1 -0
- package/types/lib/inventory/mcpConfigParser.d.ts.map +1 -1
- package/types/lib/inventory/parentSelection.d.ts +34 -0
- package/types/lib/inventory/parentSelection.d.ts.map +1 -0
- package/types/lib/inventory/rustFormulationParser.d.ts.map +1 -1
- package/types/lib/inventory/scalaCoords.d.ts +80 -0
- package/types/lib/inventory/scalaCoords.d.ts.map +1 -0
- package/types/lib/inventory/source.d.ts.map +1 -1
- package/types/lib/inventory/spdx.d.ts +9 -0
- package/types/lib/inventory/spdx.d.ts.map +1 -1
- package/types/lib/inventory/traceRunner.d.ts +12 -0
- package/types/lib/inventory/traceRunner.d.ts.map +1 -1
- package/types/lib/inventory/tracedCrypto.d.ts +42 -0
- package/types/lib/inventory/tracedCrypto.d.ts.map +1 -0
- package/types/lib/managers/docker.d.ts.map +1 -1
- package/types/lib/managers/oci.d.ts +3 -1
- package/types/lib/managers/oci.d.ts.map +1 -1
- package/types/lib/parsers/cmakeCache.d.ts +16 -0
- package/types/lib/parsers/cmakeCache.d.ts.map +1 -1
- package/types/lib/parsers/cmakeLists.d.ts +2 -1
- package/types/lib/parsers/cmakeLists.d.ts.map +1 -1
- package/types/lib/parsers/cmakePresets.d.ts +78 -0
- package/types/lib/parsers/cmakePresets.d.ts.map +1 -0
- package/types/lib/parsers/compileCommands.d.ts +115 -0
- package/types/lib/parsers/compileCommands.d.ts.map +1 -0
- package/types/lib/parsers/strictJson.d.ts +46 -0
- package/types/lib/parsers/strictJson.d.ts.map +1 -0
- package/types/lib/parsers/terraformConfig.d.ts +70 -0
- package/types/lib/parsers/terraformConfig.d.ts.map +1 -0
- package/types/lib/parsers/terraformSource.d.ts +66 -0
- package/types/lib/parsers/terraformSource.d.ts.map +1 -0
- package/types/lib/server/server.d.ts.map +1 -1
- package/types/lib/stages/postgen/postgen.d.ts.map +1 -1
- package/types/lib/stages/postgen/specVersionCompat.d.ts.map +1 -1
- package/types/lib/validator/index.d.ts +8 -0
- package/types/lib/validator/index.d.ts.map +1 -1
- package/types/lib/validator/reporters/json.d.ts.map +1 -1
- package/lib/third-party/arborist/snapshots/calc-dep-flags.test.cjs +0 -462
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import crypto from "node:crypto";
|
|
2
|
+
/**
|
|
3
|
+
* Largest number of entries accepted in a `signers` or `chain` signature.
|
|
4
|
+
* Every entry is checked against the whole signed object, so the bound keeps
|
|
5
|
+
* the cost of verifying a document proportional to its size.
|
|
6
|
+
*/
|
|
7
|
+
export declare const MAX_SIGNATURE_ENTRIES = 32;
|
|
8
|
+
/**
|
|
9
|
+
* Members the CycloneDX 1.4 to 1.7 and 2.0 schemas define at the root of a
|
|
10
|
+
* BOM. A root signature is only accepted on an object made of these members,
|
|
11
|
+
* so a signed component, service, or annotation cannot pass as a signed BOM.
|
|
12
|
+
*/
|
|
13
|
+
export declare const BOM_ROOT_MEMBERS: readonly string[];
|
|
2
14
|
/**
|
|
3
15
|
* Renders a value taken from a document for a message. JSON can make any field
|
|
4
16
|
* an object or array, and interpolating those directly can throw.
|
|
@@ -49,11 +61,18 @@ export declare function generateSigningKeyPair(algorithm: string): {
|
|
|
49
61
|
* skipped by default, because changing them would invalidate the existing root
|
|
50
62
|
* signature; explicitly requesting nested signing in that case is an error.
|
|
51
63
|
*
|
|
64
|
+
* The BOM root must carry `bomFormat` (or `specFormat`) and `specVersion`, and
|
|
65
|
+
* only members that CycloneDX defines at the root. A nested element that
|
|
66
|
+
* carries `bomFormat`, `specFormat`, or `specVersion` is refused. Verification
|
|
67
|
+
* rejects signatures over either shape.
|
|
68
|
+
*
|
|
52
69
|
* @param {Object} bomJson - CycloneDX BOM Object
|
|
53
70
|
* @param {Object} options - Signing options
|
|
54
71
|
* @param {string|Buffer|Object|crypto.KeyObject} options.privateKey - Private key (PEM or KeyObject), or the shared secret for HS* algorithms
|
|
55
72
|
* @param {string} [options.algorithm] - JSF algorithm identifier (default RS512). It must match the key type.
|
|
56
73
|
* @param {Object} [options.publicKeyJwk] - JWK of the signing key's public key to embed
|
|
74
|
+
* @param {boolean} [options.embedPublicKey] - Embed the public key derived from the signing key when publicKeyJwk is not given. Ignored for HS* algorithms and for keys without a JWK form, such as rsa-pss.
|
|
75
|
+
* @param {boolean} [options.embedPublicKeyNested] - Also embed the public key in nested signatures (default true)
|
|
57
76
|
* @param {string} [options.keyId] - Key ID to embed
|
|
58
77
|
* @param {string} [options.mode] - 'replace' (default), 'signers', or 'chain'
|
|
59
78
|
* @param {boolean} [options.signComponents] - Sign each component
|
|
@@ -65,6 +84,8 @@ export declare function signBom(bomJson: Object, options?: {
|
|
|
65
84
|
privateKey: string | Buffer | Object | crypto.KeyObject;
|
|
66
85
|
algorithm?: string;
|
|
67
86
|
publicKeyJwk?: Object;
|
|
87
|
+
embedPublicKey?: boolean;
|
|
88
|
+
embedPublicKeyNested?: boolean;
|
|
68
89
|
keyId?: string;
|
|
69
90
|
mode?: string;
|
|
70
91
|
signComponents?: boolean;
|
|
@@ -80,6 +101,9 @@ export declare function signBom(bomJson: Object, options?: {
|
|
|
80
101
|
* embedded publicKey (if any) is the verification key, and its value covers the
|
|
81
102
|
* node content plus the signature metadata as JSF defines.
|
|
82
103
|
*
|
|
104
|
+
* This checks one object only. To verify a BOM, use {@link verifyBomSignatures}
|
|
105
|
+
* or {@link verifyBom}, which also require the signed root to be a BOM.
|
|
106
|
+
*
|
|
83
107
|
* @param {Object} node - The BOM or granular object to verify
|
|
84
108
|
* @param {string|Buffer|Object|crypto.KeyObject} publicKey - Verification key. Strings and Buffers are parsed as public keys; use loadSharedSecret() for HMAC.
|
|
85
109
|
* @param {Object} [options]
|
|
@@ -89,10 +113,62 @@ export declare function signBom(bomJson: Object, options?: {
|
|
|
89
113
|
export declare function verifyNode(node: Object, publicKey: string | Buffer | Object | crypto.KeyObject, options?: {
|
|
90
114
|
reasons?: string[];
|
|
91
115
|
}): boolean | Object;
|
|
116
|
+
/**
|
|
117
|
+
* Verifies the signatures of a BOM against one or more trusted keys and reports
|
|
118
|
+
* the outcome for every signature entry.
|
|
119
|
+
*
|
|
120
|
+
* The BOM verifies when:
|
|
121
|
+
* - its root carries `bomFormat` (or `specFormat`) "CycloneDX" and
|
|
122
|
+
* `specVersion`, and only members that CycloneDX defines at the root of a BOM;
|
|
123
|
+
* - its root signature verifies, meaning at least one entry verifies with one
|
|
124
|
+
* of the keys. With `requireAll`, every entry must verify with one of the
|
|
125
|
+
* keys, and every key must verify at least one entry;
|
|
126
|
+
* - with `deep`, every signed component, service, and annotation verifies the
|
|
127
|
+
* same way and carries none of `bomFormat`, `specFormat`, and `specVersion`.
|
|
128
|
+
*
|
|
129
|
+
* A BOM without a root signature fails unless `allowNestedOnly` is set. Then
|
|
130
|
+
* every component, service, and annotation must carry a signature that
|
|
131
|
+
* verifies, and `notices` lists the members that no signature covers.
|
|
132
|
+
*
|
|
133
|
+
* Parse untrusted BOM text with `parseStrictJson()` from
|
|
134
|
+
* `lib/parsers/strictJson.js` before calling this function, so that the
|
|
135
|
+
* verified values are the values every JSON parser reads.
|
|
136
|
+
*
|
|
137
|
+
* @param {Object} bom - CycloneDX BOM Object
|
|
138
|
+
* @param {Array<string|Buffer|Object|crypto.KeyObject>|string|Buffer|Object|crypto.KeyObject} keys - Trusted verification keys (see verifyNode)
|
|
139
|
+
* @param {Object} [options]
|
|
140
|
+
* @param {boolean} [options.deep] - Also verify nested signatures (default true)
|
|
141
|
+
* @param {boolean} [options.allowNestedOnly] - Accept a BOM without a root signature when every nested element is signed
|
|
142
|
+
* @param {boolean} [options.requireAll] - Require every entry of each signature to verify, and every key to verify an entry of the root signature
|
|
143
|
+
* @returns {{ verified: boolean, errors: string[], notices: string[], root: Object|null, nested: Object[] }}
|
|
144
|
+
* `root` and each `nested` item hold `label`, `form`, `verified`, `match` (the first verified entry),
|
|
145
|
+
* `reasons` (why the signature could not be read), `entries` (`index`, `algorithm`, `keyId`, `verified`, `reasons`),
|
|
146
|
+
* and `keysMatched` (whether each key verified an entry).
|
|
147
|
+
*/
|
|
148
|
+
export declare function verifyBomSignatures(bom: Object, keys: Array<string | Buffer | Object | crypto.KeyObject> | string | Buffer | Object | crypto.KeyObject, options?: {
|
|
149
|
+
deep?: boolean;
|
|
150
|
+
allowNestedOnly?: boolean;
|
|
151
|
+
requireAll?: boolean;
|
|
152
|
+
}): {
|
|
153
|
+
verified: boolean;
|
|
154
|
+
errors: string[];
|
|
155
|
+
notices: string[];
|
|
156
|
+
root: Object | null;
|
|
157
|
+
nested: Object[];
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Flattens a {@link verifyBomSignatures} report into the reasons it did not
|
|
161
|
+
* verify: policy errors first, then each rejected root entry, then each
|
|
162
|
+
* rejected nested entry prefixed with the element it belongs to.
|
|
163
|
+
*
|
|
164
|
+
* @param {Object} report - Result of verifyBomSignatures
|
|
165
|
+
* @returns {string[]} - Reasons, empty when the report verified
|
|
166
|
+
*/
|
|
167
|
+
export declare function signatureReportReasons(report: Object): string[];
|
|
92
168
|
/**
|
|
93
169
|
* Verifies a BOM's top-level signature, as well as nested components, services,
|
|
94
|
-
* and annotations. Returns the root match only if the
|
|
95
|
-
*
|
|
170
|
+
* and annotations, with one key. Returns the root match only if the BOM verifies
|
|
171
|
+
* as {@link verifyBomSignatures} defines with `deep` enabled.
|
|
96
172
|
*
|
|
97
173
|
* @param {Object} bom - CycloneDX BOM Object
|
|
98
174
|
* @param {string|Buffer|Object|crypto.KeyObject} publicKey - Verification key (see verifyNode)
|
|
@@ -104,8 +180,8 @@ export declare function verifyBom(bom: Object, publicKey: string | Buffer | Obje
|
|
|
104
180
|
* Checks every signature entry of a node against a set of trusted keys. An
|
|
105
181
|
* entry is verified when one of the keys verifies that entry.
|
|
106
182
|
*
|
|
107
|
-
* `cdx-sign` uses this before appending
|
|
108
|
-
*
|
|
183
|
+
* `cdx-sign` uses this before appending a `signers` or `chain` entry, to check
|
|
184
|
+
* that the content still carries the earlier signatures.
|
|
109
185
|
*
|
|
110
186
|
* @param {Object} node - The BOM or granular object whose signature is checked
|
|
111
187
|
* @param {Array<string|Buffer|Object|crypto.KeyObject>} [keys] - Trusted verification keys (see verifyNode)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bomSigner.d.ts","sourceRoot":"","sources":["../../../lib/helpers/bomSigner.js"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"bomSigner.d.ts","sourceRoot":"","sources":["../../../lib/helpers/bomSigner.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aiCollector.d.ts","sourceRoot":"","sources":["../../../lib/inventory/aiCollector.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aiCollector.d.ts","sourceRoot":"","sources":["../../../lib/inventory/aiCollector.js"],"names":[],"mappings":"AAu8DA;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAJvC,MAIuC,EAAE,OAAO,AAHxD,CACA,EADQ,MAGqD,GAFnD;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CA2YhF;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAAC,aAAa,EAJpD,MAIoD,EAAE,OAAO,AAHrE,CACA,EADQ,MAGkE,GAFhE;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAiMhF;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAJ3C,MAI2C,EAAE,OAAO,AAH5D,CACA,EADQ,MAGyD,GAFvD;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAQhF;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,aAAa,EAJ7C,MAI6C,EAAE,OAAO,AAH9D,CACA,EADQ,MAG2D,GAFzD;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAQhF;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,aAAa,EAJjD,MAIiD,EAAE,OAAO,AAHlE,CACA,EADQ,MAG+D,GAF7D;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAQhF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../lib/inventory/analyzer.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../lib/inventory/analyzer.js"],"names":[],"mappings":"AA6vDA;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,QAJ3B,MAAM,QACN,MAAM,KACJ;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAO7C,CAAC;AAmpBF;;;GAGG;AACH,eAAO,MAAM,wCAAwC,UAQpD,CAAC;AA4JF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,UAQpC,CAAC;AA+JF;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAHrC,MAGqC,GAFnC;IAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAAC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAC,CA2J/H;AA2hBD;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;EAsGhC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,aAHzB,MAAM,KACJ;IAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAAC,qBAAqB,EAAE,MAAM,EAAE,CAAA;CAe9H,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAHvC,MAGuC,GAFrC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,OAAO,CAAC;IAAC,gBAAgB,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,2BAA0B;CAAC,CAqOnJ;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,aAH3B,MAAM,KACJ;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,OAAO,CAAC;IAAC,gBAAgB,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,2BAA0B;CAAC,GAAC,SAgBpJ,CAAC;AAyQF;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAHjC,MAGiC,GAF/B;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAC,CA2avD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,aAHrB,MAAM,KACJ;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAC,GAAC,SAUxD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,QAJzB,MAAM,SACN,OAAO,KACL,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAC,CAgC/D,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,QAN7B,MAAM,SACN,OAAO,KACL;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,2BAA0B;CA+EzE,CAAC;AAg9BF;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,QAJ1B,MAAM,SACN,OAAO,KACL;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAiJ7E,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,QAJpB,MAAM,SACN,OAAO,KACL;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CA6pB7E,CAAC"}
|
|
@@ -9,9 +9,12 @@ export declare const ATOM_NATIVE_PACKAGES: Set<string>;
|
|
|
9
9
|
* language its build uses.
|
|
10
10
|
*
|
|
11
11
|
* An explicit `options.compileCommands` (a file, or a directory holding one
|
|
12
|
-
* directly or under `build/`) wins. Otherwise the scan root
|
|
13
|
-
*
|
|
14
|
-
*
|
|
12
|
+
* directly or under `build/`) wins. Otherwise the scan root and the project's
|
|
13
|
+
* build directories are searched: the directory of `options.cmakeCache`, the
|
|
14
|
+
* build directories of its CMake presets, and the conventional `build`,
|
|
15
|
+
* `out`, `builddir` and `cmake-build-` directories (see
|
|
16
|
+
* `cmakeBuildDirCandidates`). A database can come with the code it describes,
|
|
17
|
+
* and atom asks the
|
|
15
18
|
* GCC or Clang driver it names (from the PATH, or an absolute path outside
|
|
16
19
|
* the project) for its predefined macros, so in secure mode only an explicit
|
|
17
20
|
* database is used.
|
|
@@ -132,20 +135,39 @@ export declare function resolveAtomProvider(opts?: {
|
|
|
132
135
|
* ceiling differently, and a native-image runtime option on a jar run reaches
|
|
133
136
|
* atom as an unknown argument that fails every slice. So the kind follows what
|
|
134
137
|
* is installed where cdxgen can see it: the native binary means native, the jar
|
|
135
|
-
* package without it means jar.
|
|
136
|
-
* install elsewhere) the
|
|
138
|
+
* package without it means jar. An `ATOM_CMD` is classified by what it names
|
|
139
|
+
* (see `atomCommandKind`). With nothing in view (an install elsewhere) the
|
|
140
|
+
* platform's kind stands.
|
|
137
141
|
*
|
|
138
142
|
* Also used to gate Java/JDK advice, so users on the five native platforms are
|
|
139
143
|
* not told to install a JDK for a failure that has nothing to do with Java.
|
|
140
144
|
*/
|
|
141
145
|
export declare function atomProviderKind(): "jar" | "native";
|
|
146
|
+
/**
|
|
147
|
+
* Whether `ATOM_CMD` launches a jar or follows the platform.
|
|
148
|
+
*
|
|
149
|
+
* The jar launchers (`plugins/bin/atom`, `plugins/bin/atom.bat`) sit next to a
|
|
150
|
+
* `plugins/lib` directory holding atom's jars, so a launcher with that sibling,
|
|
151
|
+
* or any `.bat` (only the jar payload ships one), runs on the JVM whatever the
|
|
152
|
+
* platform is. Everything else, including the npm dispatcher (`node
|
|
153
|
+
* .../index.js`, its `atom`/`atom.cmd` bin shims) and a native binary, follows
|
|
154
|
+
* the platform's kind. A GraalVM `-XX:` heap argument handed to a jar launcher
|
|
155
|
+
* is rejected by atom's option parser before any analysis starts, and a
|
|
156
|
+
* `JAVA_TOOL_OPTIONS` ceiling handed to a native image is silently ignored, so
|
|
157
|
+
* the distinction decides whether the heap is bounded at all.
|
|
158
|
+
*
|
|
159
|
+
* @param {string} command The `ATOM_CMD` value
|
|
160
|
+
* @param {"native"|"jar"} platformKind Kind the platform prefers
|
|
161
|
+
* @returns {"native"|"jar"}
|
|
162
|
+
*/
|
|
163
|
+
export declare function atomCommandKind(command: string, platformKind: "native" | "jar"): "native" | "jar";
|
|
142
164
|
/**
|
|
143
165
|
* Locate the `php-parse` binary that the PHP frontend needs.
|
|
144
166
|
*
|
|
145
167
|
* atom 3's dispatcher unconditionally sets `PHP_PARSER_BIN=<ATOM_HOME>/bin/php-parse`,
|
|
146
168
|
* which for a native sub-package does not exist and also clobbers a caller-set
|
|
147
|
-
* value. cdxgen therefore resolves the real location and forwards it through
|
|
148
|
-
*
|
|
169
|
+
* value. cdxgen therefore resolves the real location and forwards it through the
|
|
170
|
+
* child env (see `buildAtomCommandEnv`); `executeAtom` then spawns the
|
|
149
171
|
* native binary directly for PHP so the dispatcher cannot clobber it (see
|
|
150
172
|
* `resolveDirectAtomBinaryPath`). Resolution order:
|
|
151
173
|
* 1. explicit `PHP_PARSER_BIN` env var (operators / container images)
|
|
@@ -159,6 +181,35 @@ export declare function atomProviderKind(): "jar" | "native";
|
|
|
159
181
|
* @returns {string|undefined}
|
|
160
182
|
*/
|
|
161
183
|
export declare function resolvePhpParseBin(): string | undefined;
|
|
184
|
+
/**
|
|
185
|
+
* Locate the `phpastgen` generator that lets the PHP frontend parse whole
|
|
186
|
+
* directories in one batch.
|
|
187
|
+
*
|
|
188
|
+
* `php-parse` (forwarded as `PHP_PARSER_BIN`) is the per-file parser: atom
|
|
189
|
+
* starts a php interpreter for every `.php` file, which on windows turns a
|
|
190
|
+
* vendored PHP project (thousands of files under `vendor/`) into an hours-long
|
|
191
|
+
* run that no timeout can rescue. `phpastgen` answers the `--parser-info`
|
|
192
|
+
* capability probe, so atom's batch path engages, and atom-parsetools 1.9 and
|
|
193
|
+
* later parse the whole tree, vendor included, with a few interpreters that
|
|
194
|
+
* each take a chunk of files. It is a Node script, so the frontend launches it
|
|
195
|
+
* with `node` rather than `php`; an atom that does not know `PHP_ASTGEN_BIN`
|
|
196
|
+
* simply ignores it and keeps today's per-file behaviour. Resolution order:
|
|
197
|
+
* 1. explicit `PHP_ASTGEN_BIN` env var (operators / container images)
|
|
198
|
+
* 2. `@appthreat/atom-parsetools/phpastgen.js` under cdxgen's own
|
|
199
|
+
* node_modules, then under `GLOBAL_NODE_MODULES_PATH` for global installs
|
|
200
|
+
*
|
|
201
|
+
* @returns {string|undefined}
|
|
202
|
+
*/
|
|
203
|
+
export declare function resolvePhpAstgenBin(): string | undefined;
|
|
204
|
+
/**
|
|
205
|
+
* Resolve a file inside the installed `@appthreat/atom-parsetools` package,
|
|
206
|
+
* searching cdxgen's own node_modules and `GLOBAL_NODE_MODULES_PATH` for global
|
|
207
|
+
* installs.
|
|
208
|
+
*
|
|
209
|
+
* @param {...string} segments Path segments below the package root
|
|
210
|
+
* @returns {string|undefined}
|
|
211
|
+
*/
|
|
212
|
+
export declare function parsetoolsFile(...segments: string[]): string | undefined;
|
|
162
213
|
/**
|
|
163
214
|
* Resolve the atom native binary path directly, bypassing the dispatcher.
|
|
164
215
|
*
|
|
@@ -216,14 +267,35 @@ export declare function atomTimeouts(): {
|
|
|
216
267
|
atomTimeoutMs: number;
|
|
217
268
|
spawnTimeoutMs: number;
|
|
218
269
|
};
|
|
270
|
+
/**
|
|
271
|
+
* Reap everything a timed-out atom run left behind on Windows.
|
|
272
|
+
*
|
|
273
|
+
* cdxgen starts atom through a shell there (`shell: isWin`), so the spawn
|
|
274
|
+
* timeout terminates only that `cmd.exe`, and the runtime and every parser
|
|
275
|
+
* worker under it (one `php.exe` per file for the per-file PHP frontend) keep
|
|
276
|
+
* running against the next slice of the same run. See
|
|
277
|
+
* {@link reapProcessTree} for how they are found. A chain broken by an
|
|
278
|
+
* intermediate that already exited (the npm dispatcher stopping its runtime
|
|
279
|
+
* itself) cannot be followed, and atom 4 stops its helpers once
|
|
280
|
+
* `ATOM_PARENT_PID` is gone.
|
|
281
|
+
*
|
|
282
|
+
* @param {number|undefined} rootPid pid of the process cdxgen spawned
|
|
283
|
+
* @param {number} startedAt Epoch milliseconds at which the run started
|
|
284
|
+
* @param {number} [endedAt] Epoch milliseconds at which the spawned process ended
|
|
285
|
+
* @returns {number[]} The pids that were stopped
|
|
286
|
+
*/
|
|
287
|
+
export declare function reapAtomProcessTree(rootPid: number | undefined, startedAt: number, endedAt?: number): number[];
|
|
219
288
|
/**
|
|
220
289
|
* Whether an atom run ended because it ran out of time.
|
|
221
290
|
*
|
|
222
291
|
* The dispatcher reports its own limit with status 124. cdxgen's spawn timeout
|
|
223
292
|
* shows up as `ETIMEDOUT`. A dispatcher older than the status code stops atom
|
|
224
|
-
* with SIGTERM and
|
|
225
|
-
*
|
|
226
|
-
*
|
|
293
|
+
* with SIGTERM and passes on how the runtime ended: 1, or the runtime's own
|
|
294
|
+
* exit on SIGTERM (143) or SIGKILL (137), which is what atom 3.1 reports. Those
|
|
295
|
+
* statuses at or past the limit count as well, unless atom's own output shows
|
|
296
|
+
* it failed for another reason first (an exhausted heap, a crash), which
|
|
297
|
+
* deserves its own diagnosis. Missing one leaves the half-written atom behind,
|
|
298
|
+
* and the next slice of the run fails to load it.
|
|
227
299
|
*
|
|
228
300
|
* @param {Object} result spawnSync result
|
|
229
301
|
* @param {number} elapsedMs How long the run took
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atomUtils.d.ts","sourceRoot":"","sources":["../../../lib/inventory/atomUtils.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"atomUtils.d.ts","sourceRoot":"","sources":["../../../lib/inventory/atomUtils.js"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,8 @@ export declare const CBOM_AUDIT_CATEGORIES: readonly string[];
|
|
|
6
6
|
export declare const HOST_TOPOLOGY_AUDIT_CATEGORIES: readonly string[];
|
|
7
7
|
/** Frozen list of Golem (Go Evinse) audit categories. */
|
|
8
8
|
export declare const GOLEM_AUDIT_CATEGORIES: readonly string[];
|
|
9
|
+
/** Frozen list of Scala Evinse (scalasem) audit categories. */
|
|
10
|
+
export declare const SCALA_AUDIT_CATEGORIES: readonly string[];
|
|
9
11
|
/** Frozen list of Cargo (Rust) audit categories. */
|
|
10
12
|
export declare const CARGO_AUDIT_CATEGORIES: readonly string[];
|
|
11
13
|
/**
|
|
@@ -36,6 +38,7 @@ export declare const BOM_AUDIT_CATEGORY_ALIASES: Readonly<{
|
|
|
36
38
|
golem: string[];
|
|
37
39
|
hbom: string[];
|
|
38
40
|
rust: string[];
|
|
41
|
+
scala: string[];
|
|
39
42
|
host: string[];
|
|
40
43
|
}>;
|
|
41
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auditCategories.d.ts","sourceRoot":"","sources":["../../../lib/inventory/auditCategories.js"],"names":[],"mappings":"AAEA,yEAAyE;AACzE,eAAO,MAAM,qBAAqB,mBAIhC,CAAC;AAEH,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,mBAGhC,CAAC;AAEH,qDAAqD;AACrD,eAAO,MAAM,8BAA8B,mBAAmC,CAAC;AAE/E,yDAAyD;AACzD,eAAO,MAAM,sBAAsB,mBAIjC,CAAC;AAEH,oDAAoD;AACpD,eAAO,MAAM,sBAAsB,mBAGjC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,mBAAoC,CAAC;AAE7E,4DAA4D;AAC5D,eAAO,MAAM,uBAAuB,mBAIlC,CAAC;AAEH,gFAAgF;AAChF,eAAO,MAAM,6BAA6B,QAAkC,CAAC;AAE7E;;;GAGG;AACH,eAAO,MAAM,0BAA0B
|
|
1
|
+
{"version":3,"file":"auditCategories.d.ts","sourceRoot":"","sources":["../../../lib/inventory/auditCategories.js"],"names":[],"mappings":"AAEA,yEAAyE;AACzE,eAAO,MAAM,qBAAqB,mBAIhC,CAAC;AAEH,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,mBAGhC,CAAC;AAEH,qDAAqD;AACrD,eAAO,MAAM,8BAA8B,mBAAmC,CAAC;AAE/E,yDAAyD;AACzD,eAAO,MAAM,sBAAsB,mBAIjC,CAAC;AAEH,+DAA+D;AAC/D,eAAO,MAAM,sBAAsB,mBAGjC,CAAC;AAEH,oDAAoD;AACpD,eAAO,MAAM,sBAAsB,mBAGjC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,mBAAoC,CAAC;AAE7E,4DAA4D;AAC5D,eAAO,MAAM,uBAAuB,mBAIlC,CAAC;AAEH,gFAAgF;AAChF,eAAO,MAAM,6BAA6B,QAAkC,CAAC;AAE7E;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;EAcrC,CAAC;AAMH;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAH3C,MAAM,GAAC,MAAM,EAG8B,GAFzC,MAAM,EAAE,CAiBpB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAHxC,MAAM,GAAC,MAAM,EAG2B,GAFtC,MAAM,EAAE,CAapB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAHtC,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAC,CAGa,GAFpC,MAAM,EAAE,CAMpB;AAUD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAJ1C,MAAM,GAAC,MAAM,EAI6B,EAAE,KAAK,EAHjD,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAC,CAGwB,GAF/C;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAC,CAyB3F;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAJzC,MAIyC,EAAE,WAAW,AAH9D,CACA,EADQ,MAGsD,GAFpD,MAAM,GAAG,SAAS,CA8B9B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether a tool's combined output names a rate limit from its repository.
|
|
3
|
+
* The answer text is treated as untrusted: only fixed substrings are looked
|
|
4
|
+
* for, nothing from the output is kept.
|
|
5
|
+
*
|
|
6
|
+
* @param {string} output Combined stdout and stderr of one invocation.
|
|
7
|
+
* @param {string} tool One of maven, gradle, sbt, mill, scala-cli.
|
|
8
|
+
* @returns {boolean} True when the output names an HTTP 429 answer.
|
|
9
|
+
*/
|
|
10
|
+
export declare function detectBuildToolRateLimit(output: string, tool: string): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Whether a tool was already found rate limited in this scan, so the caller
|
|
13
|
+
* can skip its remaining invocations.
|
|
14
|
+
*
|
|
15
|
+
* @param {string} tool One of maven, gradle, sbt, mill, scala-cli.
|
|
16
|
+
* @returns {boolean}
|
|
17
|
+
*/
|
|
18
|
+
export declare function isBuildToolRateLimited(tool: string): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Read a completed invocation's output for a rate limit. When one is found,
|
|
21
|
+
* the tool is remembered for the scan, one hint naming the tool's mirror
|
|
22
|
+
* setting is printed, and the `build.rate-limited` degradation is recorded.
|
|
23
|
+
* The first invocation that shows the rate limit is the one recorded; later
|
|
24
|
+
* ones add nothing, because the same answer ends them all.
|
|
25
|
+
*
|
|
26
|
+
* @param {string} tool One of maven, gradle, sbt, mill, scala-cli.
|
|
27
|
+
* @param {string|undefined} output Combined output, as commandOutputText
|
|
28
|
+
* returns it for a spawn result.
|
|
29
|
+
* @param {Object} [context] Call-site facts for the degradation event.
|
|
30
|
+
* @param {string} [context.command] The redacted command that was attempted.
|
|
31
|
+
* @param {number} [context.exitCode] The invocation's exit status.
|
|
32
|
+
* @returns {boolean} True when this output names a rate limit.
|
|
33
|
+
*/
|
|
34
|
+
export declare function noteBuildToolRateLimit(tool: string, output: string | undefined, context?: {
|
|
35
|
+
command?: string;
|
|
36
|
+
exitCode?: number;
|
|
37
|
+
}): boolean;
|
|
38
|
+
//# sourceMappingURL=buildToolRateLimit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildToolRateLimit.d.ts","sourceRoot":"","sources":["../../../lib/inventory/buildToolRateLimit.js"],"names":[],"mappings":"AA4EA;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAJpC,MAIoC,EAAE,IAAI,EAH1C,MAG0C,GAFxC,OAAO,CAQnB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAHhC,MAGgC,GAF9B,OAAO,CAInB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EARhC,MAQgC,EAAE,MAAM,EAPxC,MAAM,GAAC,SAOiC,EAAE,OAAO,AALzD,CAGA,EAFA;IAAyB,OAAO,AAAhC,CACA,EADQ,MAAM,CACd;IAAyB,QAAQ,AAAjC,CACA,EADQ,MAAM,CACd;CAE8D,GAFpD,OAAO,CA0BnB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `cdxgen cache` subcommand — inspect and purge the metadata fetch cache
|
|
2
|
+
* `cdxgen cache` subcommand — inspect and purge the metadata fetch cache that
|
|
3
|
+
* cdxrs and the JS batch pool share.
|
|
3
4
|
*
|
|
4
5
|
* This module operates directly on the filesystem because JS is the authority
|
|
5
6
|
* for the cache directory. The cache layout is:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cacheCommands.d.ts","sourceRoot":"","sources":["../../../lib/inventory/cacheCommands.js"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cacheCommands.d.ts","sourceRoot":"","sources":["../../../lib/inventory/cacheCommands.js"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgCH;;;;;GAKG;AACH,wBAAgB,SAAS,IAHZ,MAAM,CAwDlB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,IAFb,MAAM,CAwBlB;AAUD;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAHjC,MAAM,GAAC,OAG0B,GAF/B,OAAO,CAAC,MAAM,CAAC,CAyC3B"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where a C/C++ project's build trees are: the build directories its CMake
|
|
3
|
+
* presets configure, and the conventional ones (`build`, `build-<name>`,
|
|
4
|
+
* `out`, `builddir`, `cmake-build-<name>`). Shared by the lookups for
|
|
5
|
+
* `CMakeCache.txt` and for the compilation database, so both search the same
|
|
6
|
+
* places in the same order.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Whether `child` is `parent` or inside it.
|
|
10
|
+
*
|
|
11
|
+
* @param {string} child Path to test
|
|
12
|
+
* @param {string} parent Directory
|
|
13
|
+
* @returns {boolean}
|
|
14
|
+
*/
|
|
15
|
+
export declare function isInsideDir(child: string, parent: string): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* CMake's `${hostSystemName}` for this host.
|
|
18
|
+
*
|
|
19
|
+
* @returns {string}
|
|
20
|
+
*/
|
|
21
|
+
export declare function hostSystemName(): string;
|
|
22
|
+
/**
|
|
23
|
+
* Read a project's presets documents: `CMakePresets.json` and
|
|
24
|
+
* `CMakeUserPresets.json`, each followed by the files it includes (schema
|
|
25
|
+
* version 4 and later). In secure mode an include outside the project is not
|
|
26
|
+
* read.
|
|
27
|
+
*
|
|
28
|
+
* @param {string} root Project source directory
|
|
29
|
+
* @returns {Array<{file: string, fileDir: string, document: Object}>}
|
|
30
|
+
*/
|
|
31
|
+
export declare function readCmakePresetDocuments(root: string): Array<{
|
|
32
|
+
file: string;
|
|
33
|
+
fileDir: string;
|
|
34
|
+
document: Object;
|
|
35
|
+
}>;
|
|
36
|
+
/**
|
|
37
|
+
* The visible configure presets of a project, resolved and with their macros
|
|
38
|
+
* expanded for this host.
|
|
39
|
+
*
|
|
40
|
+
* @param {string} root Project source directory
|
|
41
|
+
* @returns {Object[]} See `resolveConfigurePresets`
|
|
42
|
+
*/
|
|
43
|
+
export declare function readCmakeConfigurePresets(root: string): Object[];
|
|
44
|
+
/**
|
|
45
|
+
* The directories a project's build trees may be in, most specific first:
|
|
46
|
+
* the directory of an explicit `--cmake-cache`, the build directories of its
|
|
47
|
+
* configure presets, then the `build`, `build-<name>`, `out`, `builddir` and
|
|
48
|
+
* `cmake-build-<name>` directories at the project root, and the directories
|
|
49
|
+
* one level below `build`, `out` and `out/build` (where Visual Studio puts
|
|
50
|
+
* preset builds). Only existing directories are listed; in secure mode, only
|
|
51
|
+
* those inside the project.
|
|
52
|
+
*
|
|
53
|
+
* @param {string} root Project source directory
|
|
54
|
+
* @param {Object} [options] CLI options (`cmakeCache`)
|
|
55
|
+
* @returns {string[]} Absolute directories, without duplicates
|
|
56
|
+
*/
|
|
57
|
+
export declare function cmakeBuildDirCandidates(root: string, options?: Object): string[];
|
|
58
|
+
//# sourceMappingURL=cmakeBuildDirs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cmakeBuildDirs.d.ts","sourceRoot":"","sources":["../../../lib/inventory/cmakeBuildDirs.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA4CH;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAJtB,MAIsB,EAAE,MAAM,EAH9B,MAG8B,GAF5B,OAAO,CAKnB;AAsBD;;;;GAIG;AACH,wBAAgB,cAAc,IAFjB,MAAM,CAIlB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAHlC,MAGkC,GAFhC,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC,CAsCpE;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAHnC,MAGmC,GAFjC,MAAM,EAAE,CAgBpB;AA+BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAJjC,MAIiC,EAAE,OAAO,AAHlD,CACA,EADQ,MAG+C,GAF7C,MAAM,EAAE,CAoDpB"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether a jar holds sources or javadoc rather than classes.
|
|
3
|
+
*
|
|
4
|
+
* @param {string} jarName Jar file name.
|
|
5
|
+
* @returns {boolean}
|
|
6
|
+
*/
|
|
7
|
+
export declare function isDocumentationJar(jarName: string): boolean;
|
|
1
8
|
/**
|
|
2
9
|
* Collect maven dependencies
|
|
3
10
|
*
|
|
@@ -67,11 +74,62 @@ export declare function parsePomProperties(pomProperties: string): Object;
|
|
|
67
74
|
/**
|
|
68
75
|
* Method to get pom properties from maven directory
|
|
69
76
|
*
|
|
77
|
+
* A shaded or fat jar carries a `pom.properties` for every artifact folded
|
|
78
|
+
* into it. When the jar's file name is known, the descriptor whose
|
|
79
|
+
* `artifactId-version` (or `artifactId`) starts the file name is the jar's
|
|
80
|
+
* own; otherwise the first descriptor is used, as before.
|
|
81
|
+
*
|
|
70
82
|
* @param {string} mavenDir Path to maven directory
|
|
83
|
+
* @param {string} [jarName] File name of the jar the directory came from
|
|
71
84
|
*
|
|
72
85
|
* @return array with pom properties
|
|
73
86
|
*/
|
|
74
|
-
export declare function getPomPropertiesFromMavenDir(mavenDir: string):
|
|
87
|
+
export declare function getPomPropertiesFromMavenDir(mavenDir: string, jarName?: string): Object;
|
|
88
|
+
/**
|
|
89
|
+
* The licences a MANIFEST.MF `Bundle-License` value names. The value is a
|
|
90
|
+
* comma-separated list; each item is an SPDX id, a licence name or a URL,
|
|
91
|
+
* optionally followed by `;link=` and `;description=` attributes, and any
|
|
92
|
+
* part may be quoted. Each item is mapped through findLicenseId; an item it
|
|
93
|
+
* cannot map is replaced by its `link` URL when one is given, which the
|
|
94
|
+
* licence URL lookup resolves later. `<<EXTERNAL>>` names no licence.
|
|
95
|
+
*
|
|
96
|
+
* @param {string} value Raw Bundle-License value.
|
|
97
|
+
* @returns {string[]} Licence ids, names or URLs, without duplicates.
|
|
98
|
+
*/
|
|
99
|
+
export declare function parseManifestLicenseList(value: string): string[];
|
|
100
|
+
/**
|
|
101
|
+
* The Maven descriptor a jar carries for itself, read from an extracted
|
|
102
|
+
* `META-INF/maven` directory: the pom.properties that names the jar's own
|
|
103
|
+
* coordinates and the pom.xml stored beside it.
|
|
104
|
+
*
|
|
105
|
+
* @param {string} mavenDir Path to the extracted META-INF/maven directory
|
|
106
|
+
* @param {string} [jarName] File name of the jar the directory came from
|
|
107
|
+
* @returns {{properties: Object, pomXml?: string}|undefined} The chosen
|
|
108
|
+
* descriptor, with its pom.xml text when one is stored beside it.
|
|
109
|
+
*/
|
|
110
|
+
export declare function readEmbeddedMavenDescriptor(mavenDir: string, jarName?: string): {
|
|
111
|
+
properties: Object;
|
|
112
|
+
pomXml?: string;
|
|
113
|
+
} | undefined;
|
|
114
|
+
/**
|
|
115
|
+
* The Maven descriptor and manifest licence a jar carries for itself, read
|
|
116
|
+
* from its zip without extracting it. Entry names are only matched and
|
|
117
|
+
* paired, never used as paths, and each entry is read only under a size
|
|
118
|
+
* bound, because the archive is untrusted input.
|
|
119
|
+
*
|
|
120
|
+
* @param {string} jarFile Path to the jar.
|
|
121
|
+
* @param {{group: string, name: string, version: string}} coordinates The jar's own coordinates, which choose its descriptor.
|
|
122
|
+
* @returns {Promise<{properties?: Object, pomXml?: string, manifestLicenses?: string[]}|undefined>}
|
|
123
|
+
*/
|
|
124
|
+
export declare function readEmbeddedJarMetadata(jarFile: string, coordinates: {
|
|
125
|
+
group: string;
|
|
126
|
+
name: string;
|
|
127
|
+
version: string;
|
|
128
|
+
}): Promise<{
|
|
129
|
+
properties?: Object;
|
|
130
|
+
pomXml?: string;
|
|
131
|
+
manifestLicenses?: string[];
|
|
132
|
+
} | undefined>;
|
|
75
133
|
/**
|
|
76
134
|
* Method to read a single file entry from a zip file
|
|
77
135
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../../lib/inventory/deps.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../../lib/inventory/deps.js"],"names":[],"mappings":"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"}
|