← Home

@coursebuilder/utils

Consolidated shared utilities for the Course Builder monorepo.

1
Versions
License
No
Install Scripts
Missing
Provenance

Supply chain provenance

Status for the latest visible version.

No SLSA provenance npm registry signatures No source commit

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

joelhooks

Accepted risks

Findings the reviewer chose to accept rather than block on.

SourceRuleReasonAccepted byWhen
semgrep semgrep:env-spread AI (semgrep): Fires only in a test file saving/restoring process.env — standard test pattern, not a leak risk. ai
phantom-deps phantom-dep:process AI (phantom-deps): process is a Node.js built-in polyfill dep; not directly imported but used transitively. ai
phantom-deps phantom-dep:@coursebuilder/core AI (phantom-deps): Same-org package; phantom-dep heuristic is unreliable for intra-monorepo deps. ai
phantom-deps phantom-dep:typesense AI (phantom-deps): Used via typesense-adapter export; indirect import pattern causes false positive. ai

Versions (showing 1 of 1)

Version Deps Published
1.0.1 17 / 6

v1.0.1

2 findings
HIGH env-spread: src/typesense-adapter.test.ts:100 semgrep

Spreading entire process.env into an object — may capture all secrets 98 | 99 | describe('getTypesenseCollectionName', () => { > 100 | const originalEnv = { ...process.env } 101 | 102 | it('should return default collection name when env var is not set', () => {

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.