Repository navigation
ci: add advisory OpenRabbit Reviewer - #30
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Strix security scan: vulnerabilities reportedCommit 81946d2 · exit code 2 · workflow run
Details are in the workflow run log. |
There was a problem hiding this comment.
Verdict
question
Primary Goal
Add a non-blocking, advisory PR review workflow that invokes the third-party OpenRabbit action using the repo's existing Strix model, API key, and Nimbusroute endpoint.
Overview
What this PR does
Adds a single new file, .github/workflows/openrabbit-reviewer.yml, which runs an advisory OpenRabbit review on pull_request events (opened, reopened, edited, synchronize). The job resolves the Strix model ID from secrets.STRIX_LLM, strips the openai/ prefix, and calls aryanbrite/openrabbit@0350c5ff... via the OpenRouter-compatible Nimbusroute endpoint. It never checks out PR code, uses continue-on-error: true on both the job and the OpenRabbit step, and posts COMMENT reviews only.
Scope
One new workflow file. No changes to existing CI, source code, or tests.
Notable points
- The third-party action is pinned by SHA, which is good supply-chain hygiene.
- However, the workflow passes
secrets.LLM_API_KEYandsecrets.GITHUB_TOKEN(withpull-requests: write) intoaryanbrite/openrabbitaswithinputs. If that action is compromised or logs its inputs, these secrets could be exfiltrated. - The repository already contains
.github/workflows/pr-review.yml; it's worth confirming whether this new workflow overlaps with or replaces it. - Fork PRs without credentials are effectively skipped because the configuration step exits early, but there is no explicit fork guard.
Scope Assessment
The change is tightly scoped to the stated goal: a new advisory review workflow. There is no DRIFT into unrelated files, and no changes to shared infrastructure, auth beyond the workflow's own permissions, DB schema, or public APIs.
Risk Assessment
The main risk is passing secrets (LLM_API_KEY and GITHUB_TOKEN with pull-requests: write) into a third-party action. A compromised or poorly written action could capture or log these values. The absence of checkout mitigates untrusted PR code execution, but does not protect secrets handed to aryanbrite/openrabbit.
Reuse Notes
- Existing workflow
.github/workflows/pr-review.ymlmay already cover PR review; verify whether consolidation is possible instead of running two reviewers.
Action Items
- Audit or document trust boundaries for
aryanbrite/openrabbit@0350c5ff79e6efb3ba92898a46a2e420ae1c526cbefore granting it access tosecrets.LLM_API_KEYandsecrets.GITHUB_TOKEN. - Avoid forwarding long-lived API keys as
withinputs to third-party actions; consider a first-party wrapper or a more narrowly scoped token if possible. - Confirm whether
.github/workflows/openrabbit-reviewer.ymlshould run alongside, or replace,.github/workflows/pr-review.ymlto avoid duplicate reviews. - Optionally add an explicit fork guard such as
if: github.event.pull_request.head.repo.fork == falseto make the skip behavior for credential-less forks intentional and visible.
| if: steps.configuration.outputs.ready == 'true' | ||
| continue-on-error: true | ||
| timeout-minutes: 12 | ||
| uses: aryanbrite/openrabbit@0350c5ff79e6efb3ba92898a46a2e420ae1c526c |
There was a problem hiding this comment.
security: This step passes secrets.GITHUB_TOKEN (with pull-requests: write) and secrets.LLM_API_KEY into a third-party action (aryanbrite/openrabbit). If that action is ever compromised, or logs its with inputs, those credentials could be exfiltrated. Has the action been audited? Is there a way to scope the token or key more narrowly?
| uses: aryanbrite/openrabbit@0350c5ff79e6efb3ba92898a46a2e420ae1c526c | ||
| with: | ||
| github_token: ${{ secrets.GITHUB_TOKEN }} | ||
| llm_api_key: ${{ secrets.LLM_API_KEY }} |
There was a problem hiding this comment.
security: Passing llm_api_key as a with input to an external action means the value may appear in that action's execution logs if it echoes inputs. GitHub masks registered secrets in job logs, but the action itself can still capture inputs before masking occurs. Consider not forwarding raw LLM API keys to third-party actions.
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| review: |
There was a problem hiding this comment.
reuse: The repository already has .github/workflows/pr-review.yml. Is this OpenRabbit workflow intended to complement or replace it? If they review the same PRs, consider consolidating to avoid duplicate review comments and noise for authors.
Adds advisory OpenRabbit reviews using the existing Strix model, API key and Nimbusroute endpoint. The action is pinned and posts COMMENT reviews only.
Uses pull_request with no checkout or execution of PR code; fork PRs without credentials explicitly skip. Model normalization uses a validated step output, with no GITHUB_ENV writes. These choices preserve the strict offline workflow-security gate. The review job and action remain nonblocking.
Validation: exact workflow diff review, YAML and Bash checks, and existing repository CI before normal SHA-bound merge. Full target-repository context is not claimed; the action reviews PR diffs via the API.