CryptoToolkit is an educational cryptography lab, not a production crypto library. Release artifacts here improve transparency for reviewers and users, but they do not certify the educational implementations as production-safe.
This checklist addresses OWASP Top 10:2025 A03 Software Supply Chain Failures and A08 Software or Data Integrity Failures by producing:
- A CycloneDX JSON SBOM generated from
package-lock.json - A SHA-256 checksum manifest for release inputs and built
dist/assets - An unsigned local provenance statement with git commit, tag, build commands, tool versions, OWASP mapping, and release boundary
Run from a clean checkout:
npm ci
npm run ci
git tag v1.0.0
npm run release:artifacts -- --require-tag --require-cleanIf dist/ has not been built yet, run npm run build before generating the
artifacts. npm run ci already includes the production build.
The generated files are written to:
release-artifacts/<tag-or-version-commit>/
Expected files:
crypto-toolkit-1.0.0.sbom.cdx.json
crypto-toolkit-1.0.0.provenance.local.json
crypto-toolkit-1.0.0.sha256
Attach the three generated files to the matching GitHub release. The release notes should keep the boundary explicit:
This release publishes SBOM, checksum, and local provenance artifacts for
reviewability. CryptoToolkit remains an educational cryptography lab and should
not be used as a production cryptographic library.
Do not describe the SBOM or checksum file as a security certification. They are release transparency artifacts.
After downloading a release artifact set:
sha256sum -c crypto-toolkit-1.0.0.sha256On Windows PowerShell, verify a single file with:
Get-FileHash .\crypto-toolkit-1.0.0.sbom.cdx.json -Algorithm SHA256