From 2f58965146c305adc806e8f71f45db6febe2a232 Mon Sep 17 00:00:00 2001 From: Chunqiu Lu Date: Tue, 27 Jan 2026 12:00:45 +0100 Subject: [PATCH 1/3] adopt vscode/proxy-agent (#116) --- patches/common/adopt-new-proxy-agent.diff | 158 ++++++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 patches/common/adopt-new-proxy-agent.diff diff --git a/patches/common/adopt-new-proxy-agent.diff b/patches/common/adopt-new-proxy-agent.diff new file mode 100644 index 0000000..ea5e571 --- /dev/null +++ b/patches/common/adopt-new-proxy-agent.diff @@ -0,0 +1,158 @@ +Index: third-party-src/src/bootstrap-fork.ts +=================================================================== +--- third-party-src.orig/src/bootstrap-fork.ts ++++ third-party-src/src/bootstrap-fork.ts +@@ -123,7 +123,7 @@ function pipeLoggingToParent(): void { + + Object.defineProperty(stream, 'write', { + set: () => { }, +- get: () => (chunk: string | Buffer | Uint8Array, encoding: BufferEncoding | undefined, callback: ((err?: Error | undefined) => void) | undefined) => { ++ get: () => (chunk: string | Buffer | Uint8Array, encoding: BufferEncoding | undefined, callback: ((err?: Error | null) => void) | undefined) => { + buf += chunk.toString(encoding); + const eol = buf.length > MAX_STREAM_BUFFER_LENGTH ? buf.length : buf.lastIndexOf('\n'); + if (eol !== -1) { +Index: third-party-src/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts +=================================================================== +--- third-party-src.orig/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts ++++ third-party-src/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts +@@ -120,6 +120,7 @@ flakySuite('Native Modules (all platforms)', () => { + const proxyAgent = await import('@vscode/proxy-agent'); + // This call will load `@vscode/proxy-agent` which is a native module that we want to test on Windows + const windowsCerts = await proxyAgent.loadSystemCertificates({ ++ loadSystemCertificatesFromNode: () => undefined, + log: { + trace: () => { }, + debug: () => { }, +Index: third-party-src/src/vs/platform/request/common/request.ts +=================================================================== +--- third-party-src.orig/src/vs/platform/request/common/request.ts ++++ third-party-src/src/vs/platform/request/common/request.ts +@@ -146,8 +146,10 @@ export const USER_LOCAL_AND_REMOTE_SETTINGS = [ + 'http.proxyAuthorization', + 'http.proxySupport', + 'http.systemCertificates', ++ 'http.systemCertificatesNode', + 'http.experimental.systemCertificatesV2', + 'http.fetchAdditionalSupport', ++ 'http.experimental.networkInterfaceCheckInterval', + ]; + + let proxyConfiguration: IConfigurationNode[] = []; +@@ -249,6 +251,13 @@ function registerProxyConfigurations(useHostProxy = true, useHostProxyDefault = + markdownDescription: localize('systemCertificates', "Controls whether CA certificates should be loaded from the OS. On Windows and macOS, a reload of the window is required after turning this off. When during [remote development](https://aka.ms/vscode-remote) the {0} setting is disabled this setting can be configured in the local and the remote settings separately.", '`#http.useLocalProxyConfiguration#`'), + restricted: true + }, ++ 'http.systemCertificatesNode': { ++ type: 'boolean', ++ tags: ['experimental'], ++ default: false, ++ markdownDescription: localize('systemCertificatesNode', "Controls whether system certificates should be loaded using Node.js built-in support. Reload the window after changing this setting. When during [remote development](https://aka.ms/vscode-remote) the {0} setting is disabled this setting can be configured in the local and the remote settings separately.", '`#http.useLocalProxyConfiguration#`'), ++ restricted: true ++ }, + 'http.experimental.systemCertificatesV2': { + type: 'boolean', + tags: ['experimental'], +@@ -261,6 +270,14 @@ function registerProxyConfigurations(useHostProxy = true, useHostProxyDefault = + default: true, + markdownDescription: localize('fetchAdditionalSupport', "Controls whether Node.js' fetch implementation should be extended with additional support. Currently proxy support ({1}) and system certificates ({2}) are added when the corresponding settings are enabled. When during [remote development](https://aka.ms/vscode-remote) the {0} setting is disabled this setting can be configured in the local and the remote settings separately.", '`#http.useLocalProxyConfiguration#`', '`#http.proxySupport#`', '`#http.systemCertificates#`'), + restricted: true ++ }, ++ 'http.experimental.networkInterfaceCheckInterval': { ++ type: 'number', ++ default: 300, ++ minimum: -1, ++ tags: ['experimental'], ++ markdownDescription: localize('networkInterfaceCheckInterval', "Controls the interval in seconds for checking network interface changes to invalidate the proxy cache. Set to -1 to disable. When during [remote development](https://aka.ms/vscode-remote) the {0} setting is disabled this setting can be configured in the local and the remote settings separately.", '`#http.useLocalProxyConfiguration#`'), ++ restricted: true + } + } + } +Index: third-party-src/src/vs/platform/request/node/requestService.ts +=================================================================== +--- third-party-src.orig/src/vs/platform/request/node/requestService.ts ++++ third-party-src/src/vs/platform/request/node/requestService.ts +@@ -119,15 +119,18 @@ export class RequestService extends AbstractRequestService implements IRequestSe + + async loadCertificates(): Promise { + const proxyAgent = await import('@vscode/proxy-agent'); +- return proxyAgent.loadSystemCertificates({ log: this.logService }); ++ return proxyAgent.loadSystemCertificates({ ++ loadSystemCertificatesFromNode: () => this.getConfigValue('http.systemCertificatesNode', false), ++ log: this.logService, ++ }); + } + +- private getConfigValue(key: string): T | undefined { ++ private getConfigValue(key: string, fallback?: T): T | undefined { + if (this.machine === 'remote') { + return this.configurationService.getValue(key); + } + const values = this.configurationService.inspect(key); +- return values.userLocalValue || values.defaultValue; ++ return values.userLocalValue ?? values.defaultValue ?? fallback; + } + } + +Index: third-party-src/src/vs/workbench/api/node/extHostConsoleForwarder.ts +=================================================================== +--- third-party-src.orig/src/vs/workbench/api/node/extHostConsoleForwarder.ts ++++ third-party-src/src/vs/workbench/api/node/extHostConsoleForwarder.ts +@@ -47,7 +47,7 @@ export class ExtHostConsoleForwarder extends AbstractExtHostConsoleForwarder { + + Object.defineProperty(stream, 'write', { + set: () => { }, +- get: () => (chunk: Uint8Array | string, encoding?: BufferEncoding, callback?: (err?: Error) => void) => { ++ get: () => (chunk: Uint8Array | string, encoding?: BufferEncoding, callback?: (err?: Error | null) => void) => { + if (!this._isMakingConsoleCall) { + buf += (chunk as any).toString(encoding); + const eol = buf.length > MAX_STREAM_BUFFER_LENGTH ? buf.length : buf.lastIndexOf('\n'); +Index: third-party-src/src/vs/workbench/api/node/proxyResolver.ts +=================================================================== +--- third-party-src.orig/src/vs/workbench/api/node/proxyResolver.ts ++++ third-party-src/src/vs/workbench/api/node/proxyResolver.ts +@@ -53,6 +53,7 @@ export function connectProxyResolver( + isAdditionalFetchSupportEnabled: () => getExtHostConfigValue(configProvider, isRemote, 'http.fetchAdditionalSupport', true), + addCertificatesV1: () => certSettingV1(configProvider, isRemote), + addCertificatesV2: () => certSettingV2(configProvider, isRemote), ++ loadSystemCertificatesFromNode: () => getExtHostConfigValue(configProvider, isRemote, 'http.systemCertificatesNode', false), + log: extHostLogService, + getLogLevel: () => { + const level = extHostLogService.getLevel(); +@@ -72,16 +73,31 @@ export function connectProxyResolver( + }, + proxyResolveTelemetry: () => { }, + isUseHostProxyEnabled, ++ getNetworkInterfaceCheckInterval: () => { ++ const intervalSeconds = getExtHostConfigValue(configProvider, isRemote, 'http.experimental.networkInterfaceCheckInterval', 300); ++ return intervalSeconds * 1000; ++ }, + loadAdditionalCertificates: async () => { ++ const useNodeSystemCerts = getExtHostConfigValue(configProvider, isRemote, 'http.systemCertificatesNode', false); + const promises: Promise[] = []; +- if (initData.remote.isRemote) { +- promises.push(loadSystemCertificates({ log: extHostLogService })); ++ if (isRemote) { ++ promises.push(loadSystemCertificates({ ++ loadSystemCertificatesFromNode: () => useNodeSystemCerts, ++ log: extHostLogService, ++ })); + } + if (loadLocalCertificates) { +- extHostLogService.trace('ProxyResolver#loadAdditionalCertificates: Loading certificates from main process'); +- const certs = extHostWorkspace.loadCertificates(); // Loading from main process to share cache. +- certs.then(certs => extHostLogService.trace('ProxyResolver#loadAdditionalCertificates: Loaded certificates from main process', certs.length)); +- promises.push(certs); ++ if (!isRemote && useNodeSystemCerts) { ++ promises.push(loadSystemCertificates({ ++ loadSystemCertificatesFromNode: () => useNodeSystemCerts, ++ log: extHostLogService, ++ })); ++ } else { ++ extHostLogService.trace('ProxyResolver#loadAdditionalCertificates: Loading certificates from main process'); ++ const certs = extHostWorkspace.loadCertificates(); // Loading from main process to share cache. ++ certs.then(certs => extHostLogService.trace('ProxyResolver#loadAdditionalCertificates: Loaded certificates from main process', certs.length)); ++ promises.push(certs); ++ } + } + // Using https.globalAgent because it is shared with proxy.test.ts and mutable. + if (initData.environment.extensionTestsLocationURI && (https.globalAgent as any).testCertificates?.length) { From fd9c1e39419d46af9bf6094f7bac56394847647a Mon Sep 17 00:00:00 2001 From: Chunqiu Lu Date: Tue, 27 Jan 2026 14:45:46 +0100 Subject: [PATCH 2/3] override undici for remote distribution (#118) --- patches/common/adopt-new-proxy-agent.diff | 158 ---------------------- 1 file changed, 158 deletions(-) delete mode 100644 patches/common/adopt-new-proxy-agent.diff diff --git a/patches/common/adopt-new-proxy-agent.diff b/patches/common/adopt-new-proxy-agent.diff deleted file mode 100644 index ea5e571..0000000 --- a/patches/common/adopt-new-proxy-agent.diff +++ /dev/null @@ -1,158 +0,0 @@ -Index: third-party-src/src/bootstrap-fork.ts -=================================================================== ---- third-party-src.orig/src/bootstrap-fork.ts -+++ third-party-src/src/bootstrap-fork.ts -@@ -123,7 +123,7 @@ function pipeLoggingToParent(): void { - - Object.defineProperty(stream, 'write', { - set: () => { }, -- get: () => (chunk: string | Buffer | Uint8Array, encoding: BufferEncoding | undefined, callback: ((err?: Error | undefined) => void) | undefined) => { -+ get: () => (chunk: string | Buffer | Uint8Array, encoding: BufferEncoding | undefined, callback: ((err?: Error | null) => void) | undefined) => { - buf += chunk.toString(encoding); - const eol = buf.length > MAX_STREAM_BUFFER_LENGTH ? buf.length : buf.lastIndexOf('\n'); - if (eol !== -1) { -Index: third-party-src/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts -=================================================================== ---- third-party-src.orig/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts -+++ third-party-src/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts -@@ -120,6 +120,7 @@ flakySuite('Native Modules (all platforms)', () => { - const proxyAgent = await import('@vscode/proxy-agent'); - // This call will load `@vscode/proxy-agent` which is a native module that we want to test on Windows - const windowsCerts = await proxyAgent.loadSystemCertificates({ -+ loadSystemCertificatesFromNode: () => undefined, - log: { - trace: () => { }, - debug: () => { }, -Index: third-party-src/src/vs/platform/request/common/request.ts -=================================================================== ---- third-party-src.orig/src/vs/platform/request/common/request.ts -+++ third-party-src/src/vs/platform/request/common/request.ts -@@ -146,8 +146,10 @@ export const USER_LOCAL_AND_REMOTE_SETTINGS = [ - 'http.proxyAuthorization', - 'http.proxySupport', - 'http.systemCertificates', -+ 'http.systemCertificatesNode', - 'http.experimental.systemCertificatesV2', - 'http.fetchAdditionalSupport', -+ 'http.experimental.networkInterfaceCheckInterval', - ]; - - let proxyConfiguration: IConfigurationNode[] = []; -@@ -249,6 +251,13 @@ function registerProxyConfigurations(useHostProxy = true, useHostProxyDefault = - markdownDescription: localize('systemCertificates', "Controls whether CA certificates should be loaded from the OS. On Windows and macOS, a reload of the window is required after turning this off. When during [remote development](https://aka.ms/vscode-remote) the {0} setting is disabled this setting can be configured in the local and the remote settings separately.", '`#http.useLocalProxyConfiguration#`'), - restricted: true - }, -+ 'http.systemCertificatesNode': { -+ type: 'boolean', -+ tags: ['experimental'], -+ default: false, -+ markdownDescription: localize('systemCertificatesNode', "Controls whether system certificates should be loaded using Node.js built-in support. Reload the window after changing this setting. When during [remote development](https://aka.ms/vscode-remote) the {0} setting is disabled this setting can be configured in the local and the remote settings separately.", '`#http.useLocalProxyConfiguration#`'), -+ restricted: true -+ }, - 'http.experimental.systemCertificatesV2': { - type: 'boolean', - tags: ['experimental'], -@@ -261,6 +270,14 @@ function registerProxyConfigurations(useHostProxy = true, useHostProxyDefault = - default: true, - markdownDescription: localize('fetchAdditionalSupport', "Controls whether Node.js' fetch implementation should be extended with additional support. Currently proxy support ({1}) and system certificates ({2}) are added when the corresponding settings are enabled. When during [remote development](https://aka.ms/vscode-remote) the {0} setting is disabled this setting can be configured in the local and the remote settings separately.", '`#http.useLocalProxyConfiguration#`', '`#http.proxySupport#`', '`#http.systemCertificates#`'), - restricted: true -+ }, -+ 'http.experimental.networkInterfaceCheckInterval': { -+ type: 'number', -+ default: 300, -+ minimum: -1, -+ tags: ['experimental'], -+ markdownDescription: localize('networkInterfaceCheckInterval', "Controls the interval in seconds for checking network interface changes to invalidate the proxy cache. Set to -1 to disable. When during [remote development](https://aka.ms/vscode-remote) the {0} setting is disabled this setting can be configured in the local and the remote settings separately.", '`#http.useLocalProxyConfiguration#`'), -+ restricted: true - } - } - } -Index: third-party-src/src/vs/platform/request/node/requestService.ts -=================================================================== ---- third-party-src.orig/src/vs/platform/request/node/requestService.ts -+++ third-party-src/src/vs/platform/request/node/requestService.ts -@@ -119,15 +119,18 @@ export class RequestService extends AbstractRequestService implements IRequestSe - - async loadCertificates(): Promise { - const proxyAgent = await import('@vscode/proxy-agent'); -- return proxyAgent.loadSystemCertificates({ log: this.logService }); -+ return proxyAgent.loadSystemCertificates({ -+ loadSystemCertificatesFromNode: () => this.getConfigValue('http.systemCertificatesNode', false), -+ log: this.logService, -+ }); - } - -- private getConfigValue(key: string): T | undefined { -+ private getConfigValue(key: string, fallback?: T): T | undefined { - if (this.machine === 'remote') { - return this.configurationService.getValue(key); - } - const values = this.configurationService.inspect(key); -- return values.userLocalValue || values.defaultValue; -+ return values.userLocalValue ?? values.defaultValue ?? fallback; - } - } - -Index: third-party-src/src/vs/workbench/api/node/extHostConsoleForwarder.ts -=================================================================== ---- third-party-src.orig/src/vs/workbench/api/node/extHostConsoleForwarder.ts -+++ third-party-src/src/vs/workbench/api/node/extHostConsoleForwarder.ts -@@ -47,7 +47,7 @@ export class ExtHostConsoleForwarder extends AbstractExtHostConsoleForwarder { - - Object.defineProperty(stream, 'write', { - set: () => { }, -- get: () => (chunk: Uint8Array | string, encoding?: BufferEncoding, callback?: (err?: Error) => void) => { -+ get: () => (chunk: Uint8Array | string, encoding?: BufferEncoding, callback?: (err?: Error | null) => void) => { - if (!this._isMakingConsoleCall) { - buf += (chunk as any).toString(encoding); - const eol = buf.length > MAX_STREAM_BUFFER_LENGTH ? buf.length : buf.lastIndexOf('\n'); -Index: third-party-src/src/vs/workbench/api/node/proxyResolver.ts -=================================================================== ---- third-party-src.orig/src/vs/workbench/api/node/proxyResolver.ts -+++ third-party-src/src/vs/workbench/api/node/proxyResolver.ts -@@ -53,6 +53,7 @@ export function connectProxyResolver( - isAdditionalFetchSupportEnabled: () => getExtHostConfigValue(configProvider, isRemote, 'http.fetchAdditionalSupport', true), - addCertificatesV1: () => certSettingV1(configProvider, isRemote), - addCertificatesV2: () => certSettingV2(configProvider, isRemote), -+ loadSystemCertificatesFromNode: () => getExtHostConfigValue(configProvider, isRemote, 'http.systemCertificatesNode', false), - log: extHostLogService, - getLogLevel: () => { - const level = extHostLogService.getLevel(); -@@ -72,16 +73,31 @@ export function connectProxyResolver( - }, - proxyResolveTelemetry: () => { }, - isUseHostProxyEnabled, -+ getNetworkInterfaceCheckInterval: () => { -+ const intervalSeconds = getExtHostConfigValue(configProvider, isRemote, 'http.experimental.networkInterfaceCheckInterval', 300); -+ return intervalSeconds * 1000; -+ }, - loadAdditionalCertificates: async () => { -+ const useNodeSystemCerts = getExtHostConfigValue(configProvider, isRemote, 'http.systemCertificatesNode', false); - const promises: Promise[] = []; -- if (initData.remote.isRemote) { -- promises.push(loadSystemCertificates({ log: extHostLogService })); -+ if (isRemote) { -+ promises.push(loadSystemCertificates({ -+ loadSystemCertificatesFromNode: () => useNodeSystemCerts, -+ log: extHostLogService, -+ })); - } - if (loadLocalCertificates) { -- extHostLogService.trace('ProxyResolver#loadAdditionalCertificates: Loading certificates from main process'); -- const certs = extHostWorkspace.loadCertificates(); // Loading from main process to share cache. -- certs.then(certs => extHostLogService.trace('ProxyResolver#loadAdditionalCertificates: Loaded certificates from main process', certs.length)); -- promises.push(certs); -+ if (!isRemote && useNodeSystemCerts) { -+ promises.push(loadSystemCertificates({ -+ loadSystemCertificatesFromNode: () => useNodeSystemCerts, -+ log: extHostLogService, -+ })); -+ } else { -+ extHostLogService.trace('ProxyResolver#loadAdditionalCertificates: Loading certificates from main process'); -+ const certs = extHostWorkspace.loadCertificates(); // Loading from main process to share cache. -+ certs.then(certs => extHostLogService.trace('ProxyResolver#loadAdditionalCertificates: Loaded certificates from main process', certs.length)); -+ promises.push(certs); -+ } - } - // Using https.globalAgent because it is shared with proxy.test.ts and mutable. - if (initData.environment.extensionTestsLocationURI && (https.globalAgent as any).testCertificates?.length) { From 2ecb33602430d13c4b8adfb9fbe0c98e7cbf0ec4 Mon Sep 17 00:00:00 2001 From: sachinh-amazon <188173965+sachinh-amazon@users.noreply.github.com> Date: Wed, 4 Feb 2026 11:12:28 +0100 Subject: [PATCH 3/3] Update tar to fix security vulnerability (#126) --- package-lock-overrides/sagemaker.series/package-lock.json | 6 +++--- .../web-embedded-with-terminal.series/package-lock.json | 6 +++--- .../web-embedded.series/package-lock.json | 6 +++--- package-lock-overrides/web-server.series/package-lock.json | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package-lock-overrides/sagemaker.series/package-lock.json b/package-lock-overrides/sagemaker.series/package-lock.json index bfe2a65..c4f95b3 100644 --- a/package-lock-overrides/sagemaker.series/package-lock.json +++ b/package-lock-overrides/sagemaker.series/package-lock.json @@ -15401,9 +15401,9 @@ } }, "node_modules/tar": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.4.tgz", - "integrity": "sha512-AN04xbWGrSTDmVwlI4/GTlIIwMFk/XEv7uL8aa57zuvRy6s4hdBed+lVq2fAZ89XDa7Us3ANXcE3Tvqvja1kTA==", + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz", + "integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==", "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/fs-minipass": "^4.0.0", diff --git a/package-lock-overrides/web-embedded-with-terminal.series/package-lock.json b/package-lock-overrides/web-embedded-with-terminal.series/package-lock.json index c33c34d..7791ad2 100644 --- a/package-lock-overrides/web-embedded-with-terminal.series/package-lock.json +++ b/package-lock-overrides/web-embedded-with-terminal.series/package-lock.json @@ -15364,9 +15364,9 @@ } }, "node_modules/tar": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.4.tgz", - "integrity": "sha512-AN04xbWGrSTDmVwlI4/GTlIIwMFk/XEv7uL8aa57zuvRy6s4hdBed+lVq2fAZ89XDa7Us3ANXcE3Tvqvja1kTA==", + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz", + "integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==", "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/fs-minipass": "^4.0.0", diff --git a/package-lock-overrides/web-embedded.series/package-lock.json b/package-lock-overrides/web-embedded.series/package-lock.json index c33c34d..7791ad2 100644 --- a/package-lock-overrides/web-embedded.series/package-lock.json +++ b/package-lock-overrides/web-embedded.series/package-lock.json @@ -15364,9 +15364,9 @@ } }, "node_modules/tar": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.4.tgz", - "integrity": "sha512-AN04xbWGrSTDmVwlI4/GTlIIwMFk/XEv7uL8aa57zuvRy6s4hdBed+lVq2fAZ89XDa7Us3ANXcE3Tvqvja1kTA==", + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz", + "integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==", "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/fs-minipass": "^4.0.0", diff --git a/package-lock-overrides/web-server.series/package-lock.json b/package-lock-overrides/web-server.series/package-lock.json index fccdd5d..08e91c0 100644 --- a/package-lock-overrides/web-server.series/package-lock.json +++ b/package-lock-overrides/web-server.series/package-lock.json @@ -15415,9 +15415,9 @@ } }, "node_modules/tar": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.4.tgz", - "integrity": "sha512-AN04xbWGrSTDmVwlI4/GTlIIwMFk/XEv7uL8aa57zuvRy6s4hdBed+lVq2fAZ89XDa7Us3ANXcE3Tvqvja1kTA==", + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz", + "integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==", "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/fs-minipass": "^4.0.0",