chore: route security reports to private advisories#21
Conversation
SECURITY.md:16 directs reporters to GitHub Private Vulnerability
Reporting, but the issue chooser had no route to it. With
blank_issues_enabled: false, someone holding a credential-leak bug
lands on the public Bug Report form.
Add the advisory link as the FIRST contact_link. Ordering is the
substance here: the chooser is three rows, and a reporter should not
have to read past two Discussions links to find the private channel.
Verified private vulnerability reporting is enabled on the repo
(GET /repos/alibaba/open-code-review/private-vulnerability-reporting
returns {"enabled":true}), so the link resolves to a live form.
|
Warning Review limit reached
Next review available in: 3 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✨ 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 |
There was a problem hiding this comment.
Code Review
This pull request updates the GitHub issue configuration by adding a contact link for reporting security vulnerabilities privately. There are no review comments, and I have no feedback to provide on these changes.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
@coderabbitai review |
✅ Action performedReview finished.
|
Description
SECURITY.mdis already strong — it uses GitHub Private Vulnerability Reporting (:16),commits to concrete SLAs (3/7/14 days,
:27-29), defines in/out scope, and documentsgh attestation verify(:53).The issue chooser has no route to it.
.github/ISSUE_TEMPLATE/config.ymloffers only twoDiscussions links, and
blank_issues_enabled: falsemeans a reporter cannot open a freeformissue either. So someone holding a credential-leak bug arrives at the chooser, finds no security
option, and files on the public Bug Report form — which is exactly the outcome
SECURITY.mdexists to prevent.
Having no security template is the correct pattern; routing to private reporting is right. Only
the route was missing.
Ordering is the substance here, not a detail
With
blank_issues_enabled: falsethe chooser is three rows. Someone holding a vulnerabilityshould not have to read past two Discussions links to find the private channel, so the security
row goes first. Peers all do this —
pallets/flask,typeorm/typeorm,envoyproxy/envoy.The URL is byte-identical to the one already in
SECURITY.md:16, so there is no second sourceof truth to drift.
Verification
Private vulnerability reporting is actually enabled on this repo, so the link resolves to a live
form rather than a 404:
I used that endpoint deliberately:
curling the advisory URL anonymously returns a 302 to/login, which proves nothing either way, and--jq .security_and_analysiscomes back emptybecause that field is admin-only.
Also checked:
yaml.safe_loadparses the file;contact_links[0]['name']is the 🔒 row, 3 rows total\U0001F512escape form matches the file's existing style for the other two entriesSECURITY.md:16exactly (one occurrence in each file)Limitations
proves the YAML chrome is valid — a fork does not necessarily have private vulnerability
reporting enabled, so a fork render does not re-verify that the link works for this repo.
Those are two separate claims and I'm keeping them separate: the API call above is the evidence
for the second one.
.github/ISSUE_TEMPLATE/config.yml, so thetestcheck on this PRdoes not exercise this change.
Type of Change
How Has This Been Tested?
gh api repos/alibaba/open-code-review/private-vulnerability-reporting→{"enabled":true}yaml.safe_loadparses; security row asserted to becontact_links[0]SECURITY.md:16Checklist
SECURITY.mdalreadydocuments the process; this only adds the missing route to it)
AI assistance: Claude Code helped research and verify this change. I reviewed the full diff
and take responsibility for it.