Skip to content

build: run backend/keycloak/powersync as non-root; update quinn-proto - #1197

Draft
ital0 wants to merge 2 commits into
mainfrom
cursor/sec-nonroot-containers-quinn
Draft

build: run backend/keycloak/powersync as non-root; update quinn-proto#1197
ital0 wants to merge 2 commits into
mainfrom
cursor/sec-nonroot-containers-quinn

Conversation

@ital0

@ital0 ital0 commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Fixes code-scanning alerts #10, #12, #13, #14 (dockerfile.security.missing-user*) and Dependabot alert #34 (GHSA-4w2j-m93h-cj5j, high).

Non-root containers

  • backend.Dockerfile — adds USER bun before the entrypoint. This is the only image that actually ran as root; the oven/bun base ships a bun user (uid 1000), the app only reads root-owned world-readable files, and port 8000 needs no privileges. Verified: image builds and id inside reports uid=1000(bun).
  • keycloak.Dockerfile / powersync.Dockerfile — the base images already end with USER 1000 (Keycloak) and USER 901 (PowerSync), so these containers were never root; Semgrep just can't see inherited USER directives. Explicit USER lines (with comments) make that visible to scanners and readers. Verified via image config inspection.

quinn-proto 0.11.14 → 0.11.15

Patch-level cargo update -p quinn-proto in src-tauri fixing GHSA-4w2j-m93h-cj5j (remote memory exhaustion via unbounded out-of-order stream reassembly; transitive dep via reqwest → quinn). Lockfile diff touches only the quinn-proto entry.

ital0 added 2 commits August 5, 2026 17:17
Address GHSA-4w2j-m93h-cj5j, a remote memory exhaustion issue caused by unbounded out-of-order stream reassembly.
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

Semgrep Security Scan

No security issues found.

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

PR Metrics

Metric Value
Lines changed (prod code) +8 / -0
JS bundle size (gzipped) 🟢 589.2 KB → 591.2 KB (+1.9 KB, +0.3%)
Test coverage 🟢 81.28% → 81.34% (+0.1%)
Performance (preview) Preview not ready — Render deploy may have timed out
Accessibility
Best Practices
SEO

Updated Wed, 05 Aug 2026 20:48:47 GMT · run #2607

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

Preview environment deployed 🚀

Service URL
Marketing / blog / docs https://thunderbolt-pr-1197.preview.thunderbolt.io
App https://app-pr-1197.preview.thunderbolt.io
API https://api-pr-1197.preview.thunderbolt.io
Keycloak https://auth-pr-1197.preview.thunderbolt.io
PowerSync https://powersync-pr-1197.preview.thunderbolt.io

Stack: preview-pr-1197 · Commit: 9e62bb18ae84225039bb6a7c756760bf50a95223

Auto-destroys on PR close/merge. Login via the bundled Keycloak realm — demo@thunderbolt.io / demo by default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant