fix(sast): fix codeql SAST warning#2933
Merged
Merged
Conversation
Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
migmartri
reviewed
Mar 24, 2026
| Value: value, | ||
| Path: "/", | ||
| Expires: time.Now().Add(10 * time.Minute), | ||
| HttpOnly: true, |
Member
There was a problem hiding this comment.
this might break local development, have you tried?
Member
Author
There was a problem hiding this comment.
Yes, both CLI and UI auth work perfectly.
Member
Author
Member
Author
There was a problem hiding this comment.
But it's strange, as I agree it should fail locally. I'll dig deeper into this.
Member
Author
There was a problem hiding this comment.
Ok, it seems that only Safari would break. Others consider "localhost" as secure: httpwg/http-extensions#2605
There was a problem hiding this comment.
1 issue found across 1 file
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="app/controlplane/internal/service/auth.go">
<violation number="1" location="app/controlplane/internal/service/auth.go:443">
P1: Forcing `Secure: true` on OAuth cookies breaks HTTP environments (including local/dev), causing callback cookie reads to fail and abort login.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
migmartri
approved these changes
Mar 24, 2026
Set HttpOnly and SameSite on OAuth cookies to address CodeQL SAST findings. Secure flag is conditionally set based on server.Version to avoid breaking local development over HTTP. Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
This reverts commit 3774b55. Signed-off-by: Jose I. Paris <jiparis@chainloop.dev>
sonarly Bot
pushed a commit
that referenced
this pull request
Mar 26, 2026
https://sonarly.com/issue/18814?type=bug PR #2933 unconditionally set `Secure: true` on OAuth cookies in `setOauthCookie`, causing browsers to reject cookies over HTTP and completely breaking the OAuth login flow in local development environments. Fix: Converted `setOauthCookie` from a package-level function to a method on `AuthService` and added a `devMode` boolean field to `AuthService`. In development mode (detected by `authConfig.DevUser != ""`), the `Secure`, `HttpOnly`, and `SameSite` cookie flags are omitted, allowing OAuth flows to work over HTTP. Changes: 1. Added `devMode bool` field to `AuthService` struct 2. Set `devMode` in the constructor using `authConfig.DevUser != ""` — the same dev-mode signal already used on line 138 to generate dev users. This avoids importing `server.Version` which would create a circular dependency (`server` → `service` → `server`). 3. Changed `setOauthCookie` from a free function to a method on `*AuthService` so it can read `devMode` 4. Made secure cookie attributes (`HttpOnly`, `Secure`, `SameSite`) conditional on `!svc.devMode` 5. Updated all 3 call sites from `setOauthCookie(...)` to `svc.setOauthCookie(...)` In production, `authConfig.DevUser` is empty, so cookies retain all security attributes. In dev mode, cookies work over HTTP. Note: The issue suggests using `server.Version == "dev"`, but that creates a circular import (`server` imports `service`). Using `authConfig.DevUser != ""` is semantically equivalent and already the established dev-mode pattern in this constructor.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Add cookie settings for OAuth to fix CodeQL errors: https://github.com/chainloop-dev/chainloop/actions/runs/23467110462