ci: enable advisory AI review #3
Loading…
Reference in a new issue
No description provided.
Delete branch "ci/ai-review-auto"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Auto-rollout: adds the org-standard advisory AI review step (broker-based, OpenCode OAuth gpt-5.5 medium, grob fallback). failure: ignore — never merge-blocking. See forgejo-infra grob/README.md.
AI Review —
openai/gpt-5.5 (medium, OAuth)advisory; generated by review-broker; never merge-blocking
Verdict: needs changes: the new advisory review step likely fails at runtime because the shell quoting is incorrectly escaped inside a YAML block scalar.
Issues Found
Blocker: curl command arguments are broken by escaped quotes
.woodpecker.yml:16In a
|block scalar,\"is passed literally tosh; it does not start shell quoting. This splits theAuthorizationheader and JSON payload into invalid arguments, so the review call will likely fail every PR.Concrete fix:
Better fix if available in the image: use
jq -nto avoid hand-built JSON.Potential security concern: PR pipeline receives a bearer token
.woodpecker.yml:10This step injects
review_broker_keyinto apull_requestpipeline. If Woodpecker exposes this secret to PRs from untrusted forks, a malicious PR could modify.woodpecker.ymlto exfiltrate it.Concrete fix: confirm Woodpecker secret policy for forked PRs, and restrict this secret/step to trusted repositories or non-fork PRs if supported. If fork PRs are allowed, do not expose
review_broker_keyto PR-triggered pipelines.Security / Data Handling / HIPAA-Adjacent
No credential is present in the diff itself. The only sensitive item is the referenced
review_broker_keysecret. The request payload only sends repo name and PR number, so there is no obvious PHI/HIPAA-adjacent data handling concern in this diff. The bearer token exposure risk above should be resolved before merge.