← Home

@vscode/vsce

3
Versions
License
No
Install Scripts
Missing
Provenance

Supply chain provenance

Status for the latest visible version.

No SLSA provenance npm registry signatures No source commit

Without SLSA provenance there is no cryptographic link between this tarball and the public source — the axios compromise (March 2026) relied on exactly this gap.

Maintainers

kaimaetzellszomorualexandrudimasbattenjoaomoreno.msmicrosoft1esrebornixvscode-bot

Keywords

vscodevsceextension

Accepted risks

Findings the reviewer chose to accept rather than block on.

SourceRuleReasonAccepted byWhen
semgrep semgrep:child-process-import AI (semgrep): vsce legitimately invokes yarn/npm via child_process for dependency resolution; stable pattern for this tool. ai
semgrep semgrep:env-spread AI (semgrep): env spread passes DISABLE_V* vars to yarn; expected behavior for this build tool. ai
semgrep semgrep:eval-usage AI (semgrep): eval('import(...)') is a documented CJS-to-ESM interop workaround for @secretlint/node; not arbitrary code execution. ai
typosquat typosquat.levenshtein:vite AI (typosquat): @vscode/vsce is the official Microsoft VS Code extension manager; not a typosquat of vite. ai
phantom-deps phantom-dep:secretlint AI (phantom-deps): secretlint is used as a CLI tool via child_process, not directly imported; stable false positive. ai
phantom-deps phantom-dep:@secretlint/secretlint-rule-no-dotenv AI (phantom-deps): Used as a secretlint plugin loaded dynamically, not directly imported; stable false positive. ai
phantom-deps phantom-dep:@secretlint/secretlint-formatter-sarif AI (phantom-deps): Used as a secretlint formatter loaded dynamically, not directly imported; stable false positive. ai
phantom-deps phantom-dep:@secretlint/secretlint-rule-preset-recommend AI (phantom-deps): Used as a secretlint plugin loaded dynamically, not directly imported; stable false positive. ai

Versions (showing 3 of 3)

Version Deps Published
3.9.1 30 / 20
3.8.1 30 / 20
3.8.0 30 / 20

v3.9.1

2 findings
HIGH env-spread: out/npm.js:139 semgrep

Spreading entire process.env into an object — may capture all secrets 137 | } 138 | async function getYarnProductionDependencies(cwd, packagedDependencies) { > 139 | const raw = await new Promise((c, e) => cp.exec('yarn list --prod --json', { cwd, encoding: 'utf8', env: { DISABLE_V 140 | const match = /^{"type":"tree".*$/m.exec(raw); 141 | if (!match || match.length !== 1) {

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v3.8.1

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v3.8.0

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.