@qnsp/billing-sdk
TypeScript SDK client for the QNSP billing-service API. Provides usage meter ingestion and invoice management.
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 |
|---|---|---|---|---|
| semgrep | semgrep:etc-passwd-access | AI (semgrep): Fires in a test asserting path traversal is blocked; not credential harvesting. | ai |
Versions (showing 11 of 11)
| Version | Deps | Published |
|---|---|---|
| 0.2.6 | 7 / 3 | |
| 0.2.5 | 7 / 3 | |
| 0.2.4 | 7 / 3 | |
| 0.2.3 | 7 / 3 | |
| 0.2.2 | 7 / 3 | |
| 0.2.1 | 7 / 3 | |
| 0.2.0 | 6 / 3 | |
| 0.1.2 | 6 / 3 | |
| 0.1.1 | 6 / 3 | |
| 0.0.2 | 6 / 3 | |
| 0.0.1 | 6 / 3 |
v0.2.6
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.2.5
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.4
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. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.2.2
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.2.1
2 findingsAccessing /etc/passwd or /etc/shadow — credential harvesting on Linux 59 | 60 | it("should reject path traversal in tenantId", async () => { > 61 | await expect(client.listInvoices("../../etc/passwd")).rejects.toThrow("Invalid tenantId"); 62 | }); 63 |
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.2.0
2 findingsAccessing /etc/passwd or /etc/shadow — credential harvesting on Linux 53 | 54 | it("should reject path traversal in tenantId", async () => { > 55 | await expect(client.listInvoices("../../etc/passwd")).rejects.toThrow("Invalid tenantId"); 56 | }); 57 |
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.1.2
2 findingsAccessing /etc/passwd or /etc/shadow — credential harvesting on Linux 50 | 51 | it("should reject path traversal in tenantId", async () => { > 52 | await expect(client.listInvoices("../../etc/passwd")).rejects.toThrow("Invalid tenantId"); 53 | }); 54 |
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.1.1
2 findingsAccessing /etc/passwd or /etc/shadow — credential harvesting on Linux 50 | 51 | it("should reject path traversal in tenantId", async () => { > 52 | await expect(client.listInvoices("../../etc/passwd")).rejects.toThrow("Invalid tenantId"); 53 | }); 54 |
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.0.2
2 findingsAccessing /etc/passwd or /etc/shadow — credential harvesting on Linux 50 | 51 | it("should reject path traversal in tenantId", async () => { > 52 | await expect(client.listInvoices("../../etc/passwd")).rejects.toThrow("Invalid tenantId"); 53 | }); 54 |
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.0.1
2 findingsAccessing /etc/passwd or /etc/shadow — credential harvesting on Linux 50 | 51 | it("should reject path traversal in tenantId", async () => { > 52 | await expect(client.listInvoices("../../etc/passwd")).rejects.toThrow("Invalid tenantId"); 53 | }); 54 |
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.