chore(codeql): resolve deploy scan findings - #6326
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 90e219a6e5
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Supabase CLI previewnpx --yes https://pkg.pr.new/supabase/cli/supabase@a98a27296dad73885778f2292fc524150828ce2fPreview package for commit |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1ee316d4c5
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. Nice work! Reviewed commit: ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback". |
avallete
left a comment
There was a problem hiding this comment.
Approving — the ownership fix is careful and well-tested, CI is green, and I verified the affected suites locally (serve integration, shadow-cache unit/integration). Non-blocking notes:
-
Shadow-cache key change invalidates every existing cached baseline.
legacyShadowCacheKeynow produces different values for identical inputs, so every existingshadow-baseline-<key>.tar(including the shared main-db tar pool) goes cold once — one full re-export per settings combination, with old tars lingering until the retention sweep ages them out. Fine, but worth a line in the PR description so nobody debugs the post-upgrade cache miss as a regression. -
Fixed-salt scrypt is rate-limiting, not real KDF protection. With a public constant salt and the deterministic requirement, offline brute-force stays possible — scrypt just makes each guess ~10⁴–10⁵× slower (~23 ms per call measured, so runtime cost per shadow acquire is negligible). Legitimate mitigation for low-entropy inputs like
db_password, and the comment explains the tradeoff honestly; just noting the alert is mitigated, not eliminated, if the filename ever gets exposed more broadly. -
Residual leak window on interrupt mid-
docker create. If the fiber is interrupted after the daemon creates the container but before the CLI observes the process exit,onContainerCreatednever fires and the container survives unowned. Inherent to the subprocess boundary, strictly better than the old failure modes, and self-healing — the nextfunctions serverun'sbestEffortRemoveContainerreclaims the fixed-name container. -
onContainerCreated?: () => voidis a non-Effect side channel on an otherwise Effect-native API — defensible here since it must fire inside the shared core's uninterruptible window and the state is per-invocation; a scoped/acquireReleaserestructure would touchstart's bring-up core for little gain. -
codeSafeJsonduplicated across two test files (deploy.live.test.ts,createStack.e2e.test.ts) — different workspaces with no shared test-helper package, so the 2-line local copy is the right call; noting only so nobody "fixes" it with a cross-package util.
TL;DR
Unblocks the production deploy: fixes the three new CodeQL alerts gating it and the container leak codex flagged on the same PR....
ref: