Conversation
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThis pull request updates dependencies (gRPC, crypto, and networking libraries), hardens GitHub Actions output handling against delimiter injection by using randomized heredoc delimiters, and adds authorization validation to the ChangesSecurity Hardening and Dependency Updates
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested labels
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- command_handler.go: add OWNER/MEMBER/COLLABORATOR association check to handleUndo, matching the guard already present in handleClaudeCodeTrigger. Without this any commenter could forge a bot-looking comment and redirect issues to arbitrary repositories via /undo. - claude_code_handler.go: replace the fixed "EOF" heredoc delimiter in writeGitHubOutput with a random hex-suffixed delimiter (e.g. EOF_a3f9b2c1). A user-supplied value containing a literal newline+EOF sequence could otherwise inject extra key=value pairs into the GitHub Actions runner output. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Kavirubc <hapuarachchikaviru@gmail.com>
Replaces the pre-release dev pseudo-version with the stable tagged release. Also pulls in the corresponding stable patches for golang.org/x/crypto, golang.org/x/net, and google.golang.org/genproto/googleapis/api. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Kavirubc <hapuarachchikaviru@gmail.com>
30a2ff1 to
d643690
Compare

Summary
Security fixes
/undoauthorization bypass (internal/steps/command_handler.go): Any GitHub user who could comment on an issue could issue/undowith no permission check. Since the bot scans for its own "Transferred from" marker to find a transfer target, an attacker could plant a forged bot-looking comment and then post/undoto redirect the issue to any repository the bot token has write access to. Fixed by adding the sameOWNER/MEMBER/COLLABORATORassociation guard thathandleClaudeCodeTriggeralready enforces.GITHUB_OUTPUTheredoc injection (internal/steps/claude_code_handler.go):writeGitHubOutputused a hardcodedEOFheredoc delimiter. A collaborator whose comment contained the literal string\nEOF\ncould prematurely terminate the heredoc and inject arbitrary key=value pairs into the GitHub Actions runner output (e.g. overrideclaude_code_mode). Fixed by generating a random 8-byte hex-suffixed delimiter per call (e.g.EOF_a3f9b2c1).Dependency pinning
google.golang.org/grpc: upgraded fromv1.71.0-dev(pre-release) tov1.71.1(stable tagged release). Also pulls stable patches forgolang.org/x/crypto,golang.org/x/net, andgoogle.golang.org/genproto/googleapis/api.GitHub security features enabled (via API)
require_last_push_approvalenabledFull codebase audit notes
The deep audit (every
.gofile, all workflows, Dockerfile, action.yml, go.mod) found no additional vulnerabilities beyond the two fixed above. TLSInsecureSkipVerifyis not used, no hardcoded secrets, noexec.Commandwith user-controlled input, no expression injection in workflowrun:steps.Test plan
go build ./...andgo vet ./...pass (verified locally)go test ./...passes/undocomment is skipped (check logs)\nEOF\ndoes not inject extra GITHUB_OUTPUT variables🤖 Generated with Claude Code
Summary by CodeRabbit
Chores
Bug Fixes
/undocommand, restricting usage to repository owners, members, and collaborators.