@expo/env
hydrate environment variables from .env files into process.env
Supply chain provenance
Status for the latest visible version.
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
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| provenance | missing-githead | AI (provenance): Expo canary releases are published outside standard CI; missing gitHead is expected for this release channel and not a meaningful risk signal for this package. | ai | |
| maintainer-change | maintainer-added | AI (maintainer-change): tsapeta is a known Expo/React Native contributor; addition reflects legitimate team expansion within the Expo org, not a takeover. | ai | |
| provenance | no-provenance | AI (provenance): Canary/pre-release builds from the Expo monorepo are not published via Sigstore-attested CI; absence of provenance is expected for this release type. | ai | |
| publish-pattern | suspicious-version-number | AI (publish-pattern): Expo uses a well-known canary versioning format (X.Y.Z-canary-YYYYMMDD-githash) across their entire monorepo. This pattern is not malicious for @expo/* packages. | ai | |
| dependencies | unvetted-dep:getenv | AI (dependencies): getenv is a well-known, simple env-var utility appropriate for a package that hydrates .env files; no malicious signals and stable dependency across versions. | ai | |
| npm-metadata | no-description | AI (npm-metadata): Stub/placeholder package in the @expo scope; absence of description is expected for this version pattern. | ai | |
| npm-metadata | suspicious-initial-version | AI (npm-metadata): 0.0.0 is a namespace reservation stub in the Expo monorepo; publisher evanbacon has a strong track record and 160 versions exist in the registry. | ai | |
| provenance | publisher-changed | AI (provenance): brentvatne is a core Expo team member with 3497 approved packages and 3942 days of history; publisher rotation within the Expo org is expected and not a takeover signal. | ai | |
| maintainer-change | maintainer-removed | AI (maintainer-change): Maintainer removal reflects internal Expo org rotation; brentvatne is a highly trusted publisher with no adverse history. | ai | |
| bogus-package | bogus-package | AI (bogus-package): Inflated semver reflects monorepo extraction; short README and no keywords are quality issues only. Package is a legitimate Expo utility with a clear purpose and official repo. | ai | |
| typosquat | typosquat.levenshtein:ajv | AI (typosquat): @expo/env is a scoped package under the official Expo organization namespace; Levenshtein proximity to 'ajv' is purely coincidental with no plausible impersonation intent. | ai |
Versions (showing 40 of 40)
| Version | Deps | Published |
|---|---|---|
| 2.3.0 | 3 / 4 | |
| 2.2.1 | 3 / 4 | |
| 2.2.0 | 3 / 4 | |
| 2.1.2 | 3 / 3 | |
| 2.1.0 | 3 / 3 | |
| 2.0.11 | 5 / 3 | |
| 2.0.10 | 5 / 3 | |
| 2.0.9 | 5 / 3 | |
| 2.0.8 | 5 / 3 | |
| 2.0.7 | 5 / 3 | |
| 2.0.6 | 5 / 3 | |
| 2.0.5 | 5 / 3 | |
| 2.0.4 | 5 / 3 | |
| 2.0.3 | 5 / 3 | |
| 2.0.2 | 5 / 3 | |
| 2.0.1 | 5 / 3 | |
| 2.0.0 | 5 / 3 | |
| 1.0.7 | 5 / 3 | |
| 1.0.6 | 5 / 3 | |
| 1.0.5 | 5 / 3 | |
| 1.0.4 | 5 / 3 | |
| 1.0.3 | 5 / 3 | |
| 1.0.2 | 5 / 3 | |
| 1.0.1 | 5 / 3 | |
| 1.0.0 | 5 / 3 | |
| 0.4.2 | 5 / 3 | |
| 0.4.1 | 5 / 3 | |
| 0.4.0 | 5 / 3 | |
| 0.3.0 | 5 / 3 | |
| 0.2.3 | 5 / 3 | |
| 0.2.2 | 5 / 3 | |
| 0.2.1 | 5 / 3 | |
| 0.2.0 | 5 / 3 | |
| 0.1.0 | 5 / 2 | |
| 0.0.5 | 5 / 2 | |
| 0.0.4 | 5 / 2 | |
| 0.0.3 | 4 / 1 | |
| 0.0.2 | 4 / 1 | |
| 0.0.1 | 3 / 1 | |
| 0.0.0 | 0 / 0 |
v2.3.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.2.1
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.2.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.1.2
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.1.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.0.11
2 findingsThis version was published by a different npm account than previous versions on 2026-01-26. This could indicate a legitimate maintainer transition or an account compromise.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.0.10
2 findingsThis version was published by a different npm account than previous versions on 2026-01-22. This could indicate a legitimate maintainer transition or an account compromise.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.0.9
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v2.0.8
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v2.0.7
2 findingsThis version was published by a different npm account than previous versions on 2025-09-10. This could indicate a legitimate maintainer transition or an account compromise.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.0.6
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.0.5
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v2.0.4
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v2.0.3
2 findingsThis version was published by a different npm account than previous versions on 2025-08-25. This could indicate a legitimate maintainer transition or an account compromise.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v2.0.2
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v2.0.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v2.0.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.0.7
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.0.6
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.0.5
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.0.4
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.0.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.0.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.0.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.0.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.4.2
2 findingsPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
[Accepted risk] This version was published by a different npm account than previous versions on 2025-02-14. This could indicate a legitimate maintainer transition or an account compromise.
v0.4.1
2 findingsPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
[Accepted risk] This version was published by a different npm account than previous versions on 2025-01-10. This could indicate a legitimate maintainer transition or an account compromise.
v0.4.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.3.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.1.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.0.5
2 findingsPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
[Accepted risk] This version was published by a different npm account than previous versions on 2023-06-30. This could indicate a legitimate maintainer transition or an account compromise.
v0.0.4
2 findingsPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
[Accepted risk] This version was published by a different npm account than previous versions on 2023-06-29. This could indicate a legitimate maintainer transition or an account compromise.
v0.0.3
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.0.2
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.0.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.0.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.