@solana/spl-token
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 |
|---|---|---|---|---|
| provenance | missing-githead | AI (provenance): Publish-env change on established first-party package; no malicious behavior. | ai | |
| publish-pattern | new-deps-added | AI (publish-pattern): New dep is first-party @solana/spl-token-metadata. | ai | |
| maintainer-change | maintainer-removed | AI (maintainer-change): Normal maintainer turnover for long-running monorepo package. | ai | |
| maintainer-change | maintainer-added | AI (maintainer-change): Known ecosystem maintainer rotation on a well-established Solana package. | ai | |
| phantom-deps | phantom-dep:buffer-layout | AI (phantom-deps): Used in bundled build; stable FP. | ai | |
| phantom-deps | phantom-dep:bn.js | AI (phantom-deps): Used in bundled build; false positive from source-scan heuristic. | ai | |
| phantom-deps | phantom-dep:dotenv | AI (phantom-deps): Used in CLI tooling, not runtime import; stable FP. | ai | |
| phantom-deps | phantom-dep:mkdirp-promise | AI (phantom-deps): Used in CLI/build scripts, stable FP. | ai | |
| phantom-deps | phantom-dep:json-to-pretty-yaml | AI (phantom-deps): Used in CLI tooling, stable FP. | ai | |
| phantom-deps | phantom-dep:@babel/runtime | AI (phantom-deps): Framework-scoped, loaded by convention. | ai | |
| phantom-deps | phantom-dep:@solana/web3.js | AI (phantom-deps): Same org, peer dep pattern. | ai | |
| maintainer-change | maintainer-takeover | AI (maintainer-change): Legitimate consolidation to official solana-devs org account on canonical solana-labs repo. | ai | |
| provenance | publisher-changed | AI (provenance): Legitimate handoff between Solana Labs maintainers; both have strong track records. | ai | |
| dependencies | unvetted-dep:@solana/buffer-layout-utils | AI (dependencies): First-party Solana Labs utility package; stable dependency used across the SPL ecosystem. | ai | |
| dependencies | unvetted-dep:@solana/spl-token-metadata | AI (dependencies): First-party Solana Labs sub-package from the same org; expected dependency for SPL token ecosystem. | ai | |
| dependencies | unvetted-dep:@solana/spl-token-group | AI (dependencies): First-party Solana Labs sub-package from the same org; expected dependency for SPL token ecosystem. | ai | |
| phantom-deps | phantom-dep:buffer | AI (phantom-deps): buffer is a declared runtime dep used as a browser polyfill; common pattern for isomorphic packages, not a security concern. | ai |
Versions (showing 49 of 49)
| Version | Deps | Published |
|---|---|---|
| 0.4.15 | 5 / 25 | |
| 0.4.14 | 5 / 25 | |
| 0.4.13 | 5 / 25 | |
| 0.4.12 | 5 / 25 | |
| 0.4.11 | 6 / 25 | |
| 0.4.10 | 6 / 25 | |
| 0.4.9 | 5 / 22 | |
| 0.4.8 | 5 / 25 | |
| 0.4.7 | 5 / 25 | |
| 0.4.6 | 5 / 25 | |
| 0.4.5 | 5 / 25 | |
| 0.4.4 | 5 / 25 | |
| 0.4.3 | 5 / 25 | |
| 0.4.2 | 5 / 25 | |
| 0.4.1 | 4 / 26 | |
| 0.4.0 | 4 / 26 | |
| 0.3.11 | 4 / 26 | |
| 0.3.10 | 4 / 26 | |
| 0.3.9 | 3 / 25 | |
| 0.3.8 | 3 / 26 | |
| 0.3.7 | 3 / 26 | |
| 0.3.6 | 3 / 26 | |
| 0.3.5 | 3 / 26 | |
| 0.3.4 | 3 / 25 | |
| 0.3.3 | 3 / 25 | |
| 0.3.2 | 3 / 25 | |
| 0.3.1 | 3 / 24 | |
| 0.3.0 | 3 / 24 | |
| 0.2.0 | 4 / 22 | |
| 0.1.8 | 6 / 41 | |
| 0.1.7 | 6 / 41 | |
| 0.1.6 | 6 / 41 | |
| 0.1.5 | 6 / 41 | |
| 0.1.4 | 6 / 41 | |
| 0.1.3 | 6 / 40 | |
| 0.1.2 | 6 / 40 | |
| 0.1.1 | 6 / 40 | |
| 0.1.0 | 6 / 40 | |
| 0.0.13 | 6 / 19 | |
| 0.0.12 | 6 / 19 | |
| 0.0.11 | 6 / 19 | |
| 0.0.10 | 6 / 20 | |
| 0.0.8 | 6 / 20 | |
| 0.0.7 | 6 / 20 | |
| 0.0.6 | 6 / 20 | |
| 0.0.5 | 6 / 20 | |
| 0.0.4 | 7 / 20 | |
| 0.0.3 | 7 / 20 | |
| 0.0.2 | 7 / 20 |
v0.4.15
2 findingsPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
[Accepted risk] This version was published by a different npm account than previous versions on 2026-07-09. This could indicate a legitimate maintainer transition or an account compromise.
v0.4.13
3 findingsAll previous maintainers (nickfrosty, mcintyre94, 2501babe, lorisleiva, buffalojoec, ngundotra, _chido, steveluscher, seanyoung, tyera, joncinque, ryoqun, trent-solana, jordansexton) were replaced by new maintainers (solana-devs). This is a strong signal of a potential package hijack and requires careful review.
This version was published by a different npm account than previous versions on 2025-03-04. 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.
v0.4.12
2 findingsThis version was published by a different npm account than previous versions on 2025-01-30. 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.
v0.4.11
3 findingsAll previous maintainers (nickfrosty, mcintyre94, 2501babe, lorisleiva, buffalojoec, ngundotra, _chido, steveluscher, seanyoung, tyera, joncinque, ryoqun, trent-solana, jordansexton) were replaced by new maintainers (solana-devs). This is a strong signal of a potential package hijack and requires careful review.
This version was published by a different npm account than previous versions on 2025-01-28. 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.
v0.4.10
3 findingsAll previous maintainers (nickfrosty, mcintyre94, 2501babe, lorisleiva, buffalojoec, ngundotra, _chido, steveluscher, seanyoung, tyera, joncinque, ryoqun, trent-solana, jordansexton) were replaced by new maintainers (solana-devs). This is a strong signal of a potential package hijack and requires careful review.
This version was published by a different npm account than previous versions on 2025-01-28. 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.
v0.4.9
2 findingsThis version was published by a different npm account than previous versions on 2024-10-17. 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.
v0.4.8
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.4.7
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.4.6
2 findingsPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
This version was published by a different npm account (steveluscher) than the most recent previously approved version (joncinque) on 2024-04-19, but steveluscher is listed as a maintainer on prior approved versions (matched on name). This looks like a manual publish by a known maintainer rather than a publisher change. Recorded as INFO for audit trail.
v0.4.5
2 findingsPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
This version was published by a different npm account (steveluscher) than the most recent previously approved version (joncinque) on 2024-04-19, but steveluscher is listed as a maintainer on prior approved versions (matched on name). This looks like a manual publish by a known maintainer rather than a publisher change. Recorded as INFO for audit trail.
v0.4.4
2 findingsPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
This version was published by a different npm account (steveluscher) than the most recent previously approved version (joncinque) on 2024-04-18, but steveluscher is listed as a maintainer on prior approved versions (matched on name). This looks like a manual publish by a known maintainer rather than a publisher change. Recorded as INFO for audit trail.
v0.4.3
3 findingsThis version has no gitHead field linking it to a source commit, but previous versions did. This suggests the publish environment changed. Published by: buffalojoec.
This version was published by a different npm account (buffalojoec) than the most recent previously approved version (joncinque) on 2024-03-23. It has since remained available on npm for 849 days without being unpublished, which is inconsistent with an account takeover — those are typically removed by npm shortly after discovery.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.4.2
3 findingsThis version has no gitHead field linking it to a source commit, but previous versions did. This suggests the publish environment changed. Published by: buffalojoec.
This version was published by a different npm account (buffalojoec) than the most recent previously approved version (joncinque) on 2024-03-22. It has since remained available on npm for 850 days without being unpublished, which is inconsistent with an account takeover — those are typically removed by npm shortly after discovery.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.4.1
3 findingsThis version has no gitHead field linking it to a source commit, but previous versions did. This suggests the publish environment changed. Published by: buffalojoec.
This version was published by a different npm account (buffalojoec) than the most recent previously approved version (joncinque) on 2024-02-24. It has since remained available on npm for 877 days without being unpublished, which is inconsistent with an account takeover — those are typically removed by npm shortly after discovery.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.4.0
3 findingsThis version has no gitHead field linking it to a source commit, but previous versions did. This suggests the publish environment changed. Published by: buffalojoec.
This version was published by a different npm account (buffalojoec) than the most recent previously approved version (joncinque) on 2024-01-29. It has since remained available on npm for 903 days without being unpublished, which is inconsistent with an account takeover — those are typically removed by npm shortly after discovery.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.11
3 findingsThis version has no gitHead field linking it to a source commit, but previous versions did. This suggests the publish environment changed. Published by: buffalojoec.
This version was published by a different npm account (buffalojoec) than the most recent previously approved version (joncinque) on 2024-01-09. It has since remained available on npm for 923 days without being unpublished, which is inconsistent with an account takeover — those are typically removed by npm shortly after discovery.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.10
3 findingsThis version has no gitHead field linking it to a source commit, but previous versions did. This suggests the publish environment changed. Published by: buffalojoec.
This version was published by a different npm account (buffalojoec) than the most recent previously approved version (joncinque) on 2024-01-03. It has since remained available on npm for 929 days without being unpublished, which is inconsistent with an account takeover — those are typically removed by npm shortly after discovery.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.9
2 findingsThis version was published by a different npm account (buffalojoec) than the most recent previously approved version (joncinque) on 2023-11-14. It has since remained available on npm for 979 days without being unpublished, which is inconsistent with an account takeover — those are typically removed by npm shortly after discovery.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.8
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.7
2 findingsPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
This version was published by a different npm account (joncinque) than the most recent previously approved version (jordansexton) on 2023-01-10, but joncinque is listed as a maintainer on prior approved versions (matched on name). This looks like a manual publish by a known maintainer rather than a publisher change. Recorded as INFO for audit trail.
v0.3.6
2 findingsPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
This version was published by a different npm account (joncinque) than the most recent previously approved version (jordansexton) on 2022-10-28, but joncinque is listed as a maintainer on prior approved versions (matched on name). This looks like a manual publish by a known maintainer rather than a publisher change. Recorded as INFO for audit trail.
v0.3.5
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.2
2 findingsPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
This version was published by a different npm account (jordansexton) than the most recent previously approved version (joncinque) on 2022-08-23, but jordansexton is listed as a maintainer on prior approved versions (matched on name). This looks like a manual publish by a known maintainer rather than a publisher change. Recorded as INFO for audit trail.
v0.3.1
2 findingsPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
This version was published by a different npm account (jordansexton) than the most recent previously approved version (joncinque) on 2022-08-16, but jordansexton is listed as a maintainer on prior approved versions (matched on name). This looks like a manual publish by a known maintainer rather than a publisher change. Recorded as INFO for audit trail.
v0.3.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.2.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.1.8
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.1.7
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.1.6
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.1.5
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.1.4
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.1.3
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.1.2
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.1.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.1.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.0.13
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.0.12
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.0.11
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.0.10
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.0.8
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.0.7
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.0.6
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.0.5
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.0.4
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
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.