fix(dex): restrict GitHub connector to maintainers - #2708
Conversation
|
|
@cursor review |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_0332c8f2-c155-4053-904c-bfb3fb611e0d) |
|
|
@cursor review |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_e86c2229-03e3-40ea-ac27-385d537ece25) |
| # oauth2-proxy's allowed_groups layer. Restrict the shared | ||
| # GitHub connector to the same maintainer team so native OIDC | ||
| # apps cannot be accessed by every organization member. | ||
| teams: |
There was a problem hiding this comment.
🤖 Generated by the Agentic Engineer
[P1] Keep the team gate at the Actual-specific boundary
This teams entry is on the only GitHub connector, so it affects every Dex client, not just Actual Budget. Current main registers oauth2-proxy, Headlamp, Vault, KSail, Crossview, and kubectl on this connector; docs/oidc-kubectl.md explicitly permits any devantler-tech organization member, and the current Crossview configuration intentionally treats any organization member as its effective gate. Merging this therefore silently revokes those documented access paths for every non-maintainers member. Enforce the restriction at an Actual-specific boundary, such as a dedicated client or proxy with an app-scoped gate, and add positive and negative authentication coverage proving the other Dex consumers retain their current organization-member policy.
✅
|
Closing as a duplicate of #2709, which supersedes this. The functional change is identical — both add exactly: teams:
- maintainersto the Dex GitHub connector. Only the explanatory comment above it is worded differently. #2709 additionally corrects two security comments that this change makes wrong: Nothing here is lost by closing — #2709 contains it and more. No unaddressed finding was raised on |

Motivation
devantler-tech) while Actual Budget lacked an app-level allow-list.Description
teams: - maintainersunder the GitHub connectororgsentry ink8s/bases/infrastructure/controllers/dex/helm-release.yaml, so Dex logins require membership ofdevantler-tech:maintainers(commit:fix(dex): restrict github connector to maintainers).Testing
ruby -e 'require "yaml"; YAML.load_file("k8s/bases/infrastructure/controllers/dex/helm-release.yaml")'parsed the file successfully,python3 scripts/validate-naming.pypassed, andpython3 scripts/validate-embedded-json.pypassed;kubectl kustomize/ksail workload validatecould not be run in this environment becausekubectl/ksailare not installed.Codex Task