Backend Dependency Update Assessment
Backend Go dependency update assessment
Date: 2026-06-22
Baseline: docs/audits/dependency-update-baseline.md
Scope: Go module dependencies under backend/go.mod and backend/go.sum. This assessment does not change go.mod or go.sum.
Commands and evidence#
1$ cd backend && mise exec -- go list -m -u -json all > /tmp/assistance-go-list-updates.json2exit: 0Parsed summary:
1modules with newer versions available: 49Security-sensitive or runtime-relevant modules with updates available:
1github.com/gin-gonic/gin v1.11.0 -> v1.12.02github.com/jackc/pgx/v5 v5.6.0 -> v5.10.03github.com/lib/pq v1.10.9 -> v1.12.34github.com/meilisearch/meilisearch-go v0.36.1 -> v0.36.35golang.org/x/crypto v0.47.0 -> v0.53.06golang.org/x/net v0.48.0 -> v0.56.07golang.org/x/sys v0.40.0 -> v0.46.08golang.org/x/text v0.33.0 -> v0.38.09golang.org/x/tools v0.40.0 -> v0.46.010google.golang.org/protobuf v1.36.9 -> v1.36.11Modules checked that are already current or had no update shown in the focused output:
1github.com/golang-jwt/jwt/v5 v5.3.12gorm.io/driver/postgres v1.6.03gorm.io/gorm v1.31.11$ cd backend && mise exec -- govulncheck -version2mise ERROR "govulncheck" couldn't exec process: No such file or directorygovulncheck is not installed in the current managed environment, so vulnerability reachability was not proven by this audit.
1$ cd backend && mise exec -- go test ./...2exit: 0Representative output:
1ok github.com/assistance/backend/internal/auth/handler2ok github.com/assistance/backend/internal/auth/service3ok github.com/assistance/backend/internal/billing/service4ok github.com/assistance/backend/internal/shared/middlewareAssessment#
Yes, backend dependencies need routine update work. The current evidence does not prove an urgent reachable Go vulnerability, but it does show enough stale runtime/security-sensitive modules to justify a planned backend dependency update branch.
Prioritized update candidates#
Priority 1 — Go vulnerability tooling#
Before changing modules, add or run govulncheck through the managed toolchain.
Recommended one-off check:
1cd backend2mise exec -- go run golang.org/x/vuln/cmd/govulncheck@latest ./...If this project prefers declared tooling only, add a documented mise/Makefile task instead of relying on a developer's global binary.
Priority 2 — golang.org/x/* security-maintenance batch#
These are common security advisory targets and should be kept fresh:
1golang.org/x/crypto v0.47.0 -> v0.53.02golang.org/x/net v0.48.0 -> v0.56.03golang.org/x/sys v0.40.0 -> v0.46.04golang.org/x/text v0.33.0 -> v0.38.05golang.org/x/tools v0.40.0 -> v0.46.0Recommended command for a focused branch:
1cd backend2mise exec -- go get golang.org/x/crypto@v0.53.0 golang.org/x/net@v0.56.0 golang.org/x/sys@v0.46.0 golang.org/x/text@v0.38.0 golang.org/x/tools@v0.46.03mise exec -- go mod tidy4mise exec -- go test ./...Priority 3 — HTTP/database/search runtime modules#
Candidate patch/minor updates:
1github.com/gin-gonic/gin v1.11.0 -> v1.12.02github.com/jackc/pgx/v5 v5.6.0 -> v5.10.03github.com/lib/pq v1.10.9 -> v1.12.34github.com/meilisearch/meilisearch-go v0.36.1 -> v0.36.35google.golang.org/protobuf v1.36.9 -> v1.36.11These touch request routing, database access, search integration, and serialization. They are reasonable routine updates, but should be verified with backend tests plus at least service build proof.
Suggested verification:
1cd backend2mise exec -- go test ./...3make build-allor from root:
1mise run build:backend2mise run backend:testPriority 4 — indirect cleanup#
go list -m -u all reports many indirect updates (for example bytedance/sonic, validator, goccy/go-json, quic-go, brotli, mimetype). These should usually be allowed to resolve through direct dependency updates and go mod tidy, not manually pinned one by one unless a vulnerability or compatibility issue requires it.
Recommendation#
Do update backend dependencies, but in a dedicated backend branch, not as part of a broad frontend lockfile update.
Recommended sequence:
- Run or add
govulncheckso vulnerability reachability is known. - Apply a focused
golang.org/x/*security-maintenance update batch. - Apply runtime module updates (
gin,pgx,lib/pq,meilisearch-go,protobuf) in one or two small batches. - Run
mise exec -- go test ./...andmise run build:backendbefore merging.
No emergency backend update was proven by the commands available in this audit, but the stale golang.org/x/* and runtime modules make a planned update advisable.