docs(security): document the private follow-up path for pending reports - #4133
Conversation
SECURITY.md described how to file a report but not what to do after one is filed and quiet. Reporters had no stated route for a stalled private thread, no statement of what a public issue may contain in that situation, and no way to tell an acknowledgment apart from completed triage. Adds a public-or-private routing test, a follow-up section that keeps coordination in the private advisory thread and limits a public issue to coordination with no vulnerability detail or advisory identifiers, and an explicit statement that receipt is not triage and that a landed public patch does not close the corresponding private report. States plainly that no first-response target is published; review stays best-effort. README's security pointer carries the same three facts. Closes #4073
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 6 remain after this review. 📝 WalkthroughWalkthroughThe change updates security reporting documentation. It defines the private reporting channel, private follow-ups, public coordination limits, and response expectations. ChangesSecurity reporting documentation
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~5 minutes Severity of issue fixed: Low Merge Risk: ⚪ Minimal · up to This change clarifies secure vulnerability-reporting and follow-up guidance without changing runtime behavior. The documented reporting paths and expectations are aligned, with no current merge-readiness risk identified. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ 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 |
|
✅ Deterministic PR hygiene checks passed. |
리뷰 · 우선순위 48 / 80이 PR은 현재
메인테이너의 판단이 필요한 지점
너의 추천 이 댓글은 grok-bot이 작성했습니다 |
…e visibility The first draft said a defect 'plainly visible in code that is already published' could go to a public issue. opencodex is source-available, so that reading covers nearly every finding, and it contradicted the same file's rule that undisclosed vulnerabilities never start as public issues. The test is now whether the weakness is already public — fix shipped, or already described in a published advisory, issue, or pull request — with an explicit statement that being findable in the source is not disclosure.
Summary
SECURITY.mdexplained how to file a report but stopped there. A reporter whose privateadvisory had gone quiet had no stated follow-up route, no statement of what a public issue may
contain in that situation, and no way to tell an acknowledgment apart from completed triage —
which is the gap #4073 was opened to close.
Three additions, all wording only:
shipped, or it is already described in a published advisory, issue, or pull request. Being
findable in the source is explicitly called out as not disclosure, since opencodex is
source-available and the opposite reading would route nearly every finding into the open. When
unsure, file privately: a report can be moved to public review, not back.
thread. GitHub private vulnerability reporting is stated plainly as the only technical channel;
there is no security email. If that thread itself is stalled, a public issue may carry
coordination only — no reproduction, no exploit reasoning, no logs or attachments, no
affected-version narrowing, and no advisory identifiers or links, since naming the report in
public is itself a signal. A public maintainer reply confirms the route, not the content.
confirming they can reach the private queue, means the message arrived and nothing more. A
landed public patch does not close the corresponding private report or settle disclosure for
anything else. And there is no response deadline — stated explicitly so it is not read
into the acknowledgment or into the triage-step list.
README.mdcarries the same three facts next to its existing security pointer.No response-time target or SLA is introduced. Per @Ingwannu on #4073, a first-response target
needs @lidge-jun's agreement before it becomes a project commitment, so this PR states the
absence of one rather than proposing a number. No new reporting channel or email address is
invented either.
Closes #4073
Verification
git diff origin/dev— two files, documentation only. Nosrc/,gui/,scripts/, workflow,or test file is touched, and nothing in the build, typecheck, or test path reads
SECURITY.mdor
README.mdprose (rg 'SECURITY\.md' tests/ scripts/ .github/finds only.github/ISSUE_TEMPLATE/config.ymland.github/CODEOWNERS, neither of which asserts on text).SLA, an invented channel, contradictions with the existing text, any wording that would push
vulnerability detail into a public place, and Markdown/heading breakage. It returned FAIL on
the first draft of the public-or-private test — "visible in published code" contradicted lines
18, 26-27 and 85-86 of the same file — which is what
cf967c3d0rewrites; a re-audit of thecorrected text passed.
bun run typecheck, nobun run test, no build, no lint,no
bun install— per explicit maintainer instruction for this lane. Exact-head remote CI onthis PR is the gate.
Checklist
Nothing here changes behavior, and no secret, identifier, or unreleased finding appears in the
diff — the policy text is written so that following it keeps such material out of public view.
Summary by CodeRabbit