feat(cloud-agent-next): keep managed Git credentials out of sandboxes#3665
feat(cloud-agent-next): keep managed Git credentials out of sandboxes#3665eshurakov wants to merge 2 commits into
Conversation
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Executive SummaryThe incremental commit ( Resolved Issues
Files Reviewed (5 files in incremental diff)
Fix these issues in Kilo Cloud Reviewed by claude-4.6-sonnet-20260217 · 270,476 tokens Review guidance: REVIEW.md from base branch |
410282b to
ec9e82d
Compare
ec9e82d to
c95c292
Compare
pandemicsyn
left a comment
There was a problem hiding this comment.
lgtm, one thing inline. Based on the PR body not entirely sure if this is actually breaking the implied security contract or not.
| ); | ||
| const upstreamFailure = | ||
| claims.version === 2 | ||
| ? validateGitHubCapabilityUpstream(params.requestUrl) |
There was a problem hiding this comment.
Ok robot flagged this:
"v2 GitHub capabilities are host-scoped rather than repo/path-scoped during redemption, allowing sandbox code to exchange a repo capability for a real token on any allowed GitHub host endpoint that the underlying token can access.
So a capability issued for acme/repo can be redeemed for requests like:
- https://api.github.com/graphql
- https://api.github.com/user/repos
- https://api.github.com/repos/acme/other/...
- https://uploads.github.com/repos/acme/other/...
- https://github.com/acme/other.git/...
”
I think its interpreting that as a regression based on this comment in the PR body:
Bind capabilities to the repository, provider auth surface, selected credential identity, and outer Sandbox Durable Object container ID so replay from another sandbox fails closed before provider lookup.
Summary
git-token-servicethrough sandbox outbound interception.Verification
Visual Changes
N/A
Reviewer Notes
git-token-service, then deploycloud-agent-next.kgh1.*/kgl1.*issuance and redemption support after the one-hour compatibility window./api/v4/**and/api/graphqlaccess forglab; Git smart HTTP and LFS control paths remain repository-bound.