- Run
sn auditon projects with a lockfile to check advisories - Update affected dependencies with
sn update <package>or override inproject.toml - Report unfixed advisories in bundled stdlib/toolchain via SECURITY.md
project.lockrecords SHA-256 checksums for registry packages- Path dependencies record
source = "path:…"with manifest hash - Do not commit lockfiles with hand-edited checksums
Native libraries in [native] are linked at build time. Review:
- Source and provenance of bundled
.a/.libartifacts - Platform-specific paths in
project.toml - Use
sn auditwhere native packages publish advisory metadata
If you suspect a malicious registry package:
- Do not run untrusted binaries
- Report to the registry operator
- File a security report via SECURITY.md
Lockfiles may record publishedBy and publishedAt when the registry provides them. Use sn tree to inspect the dependency graph.
Sonite itself depends on:
- npm packages for the Node CLI (commander, tar, semver, …) — review
pnpm-lock.yamland preferpnpm auditin the monorepo - Pinned LLVM/LLD downloads (see
packages/llvm/scripts/llvm-version.json) with checksum validation in fetch scripts - Bundled OpenSSL static libraries fetched by the runtime build
- Registry packages consumed by end users — integrity is enforced via
project.lockSHA-256 hashes
Keep lockfiles committed, LLVM/OpenSSL pins intentional, and avoid unexpected new native download URLs.
Security reports receive acknowledgment within 48 hours per SECURITY.md. Patches ship in patch releases when applicable.