@yarnpkg/core
Supply chain provenance
Status for the latest visible version.
Maintainers
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| phantom-deps | phantom-dep:@types/semver | AI (phantom-deps): TypeScript types loaded by convention; stable for this package. | ai | |
| phantom-deps | phantom-dep:@types/treeify | AI (phantom-deps): TypeScript types loaded by convention; stable for this package. | ai | |
| semgrep | semgrep:etc-passwd-access | AI (semgrep): The match is inside a comment explaining why absolute paths are blocked — not actual credential access. | ai | |
| semgrep | semgrep:env-bulk-read | AI (semgrep): Configuration library reads YARN_* prefixed env vars; expected and documented behavior. | ai | |
| typosquat | typosquat.levenshtein:cors | AI (typosquat): @yarnpkg/core is the official Yarn package manager core; scoped package, not a typosquat of cors. | ai | |
| semgrep | semgrep:base64-decode | AI (semgrep): Brotli-compressed bundled worker script; standard Yarn Berry architecture for embedding zip worker. | ai | |
| semgrep | semgrep:eval-usage | AI (semgrep): eval('require') is a well-known bundler workaround to preserve dynamic require; not arbitrary code execution. | ai | |
| semgrep | semgrep:env-spread | AI (semgrep): Package manager legitimately passes environment to child processes; stable pattern for this package. | ai |
Versions (showing 7 of 7)
| Version | Deps | Published |
|---|---|---|
| 4.8.0 | 26 / 18 | |
| 4.7.0 | 26 / 18 | |
| 4.6.0 | 26 / 18 | |
| 4.5.0 | 26 / 19 | |
| 4.4.4 | 26 / 19 | |
| 4.4.3 | 26 / 19 | |
| 4.4.2 | 26 / 20 |
v4.8.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v4.7.0
4 findingsPackage name '@yarnpkg/core' is 1 edit(s) away from popular package 'cors'.
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/yarnpkg/berry/blob/38ebf0014ba8c0356168d4bbd23c09dbb2bdc9ba/lib/scriptUtils.js#L219 217 | !packageManagerSelection?.packageManagerField; 218 | await fslib_2.xfs.mktempPromise(async (binFolder) => { > 219 | const env = await makeScriptEnv({ binFolder, ignoreCorepack, baseEnv: { ...process.env, COREPACK_ENABLE_ 220 | const workflows = new Map([ 221 | [PackageManager.Yarn1, async () => {
Accessing /etc/passwd or /etc/shadow — credential harvesting on Linux Source: https://github.com/yarnpkg/berry/blob/38ebf0014ba8c0356168d4bbd23c09dbb2bdc9ba/lib/tgzUtils.js#L113 111 | async function extractArchiveTo(tgz, targetFs, { stripComponents = 0, prefixPath = fslib_1.PortablePath.dot } = {}) { 112 | function ignore(entry) { > 113 | // Disallow absolute paths; might be malicious (ex: /etc/passwd) 114 | if (entry.path[0] === `/`) 115 | return true;
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v4.6.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v4.5.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v4.4.4
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v4.4.3
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v4.4.2
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.