Files
relspecgo/vendor/modernc.org/sqlite/SBOM.md
T
Hein 337af294f3 chore(deps): update all dependencies
Fixes GO-2026-6629 (golang.org/x/text precis panic). Bumps bun and
bun/dialect/pgdialect together to v1.3.0; go directive now 1.26.0.
2026-10-12 09:31:55 +02:00

7.8 KiB

Software Bill of Materials

This repository ships a machine-readable SBOM in both common formats, generated from the same inventory as LICENSE-3RD-PARTY.md:

File Format For
sbom.cdx.json CycloneDX 1.6 Scanners and policy engines. Carries pedigree notes and per-component scope.
sbom.spdx.json SPDX 2.3 License and provenance review. Carries precise relationships and the full text of every non-standard license.
LICENSE-3RD-PARTY.md Markdown People. Full license texts, transitively flattened.

This page is generated too. Regenerate all four documents with make sbom; licgen -check writes nothing and fails if any of them is stale, which is the form to run in CI.

Why this is not what a stock Go SBOM tool produces

Run cyclonedx-gomod or syft against this module and the result will be a clean, complete-looking list of Go modules that is missing the single largest thing the module ships. lib/ is SQLite itself: the C amalgamation, transpiled to Go by modernc.org/ccgo and committed here. It is not a dependency, it has no go.mod entry, and nothing in the module graph names it. The same is true of sqlite-vec in vec/ and of the VFS bridge in vfs/.

A consumer asking "does this project ship SQLite 3.53.4, and am I exposed to a CVE against it" gets the wrong answer from a module-graph SBOM: not a cautious answer, a wrong one. These documents name it, version it, and mark it with a pedigree note saying where it came from.

The other direction matters too. modernc.org/libc carries notices for upstreams vendored into it -- musl libc among them -- which no module graph reports either. Those are listed as components in their own right, related to modernc.org/libc by containment.

What the scopes mean

Every component is classified by what it does to a program that imports this driver. This is the field worth reading first, and the one a module list cannot fill in:

Components CycloneDX scope SPDX relationship Meaning
14 required DEPENDS_ON / CONTAINS Linked into your binary. Their licenses are the ones you carry when you redistribute.
2 optional TEST_DEPENDENCY_OF Compiled into this repository's own tests only. Never reaches your program.
17 excluded OPTIONAL_DEPENDENCY_OF Present in go list -m all, compiled into nothing here. Reported because go.sum and module-graph scanners will surface them.
1 excluded CONTAINS Third-party material committed to this repository and shipped in the module zip, compiled into nothing.

The distinction is not academic. The only copyleft-adjacent license anywhere in this project, MPL-2.0, sits in the third group: github.com/hashicorp/golang-lru/v2, reached through modernc.org/libc's go.mod and in no import closure. A scanner that reads the module graph will flag it; these documents say plainly that nothing of it is compiled in.

Inventory

Full license texts are in LICENSE-3RD-PARTY.md; a LicenseRef- identifier below names the appendix entry there that holds the text, and the text is embedded in both JSON documents as well.

1. Components linked into your program

Component Version License Package URL
github.com/dustin/go-humanize v1.0.1 MIT pkg:golang/github.com/dustin/go-humanize@v1.0.1
github.com/google/uuid v1.6.0 BSD-3-Clause pkg:golang/github.com/google/uuid@v1.6.0
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec BSD-3-Clause pkg:golang/github.com/remyoudompheng/bigfft@v0.0.0-20230129092748-24d4a6f8daec
Go -- BSD-3-Clause --
go-netdb -- MIT --
golang.org/x/sys v0.48.0 BSD-3-Clause pkg:golang/golang.org/x/sys@v0.48.0
modernc.org/libc v1.77.1 BSD-3-Clause pkg:golang/modernc.org/libc@v1.77.1
modernc.org/mathutil v1.7.1 BSD-3-Clause pkg:golang/modernc.org/mathutil@v1.7.1
modernc.org/memory v1.12.1 BSD-3-Clause AND LicenseRef-L5 pkg:golang/modernc.org/memory@v1.12.1
musl libc -- MIT --
NixOS/nixpkgs -- MIT --
SQLite 3.53.4 LicenseRef-SQLite-PublicDomain pkg:generic/sqlite@3.53.4
SQLite test_demovfs.c -- LicenseRef-SQLite-PublicDomain --
sqlite-vec v0.1.9 MIT pkg:github/asg017/sqlite-vec@v0.1.9

