diff --git a/package.json b/package.json index 8b306a31..995c03c9 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,6 @@ "@actions/io": "^3.0.2", "@actions/tool-cache": "^4.0.0", "@sigstore/bundle": "^5.0.0", - "@sigstore/sign": "^5.0.0", "@sigstore/tuf": "^5.0.0", "@sigstore/verify": "^4.1.0", "async-retry": "^1.3.3", diff --git a/src/sigstore/sigstore.ts b/src/sigstore/sigstore.ts index ebc62e2f..a78e4a11 100644 --- a/src/sigstore/sigstore.ts +++ b/src/sigstore/sigstore.ts @@ -19,8 +19,7 @@ import fs from 'fs'; import path from 'path'; import * as core from '@actions/core'; -import {bundleFromJSON, bundleToJSON, SerializedBundle} from '@sigstore/bundle'; -import {Artifact, Bundle, CIContextProvider, DSSEBundleBuilder, FulcioSigner, RekorWitness, TSAWitness, Witness} from '@sigstore/sign'; +import {bundleFromJSON, bundleToJSON, type Bundle, type SerializedBundle} from '@sigstore/bundle'; import * as tuf from '@sigstore/tuf'; import {toSignedEntity, toTrustMaterial, Verifier} from '@sigstore/verify'; @@ -30,7 +29,7 @@ import {Exec} from '../exec.js'; import {GitHub} from '../github/github.js'; import {ImageTools} from '../buildx/imagetools.js'; -import {MEDIATYPE_PAYLOAD as INTOTO_MEDIATYPE_PAYLOAD, Subject} from '../types/intoto/intoto.js'; +import {Subject} from '../types/intoto/intoto.js'; import { Endpoints, FULCIO_URL, @@ -78,41 +77,7 @@ export class Sigstore { const endpoints = this.signingEndpoints(opts.noTransparencyLog); core.info(`Using Sigstore signing endpoint: ${endpoints.fulcioURL}`); - const noTransparencyLog = Sigstore.noTransparencyLog(opts.noTransparencyLog); - - const cosignExtraArgs: string[] = []; - if (await this.cosign.versionSatisfies('>=3.0.4')) { - await core.group(`Creating Sigstore protobuf signing config`, async () => { - const signingConfig = Context.tmpName({ - template: 'signing-config-XXXXXX.json', - tmpdir: Context.tmpDir() - }); - // prettier-ignore - const createConfigArgs = [ - 'signing-config', - 'create', - '--with-default-services=true', - `--out=${signingConfig}` - ]; - if (noTransparencyLog) { - createConfigArgs.push('--no-default-rekor=true'); - } - await Exec.exec(this.cosign.binPath, createConfigArgs, { - env: Object.assign({}, process.env, { - COSIGN_EXPERIMENTAL: '1' - }) as { - [key: string]: string; - } - }); - core.info(JSON.stringify(JSON.parse(fs.readFileSync(signingConfig, {encoding: 'utf-8'})), null, 2)); - cosignExtraArgs.push(`--signing-config=${signingConfig}`); - }); - } else { - cosignExtraArgs.push('--use-signing-config'); - if (noTransparencyLog) { - cosignExtraArgs.push('--tlog-upload=false'); - } - } + const cosignExtraArgs = await this.cosignSigningConfigArgs(opts.noTransparencyLog); for (const imageName of opts.imageNames) { const attestationDigests = await this.imageTools.attestationDigests({ @@ -287,6 +252,9 @@ export class Sigstore { } public async signProvenanceBlobs(opts: SignProvenanceBlobsOpts): Promise> { + if (!(await this.cosign.isAvailable())) { + throw new Error('Cosign is required to sign provenance blobs'); + } const result: Record = {}; try { if (!process.env.ACTIONS_ID_TOKEN_REQUEST_URL) { @@ -295,6 +263,7 @@ export class Sigstore { const endpoints = this.signingEndpoints(opts.noTransparencyLog); core.info(`Using Sigstore signing endpoint: ${endpoints.fulcioURL}`); + const cosignExtraArgs = await this.cosignSigningConfigArgs(opts.noTransparencyLog); const provenanceBlobs = Sigstore.getProvenanceBlobs(opts); for (const p of Object.keys(provenanceBlobs)) { @@ -306,14 +275,39 @@ export class Sigstore { core.warning(`No subjects found in provenance ${p}, skip signing.`); return; } - const bundle = await Sigstore.signPayload( - { - data: blob, - type: INTOTO_MEDIATYPE_PAYLOAD - }, - endpoints - ); - const parsedBundle = Sigstore.parseBundle(bundle); + const artifactPath = path.join(path.dirname(p), subjects[0].name); + // prettier-ignore + const cosignArgs = [ + 'attest-blob', + '--yes', + '--oidc-provider', 'github-actions', + '--new-bundle-format', + '--statement', p, + '--type', COSIGN_PREDICATE_SLSA_PROVENANCE_V1, + '--bundle', bundlePath, + ...cosignExtraArgs + ]; + core.info(`[command]${this.cosign.binPath} ${[...cosignArgs, artifactPath].join(' ')}`); + const execRes = await Exec.getExecOutput(this.cosign.binPath, ['--verbose', ...cosignArgs, artifactPath], { + ignoreReturnCode: true, + silent: true, + env: Object.assign({}, process.env, { + COSIGN_EXPERIMENTAL: '1' + }) as { + [key: string]: string; + } + }); + const signResult = Cosign.parseCommandOutput(execRes.stderr.trim()); + if (execRes.exitCode != 0) { + if (signResult.errors && signResult.errors.length > 0) { + const errorMessages = signResult.errors.map(e => `- [${e.code}] ${e.message} : ${e.detail}`).join('\n'); + throw new Error(`Cosign attest-blob command failed with errors:\n${errorMessages}`); + } else { + // prettier-ignore + throw new Error(`Cosign attest-blob command failed with: ${execRes.stderr.trim().split(/\r?\n/).filter(line => line.length > 0).pop() ?? 'unknown error'}`); + } + } + const parsedBundle = Sigstore.parseBundle(bundleFromJSON(JSON.parse(fs.readFileSync(bundlePath, {encoding: 'utf-8'})))); core.info(`Provenance blob signed for:`); for (const subject of subjects) { const [digestAlg, digestValue] = Object.entries(subject.digest)[0] || []; @@ -322,10 +316,7 @@ export class Sigstore { if (parsedBundle.tlogID) { core.info(`Attestation signature uploaded to Rekor transparency log: ${SEARCH_URL}?logIndex=${parsedBundle.tlogID}`); } - core.info(`Writing Sigstore bundle to: ${bundlePath}`); - fs.writeFileSync(bundlePath, JSON.stringify(parsedBundle.payload, null, 2), { - encoding: 'utf-8' - }); + core.info(`Sigstore bundle written to: ${bundlePath}`); result[p] = { ...parsedBundle, bundlePath: bundlePath, @@ -437,6 +428,43 @@ export class Sigstore { return noTransparencyLog ?? GitHub.context.payload.repository?.private; } + private async cosignSigningConfigArgs(noTransparencyLog?: boolean): Promise { + const cosignExtraArgs: string[] = []; + if (await this.cosign.versionSatisfies('>=3.0.4')) { + await core.group(`Creating Sigstore protobuf signing config`, async () => { + const signingConfig = Context.tmpName({ + template: 'signing-config-XXXXXX.json', + tmpdir: Context.tmpDir() + }); + // prettier-ignore + const createConfigArgs = [ + 'signing-config', + 'create', + '--with-default-services=true', + `--out=${signingConfig}` + ]; + if (Sigstore.noTransparencyLog(noTransparencyLog)) { + createConfigArgs.push('--no-default-rekor=true'); + } + await Exec.exec(this.cosign.binPath, createConfigArgs, { + env: Object.assign({}, process.env, { + COSIGN_EXPERIMENTAL: '1' + }) as { + [key: string]: string; + } + }); + core.info(JSON.stringify(JSON.parse(fs.readFileSync(signingConfig, {encoding: 'utf-8'})), null, 2)); + cosignExtraArgs.push(`--signing-config=${signingConfig}`); + }); + } else { + cosignExtraArgs.push('--use-signing-config'); + if (Sigstore.noTransparencyLog(noTransparencyLog)) { + cosignExtraArgs.push('--tlog-upload=false'); + } + } + return cosignExtraArgs; + } + private static getProvenanceBlobs(opts: SignProvenanceBlobsOpts): Record { // For single platform build const singleProvenance = path.join(opts.localExportDir, 'provenance.json'); @@ -469,40 +497,6 @@ export class Sigstore { })); } - private static async signPayload(artifact: Artifact, endpoints: Endpoints, timeout?: number, retries?: number): Promise { - const witnesses: Witness[] = []; - - const signer = new FulcioSigner({ - identityProvider: new CIContextProvider('sigstore'), - fulcioBaseURL: endpoints.fulcioURL, - timeout: timeout, - retry: retries - }); - - if (endpoints.rekorURL) { - witnesses.push( - new RekorWitness({ - rekorBaseURL: endpoints.rekorURL, - fetchOnConflict: true, - timeout: timeout, - retry: retries - }) - ); - } - - if (endpoints.tsaServerURL) { - witnesses.push( - new TSAWitness({ - tsaBaseURL: endpoints.tsaServerURL, - timeout: timeout, - retry: retries - }) - ); - } - - return new DSSEBundleBuilder({signer, witnesses}).create(artifact); - } - private static parseBundle(bundle: Bundle): ParsedBundle { const signingCert = Sigstore.parseCertificate(bundle); diff --git a/yarn.lock b/yarn.lock index 4db9cd8c..fab27e1a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -469,7 +469,6 @@ __metadata: "@actions/tool-cache": "npm:^4.0.0" "@eslint/js": "npm:^9.39.3" "@sigstore/bundle": "npm:^5.0.0" - "@sigstore/sign": "npm:^5.0.0" "@sigstore/tuf": "npm:^5.0.0" "@sigstore/verify": "npm:^4.1.0" "@types/gunzip-maybe": "npm:^1.4.3" @@ -785,7 +784,7 @@ __metadata: languageName: node linkType: hard -"@gar/promise-retry@npm:^1.0.0, @gar/promise-retry@npm:^1.0.2, @gar/promise-retry@npm:^1.0.3": +"@gar/promise-retry@npm:^1.0.3": version: 1.0.3 resolution: "@gar/promise-retry@npm:1.0.3" checksum: 10/0d13ea3bb1025755e055648f6e290d2a7e0c87affaf552218f09f66b3fcd9ea9d5c9cc5fe2aa6e285e1530437768e40f9448fe9a86f4f3417b216dcf488d3d1a @@ -882,19 +881,6 @@ __metadata: languageName: node linkType: hard -"@npmcli/agent@npm:^5.0.0": - version: 5.0.2 - resolution: "@npmcli/agent@npm:5.0.2" - dependencies: - agent-base: "npm:^9.0.0" - http-proxy-agent: "npm:^9.0.0" - https-proxy-agent: "npm:^9.0.0" - lru-cache: "npm:^11.2.1" - socks-proxy-agent: "npm:^10.0.0" - checksum: 10/05b342be9d162191a634d57785d03f3d9902c7d4b9840c355ce480f9092ab7c056af5e9826e9074e780779860462481ad0bf623caefdee85a96d9d6d54e05fb3 - languageName: node - linkType: hard - "@npmcli/fs@npm:^2.1.0": version: 2.1.2 resolution: "@npmcli/fs@npm:2.1.2" @@ -905,15 +891,6 @@ __metadata: languageName: node linkType: hard -"@npmcli/fs@npm:^6.0.0": - version: 6.0.0 - resolution: "@npmcli/fs@npm:6.0.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 10/caa9f71860a9fdca0e89e7882a1c4ec2537a7d24e8b20e7e67521ce8e0a6dd9d89b77e146cafd77b026f4969eeb18a8ba2292b85aadbe355ff4b8a44320e3635 - languageName: node - linkType: hard - "@npmcli/move-file@npm:^2.0.0": version: 2.0.1 resolution: "@npmcli/move-file@npm:2.0.1" @@ -924,13 +901,6 @@ __metadata: languageName: node linkType: hard -"@npmcli/redact@npm:^5.0.0": - version: 5.0.0 - resolution: "@npmcli/redact@npm:5.0.0" - checksum: 10/e974158840c3744f945d723d9993a7ccff6643b86bf64a3ce6ecd43d06f106708c0f4560c69cc2ba444a67c220f54f9d51ba28754c0de06c83b1eedc902f71dd - languageName: node - linkType: hard - "@octokit/auth-token@npm:^6.0.0": version: 6.0.0 resolution: "@octokit/auth-token@npm:6.0.0" @@ -1321,7 +1291,7 @@ __metadata: languageName: node linkType: hard -"@sigstore/core@npm:^4.0.0, @sigstore/core@npm:^4.0.1": +"@sigstore/core@npm:^4.0.1": version: 4.0.1 resolution: "@sigstore/core@npm:4.0.1" checksum: 10/2d8961554cfa7293a7a506ed950da677f707436042166848d94b5c0558dee62194df3bcbfb31648d78e00aa5f28d1813ca04cccef7fa6ed50544cfbf2feb453b @@ -1335,20 +1305,6 @@ __metadata: languageName: node linkType: hard -"@sigstore/sign@npm:^5.0.0": - version: 5.0.0 - resolution: "@sigstore/sign@npm:5.0.0" - dependencies: - "@gar/promise-retry": "npm:^1.0.2" - "@sigstore/bundle": "npm:^5.0.0" - "@sigstore/core": "npm:^4.0.0" - "@sigstore/protobuf-specs": "npm:^0.5.0" - make-fetch-happen: "npm:^16.0.0" - proc-log: "npm:^7.0.0" - checksum: 10/1faa16c0b051fb5b8ef2d4430277946cb54bb0be1302dd6c959e0a816b29b368e969d569a7bd42173f1b059f6005df05bc34c972fbceef104ba0b99a885710b8 - languageName: node - linkType: hard - "@sigstore/tuf@npm:^5.0.0": version: 5.0.0 resolution: "@sigstore/tuf@npm:5.0.0" @@ -1817,13 +1773,6 @@ __metadata: languageName: node linkType: hard -"agent-base@npm:9.0.0, agent-base@npm:^9.0.0": - version: 9.0.0 - resolution: "agent-base@npm:9.0.0" - checksum: 10/3a61414cd10dbb17fa8dae35124ffaa55fbb00f495004b2e7a8f4eca3a2b6ed9879474d4e2ebc27ee2f4207265652341525b4154e85c4d479be4854acd786bfb - languageName: node - linkType: hard - "agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": version: 7.1.4 resolution: "agent-base@npm:7.1.4" @@ -2211,24 +2160,6 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^21.0.0": - version: 21.0.1 - resolution: "cacache@npm:21.0.1" - dependencies: - "@npmcli/fs": "npm:^6.0.0" - fs-minipass: "npm:^3.0.0" - glob: "npm:^13.0.0" - lru-cache: "npm:^11.1.0" - minipass: "npm:^7.0.3" - minipass-collect: "npm:^2.0.1" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^7.0.2" - ssri: "npm:^14.0.0" - checksum: 10/b75cdcb71fc2dfa6f9684e97f743f5d46570390cde7c747f82009a09ba6c743ebe401b0127e243f1b6426bd31a4e361df3fa85d429aab361a88d38a06b43d94d - languageName: node - linkType: hard - "callsites@npm:^3.0.0": version: 3.1.0 resolution: "callsites@npm:3.1.0" @@ -2942,15 +2873,6 @@ __metadata: languageName: node linkType: hard -"fs-minipass@npm:^3.0.0": - version: 3.0.3 - resolution: "fs-minipass@npm:3.0.3" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10/af143246cf6884fe26fa281621d45cfe111d34b30535a475bfa38dafe343dadb466c047a924ffc7d6b7b18265df4110224ce3803806dbb07173bf2087b648d7f - languageName: node - linkType: hard - "fs.realpath@npm:^1.0.0": version: 1.0.0 resolution: "fs.realpath@npm:1.0.0" @@ -3017,7 +2939,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^13.0.0, glob@npm:^13.0.3": +"glob@npm:^13.0.3": version: 13.0.6 resolution: "glob@npm:13.0.6" dependencies: @@ -3154,13 +3076,6 @@ __metadata: languageName: node linkType: hard -"http-cache-semantics@npm:^4.1.1": - version: 4.2.0 - resolution: "http-cache-semantics@npm:4.2.0" - checksum: 10/4efd2dfcfeea9d5e88c84af450b9980be8a43c2c8179508b1c57c7b4421c855f3e8efe92fa53e0b3f4a43c85824ada930eabbc306d1b3beab750b6dcc5187693 - languageName: node - linkType: hard - "http-proxy-agent@npm:^5.0.0": version: 5.0.0 resolution: "http-proxy-agent@npm:5.0.0" @@ -3182,17 +3097,6 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^9.0.0": - version: 9.1.0 - resolution: "http-proxy-agent@npm:9.1.0" - dependencies: - agent-base: "npm:9.0.0" - debug: "npm:^4.3.4" - proxy-agent-negotiate: "npm:1.1.0" - checksum: 10/d76441afe6849c3ea6f8143371062908fe4cb1037c5f6ad709f068e8086afd544e1980cc33b06513770878f423529db6f33ac0b5db4877214ec5a157e1e950c9 - languageName: node - linkType: hard - "https-proxy-agent@npm:^5.0.0": version: 5.0.0 resolution: "https-proxy-agent@npm:5.0.0" @@ -3213,17 +3117,6 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^9.0.0": - version: 9.1.0 - resolution: "https-proxy-agent@npm:9.1.0" - dependencies: - agent-base: "npm:9.0.0" - debug: "npm:^4.3.4" - proxy-agent-negotiate: "npm:1.1.0" - checksum: 10/45021d326c032bf8cd480acee488d5f701842cbef4756a33b81244a872304c918498ef6cf667d8348c11e9b065dd520ec1fd9138196147f608c5837500e7395b - languageName: node - linkType: hard - "humanize-ms@npm:^1.2.1": version: 1.2.1 resolution: "humanize-ms@npm:1.2.1" @@ -3242,15 +3135,6 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:^0.7.2": - version: 0.7.2 - resolution: "iconv-lite@npm:0.7.2" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3.0.0" - checksum: 10/24c937b532f868e938386b62410b303b7c767ce3d08dc2829cbe59464d5a26ef86ae5ad1af6b34eec43ddfea39e7d101638644b0178d67262fa87015d59f983a - languageName: node - linkType: hard - "ieee754@npm:^1.2.1": version: 1.2.1 resolution: "ieee754@npm:1.2.1" @@ -3320,13 +3204,6 @@ __metadata: languageName: node linkType: hard -"ip-address@npm:^10.0.1": - version: 10.2.0 - resolution: "ip-address@npm:10.2.0" - checksum: 10/12fec399e1af5753ac322e47a6d81a50d3a528b3abb17c09525b2a2edcaedcca628c40520706f7037bc4d8e951b0296c47e7b86d0a8e6e2335c8f0ba4afcfac1 - languageName: node - linkType: hard - "ip@npm:^2.0.0": version: 2.0.1 resolution: "ip@npm:2.0.1" @@ -3580,13 +3457,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^11.1.0, lru-cache@npm:^11.2.1": - version: 11.2.2 - resolution: "lru-cache@npm:11.2.2" - checksum: 10/fa7919fbf068a739f79a1ad461eb273514da7246cebb9dca68e3cd7ba19e3839e7e2aaecd9b72867e08038561eeb96941189e89b3d4091c75ced4f56c71c80db - languageName: node - linkType: hard - "lru-cache@npm:^6.0.0": version: 6.0.0 resolution: "lru-cache@npm:6.0.0" @@ -3665,26 +3535,6 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^16.0.0": - version: 16.0.1 - resolution: "make-fetch-happen@npm:16.0.1" - dependencies: - "@gar/promise-retry": "npm:^1.0.0" - "@npmcli/agent": "npm:^5.0.0" - "@npmcli/redact": "npm:^5.0.0" - cacache: "npm:^21.0.0" - http-cache-semantics: "npm:^4.1.1" - minipass: "npm:^7.0.2" - minipass-fetch: "npm:^6.0.0" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^1.0.0" - proc-log: "npm:^7.0.0" - ssri: "npm:^14.0.0" - checksum: 10/38d7d5e4453f4cf4cbeec520c1d61a70aff15de9ee2b05775fbba6ce6378b58680a4d8e70cc6a7ebb048f98a6c6d4439cab5942a610d6a5ca3c26d0e9b174986 - languageName: node - linkType: hard - "minimatch@npm:^10.2.1, minimatch@npm:^10.2.2": version: 10.2.5 resolution: "minimatch@npm:10.2.5" @@ -3744,15 +3594,6 @@ __metadata: languageName: node linkType: hard -"minipass-collect@npm:^2.0.1": - version: 2.0.1 - resolution: "minipass-collect@npm:2.0.1" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10/b251bceea62090f67a6cced7a446a36f4cd61ee2d5cea9aee7fff79ba8030e416327a1c5aa2908dc22629d06214b46d88fdab8c51ac76bacbf5703851b5ad342 - languageName: node - linkType: hard - "minipass-fetch@npm:^2.0.3": version: 2.1.2 resolution: "minipass-fetch@npm:2.1.2" @@ -3768,21 +3609,6 @@ __metadata: languageName: node linkType: hard -"minipass-fetch@npm:^6.0.0": - version: 6.0.0 - resolution: "minipass-fetch@npm:6.0.0" - dependencies: - iconv-lite: "npm:^0.7.2" - minipass: "npm:^7.0.3" - minipass-sized: "npm:^2.0.0" - minizlib: "npm:^3.0.1" - dependenciesMeta: - iconv-lite: - optional: true - checksum: 10/f5aaf55a59efb7f0735f292fb5351483390791d048c5afbd5520bb9743fd18a89a1cd00ec1e7d5efda904b30252348959b3854885176fd14a8de186ffd5c7e09 - languageName: node - linkType: hard - "minipass-flush@npm:^1.0.5": version: 1.0.5 resolution: "minipass-flush@npm:1.0.5" @@ -3810,15 +3636,6 @@ __metadata: languageName: node linkType: hard -"minipass-sized@npm:^2.0.0": - version: 2.0.0 - resolution: "minipass-sized@npm:2.0.0" - dependencies: - minipass: "npm:^7.1.2" - checksum: 10/3b89adf64ca705662f77481e278eff5ec0a57aeffb5feba7cc8843722b1e7770efc880f2a17d1d4877b2d7bf227873cd46afb4da44c0fd18088b601ea50f96bb - languageName: node - linkType: hard - "minipass@npm:^3.0.0, minipass@npm:^3.1.1, minipass@npm:^3.1.6": version: 3.3.6 resolution: "minipass@npm:3.3.6" @@ -3842,13 +3659,6 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2": - version: 7.1.2 - resolution: "minipass@npm:7.1.2" - checksum: 10/c25f0ee8196d8e6036661104bacd743785b2599a21de5c516b32b3fa2b83113ac89a2358465bc04956baab37ffb956ae43be679b2262bf7be15fce467ccd7950 - languageName: node - linkType: hard - "minipass@npm:^7.0.4": version: 7.0.4 resolution: "minipass@npm:7.0.4" @@ -3856,6 +3666,13 @@ __metadata: languageName: node linkType: hard +"minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10/c25f0ee8196d8e6036661104bacd743785b2599a21de5c516b32b3fa2b83113ac89a2358465bc04956baab37ffb956ae43be679b2262bf7be15fce467ccd7950 + languageName: node + linkType: hard + "minipass@npm:^7.1.3": version: 7.1.3 resolution: "minipass@npm:7.1.3" @@ -3873,15 +3690,6 @@ __metadata: languageName: node linkType: hard -"minizlib@npm:^3.0.1": - version: 3.1.0 - resolution: "minizlib@npm:3.1.0" - dependencies: - minipass: "npm:^7.1.2" - checksum: 10/f47365cc2cb7f078cbe7e046eb52655e2e7e97f8c0a9a674f4da60d94fb0624edfcec9b5db32e8ba5a99a5f036f595680ae6fe02a262beaa73026e505cc52f99 - languageName: node - linkType: hard - "mkdirp@npm:^0.5.1": version: 0.5.6 resolution: "mkdirp@npm:0.5.6" @@ -3939,13 +3747,6 @@ __metadata: languageName: node linkType: hard -"negotiator@npm:^1.0.0": - version: 1.0.0 - resolution: "negotiator@npm:1.0.0" - checksum: 10/b5734e87295324fabf868e36fb97c84b7d7f3156ec5f4ee5bf6e488079c11054f818290fc33804cef7b1ee21f55eeb14caea83e7dafae6492a409b3e573153e5 - languageName: node - linkType: hard - "neo-async@npm:^2.6.2": version: 2.6.2 resolution: "neo-async@npm:2.6.2" @@ -4060,13 +3861,6 @@ __metadata: languageName: node linkType: hard -"p-map@npm:^7.0.2": - version: 7.0.3 - resolution: "p-map@npm:7.0.3" - checksum: 10/2ef48ccfc6dd387253d71bf502604f7893ed62090b2c9d73387f10006c342606b05233da0e4f29388227b61eb5aeface6197e166520c465c234552eeab2fe633 - languageName: node - linkType: hard - "package-json-from-dist@npm:^1.0.1": version: 1.0.1 resolution: "package-json-from-dist@npm:1.0.1" @@ -4206,13 +4000,6 @@ __metadata: languageName: node linkType: hard -"proc-log@npm:^7.0.0": - version: 7.0.0 - resolution: "proc-log@npm:7.0.0" - checksum: 10/97cd9f4a8a0d84e42ee91e106e5ba5edcb954521e8dbe26ee6ad31396e5c12cc2be5e5b6be7b53fa5a69959afbacd32719106e2d6f45802e34b31d9a3a01ec20 - languageName: node - linkType: hard - "process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" @@ -4244,18 +4031,6 @@ __metadata: languageName: node linkType: hard -"proxy-agent-negotiate@npm:1.1.0": - version: 1.1.0 - resolution: "proxy-agent-negotiate@npm:1.1.0" - peerDependencies: - kerberos: ^2.0.0 - peerDependenciesMeta: - kerberos: - optional: true - checksum: 10/4554c42b8b872f37cf76c9044b7a5827bccf41ad77a1992b09bb89b84c779f5536bdd0d3312f247565e09fba8700e48a25f233e339705978242e3ca1d0dab149 - languageName: node - linkType: hard - "pump@npm:^2.0.0": version: 2.0.1 resolution: "pump@npm:2.0.1" @@ -4601,17 +4376,6 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:^10.0.0": - version: 10.1.0 - resolution: "socks-proxy-agent@npm:10.1.0" - dependencies: - agent-base: "npm:9.0.0" - debug: "npm:^4.3.4" - socks: "npm:^2.8.3" - checksum: 10/b7ca31a62e1164bdf8ade52a4c0d9b2701a7095fa52e7be047d61abf9ddf3e0820c3080373a59268b67d43901f16c51c780bb7ac925f17eb77171ed00071724a - languageName: node - linkType: hard - "socks-proxy-agent@npm:^7.0.0": version: 7.0.0 resolution: "socks-proxy-agent@npm:7.0.0" @@ -4633,16 +4397,6 @@ __metadata: languageName: node linkType: hard -"socks@npm:^2.8.3": - version: 2.8.7 - resolution: "socks@npm:2.8.7" - dependencies: - ip-address: "npm:^10.0.1" - smart-buffer: "npm:^4.2.0" - checksum: 10/d19366c95908c19db154f329bbe94c2317d315dc933a7c2b5101e73f32a555c84fb199b62174e1490082a593a4933d8d5a9b297bde7d1419c14a11a965f51356 - languageName: node - linkType: hard - "source-map-js@npm:^1.2.1": version: 1.2.1 resolution: "source-map-js@npm:1.2.1" @@ -4657,15 +4411,6 @@ __metadata: languageName: node linkType: hard -"ssri@npm:^14.0.0": - version: 14.0.0 - resolution: "ssri@npm:14.0.0" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10/a1dfa938f05c6e6d3638b2e78f21cf67da96ad8f6963cd5cbc1adc9a52929a9bb82d4cd0bf2ba9d2205cfee27f66a271e0fd2f36b2fa072a66ab722eadaacc14 - languageName: node - linkType: hard - "ssri@npm:^9.0.0": version: 9.0.1 resolution: "ssri@npm:9.0.1"