@ledgerhq/hw-app-exchange
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
Keywords
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| source-diff | encoded-string-file:lib-es/SellUtils.test.js | AI (source-diff): Hex-encoded protobuf payload used in unit tests for decodeSellPayload; benign. | ai | |
| source-diff | encoded-string-file:src/SellUtils.test.ts | AI (source-diff): Source TypeScript test file with protobuf hex payload; benign. | ai | |
| source-diff | encoded-string-file:lib/SellUtils.test.js | AI (source-diff): Same protobuf test payload as lib-es counterpart; benign for this package. | ai | |
| source-diff | encoded-string-file:src/Exchange.integ.test.ts | AI (source-diff): Hex-encoded test vectors for SELL payload signature verification; not a malicious payload. | ai | |
| source-diff | encoded-string-file:lib-es/Exchange.integ.test.js | AI (source-diff): Hex-encoded test vectors for SELL payload signature verification; not a malicious payload. | ai | |
| source-diff | encoded-string-file:lib/Exchange.integ.test.js | AI (source-diff): Hex-encoded test vectors for SELL payload signature verification; not a malicious payload. | ai | |
| publish-pattern | dormant-publish | AI (publish-pattern): Established LedgerHQ org package; dormancy likely reflects release cadence, not takeover. No suspicious changes in diff. | ai | |
| dependencies | unvetted-dep:protobufjs | AI (dependencies): protobufjs is a legitimate, widely-used protobuf library. Its use is clearly justified by the package's protocol buffer compilation and deserialization needs for Ledger exchange protocol. | ai | |
| dependencies | unvetted-dep:protobufjs-cli | AI (dependencies): protobufjs-cli is used in the prebuild script to compile .proto files; legitimate build tooling for this Ledger hardware wallet library. | ai | |
| phantom-deps | phantom-dep:protobufjs-cli | AI (phantom-deps): protobufjs-cli is a build-time CLI tool used in the prebuild script (pnpm pbjs). Not imported at runtime; phantom-dep finding is expected and benign. | ai | |
| semgrep | semgrep:base64-decode | AI (semgrep): Base64 decoding is used to parse protobuf-encoded transaction payloads from Ledger's exchange protocol. Legitimate and expected for this package. | ai | |
| semgrep | semgrep:hex-decode | AI (semgrep): Hex decoding is used for legitimate APDU command construction in a hardware wallet library. Not obfuscation or malicious payload hiding. | ai |
Versions (showing 25 of 25)
| Version | Deps | Published |
|---|---|---|
| 0.22.3 | 7 / 11 | |
| 0.22.2 | 7 / 11 | |
| 0.22.1 | 7 / 11 | |
| 0.22.0 | 7 / 11 | |
| 0.21.1 | 7 / 11 | |
| 0.21.0 | 7 / 11 | |
| 0.20.0 | 7 / 11 | |
| 0.19.0 | 7 / 11 | |
| 0.18.3 | 7 / 10 | |
| 0.18.2 | 7 / 10 | |
| 0.18.1 | 7 / 10 | |
| 0.18.0 | 7 / 10 | |
| 0.17.0 | 7 / 10 | |
| 0.16.0 | 7 / 10 | |
| 0.15.0 | 7 / 10 | |
| 0.14.0 | 7 / 10 | |
| 0.13.2 | 7 / 10 | |
| 0.13.1 | 7 / 10 | |
| 0.13.0 | 7 / 10 | |
| 0.12.0 | 7 / 10 | |
| 0.11.0 | 7 / 10 | |
| 0.10.4 | 7 / 10 | |
| 0.10.3 | 7 / 10 | |
| 0.10.2 | 7 / 11 | |
| 0.10.1 | 6 / 11 |
v0.22.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.22.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.22.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.22.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.21.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.21.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.20.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.19.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.18.3
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.18.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.18.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.18.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.17.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.16.0
7 findingsModified file contains 1 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Modified file contains 1 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Modified file contains 2 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Modified file contains 2 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Modified file contains 1 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Modified file contains 2 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.15.0
7 findingsModified file contains 1 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Modified file contains 1 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Modified file contains 2 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Modified file contains 2 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Modified file contains 1 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Modified file contains 2 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.14.0
4 findingsModified file contains 1 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Modified file contains 1 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Modified file contains 1 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.13.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.13.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.13.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.12.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.11.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.10.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.10.3
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.10.2
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.10.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.