2. Components used only by the test suite

Component Version License Package URL
github.com/google/pprof v0.0.0-20260802141513-ef3492d7dac3 Apache-2.0 AND BSD-3-Clause pkg:golang/github.com/google/pprof@v0.0.0-20260802141513-ef3492d7dac3
modernc.org/fileutil v1.4.0 BSD-3-Clause pkg:golang/modernc.org/fileutil@v1.4.0

3. Components in the module graph, not compiled into anything

Component Version License Package URL
github.com/chzyer/readline v1.5.1 MIT pkg:golang/github.com/chzyer/readline@v1.5.1
github.com/hashicorp/golang-lru/v2 v2.0.7 MPL-2.0 AND BSD-3-Clause pkg:golang/github.com/hashicorp/golang-lru/v2@v2.0.7
github.com/ianlancetaylor/demangle v0.0.0-20250417193237-f615e6bd150b BSD-3-Clause pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20250417193237-f615e6bd150b
github.com/mattn/go-isatty v0.0.24 MIT pkg:golang/github.com/mattn/go-isatty@v0.0.24
github.com/ncruces/go-strftime v1.0.0 MIT pkg:golang/github.com/ncruces/go-strftime@v1.0.0
golang.org/x/mod v0.41.0 BSD-3-Clause pkg:golang/golang.org/x/mod@v0.41.0
golang.org/x/sync v0.23.0 BSD-3-Clause pkg:golang/golang.org/x/sync@v0.23.0
golang.org/x/tools v0.50.0 BSD-3-Clause pkg:golang/golang.org/x/tools@v0.50.0
modernc.org/cc/v4 v4.29.7 BSD-3-Clause pkg:golang/modernc.org/cc/v4@v4.29.7
modernc.org/ccgo/v4 v4.36.1 BSD-3-Clause pkg:golang/modernc.org/ccgo/v4@v4.36.1
modernc.org/gc/v2 v2.6.5 BSD-3-Clause pkg:golang/modernc.org/gc/v2@v2.6.5
modernc.org/gc/v3 v3.1.5 BSD-3-Clause pkg:golang/modernc.org/gc/v3@v3.1.5
modernc.org/goabi0 v0.2.0 BSD-3-Clause pkg:golang/modernc.org/goabi0@v0.2.0
modernc.org/opt v0.2.0 BSD-3-Clause pkg:golang/modernc.org/opt@v0.2.0
modernc.org/sortutil v1.2.1 BSD-3-Clause pkg:golang/modernc.org/sortutil@v1.2.1
modernc.org/strutil v1.2.1 BSD-3-Clause pkg:golang/modernc.org/strutil@v1.2.1
modernc.org/token v1.1.0 BSD-3-Clause pkg:golang/modernc.org/token@v1.1.0

4. Third-party material in the repository, outside any build

Component Version License Package URL
SQLite TCL test suite -- LicenseRef-SQLite-PublicDomain --

What these documents do not claim

  • No file-level hashes or a package verification code: filesAnalyzed is false throughout. The documents describe components, not a file manifest.
  • No build attestation or signature. These say what is in the tree, not who built a given binary from it.
  • The upstreams reached through a dependency's notices carry no version. The notice names the project, not the revision that was vendored, and guessing one would be worse than saying so.
  • The subject's own version is NOASSERTION. The document describes a source tree; the release tag is applied later, by hand, once the builders are green.
  • Timestamps are fixed at the Unix epoch and the SPDX document namespace is derived from the document's content. Both are deliberate: a regenerated document for an unchanged tree is byte-identical, which is what makes licgen -check meaningful. The real date of the document is the date of the commit that last changed it.