docs(security): restack coordinated vulnerability disclosure after nanoid - #95
Open
seonghobae wants to merge 11 commits into
Open
docs(security): restack coordinated vulnerability disclosure after nanoid#95seonghobae wants to merge 11 commits into
seonghobae wants to merge 11 commits into
Conversation
📝 WalkthroughWalkthrough공개 보안 정책과 취약점 처리 수명주기 문서를 추가했습니다. GitHub 비공개 취약점 신고 상태를 읽기 전용으로 검증하는 감사 프로브와 운영 런북을 추가했습니다. 프로브는 제한된 JSON 응답과 감사 결과를 검증합니다. Changes보안 취약점 운영
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant 운영자
participant 감사스크립트
participant GitHubAPI
participant 감사보고서
운영자->>감사스크립트: 저장소와 출력 경로 지정
감사스크립트->>GitHubAPI: 비공개 신고 상태 GET 요청
GitHubAPI-->>감사스크립트: JSON enabled 응답
감사스크립트->>감사스크립트: 응답 및 상태 평가
감사스크립트->>감사보고서: PASS 또는 FAIL 결과 저장
감사스크립트-->>운영자: 결과 출력 및 종료 코드 반환
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 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 |
seonghobae
marked this pull request as ready for review
August 10, 2026 11:18
This was referenced Aug 10, 2026
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@test/private-vulnerability-reporting-adapter.test.ts`:
- Around line 42-47: Strengthen the oversized-response test around
readBoundedJson by making streamedResponse’s body access or getReader invocation
fail, or by asserting it is never invoked. Preserve the existing size-limit
rejection assertion while verifying that a response exceeding Content-Length is
rejected before any body access.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: fa4596dd-b6f4-4e44-9e34-64dee60507a5
📒 Files selected for processing (10)
CHANGELOG.mdSECURITY.mddocs/doctoring/vulnerability-disclosure.mddocs/security/private-vulnerability-reporting-audit.mddocs/security/vulnerability-handling.mdscripts/lib/private-vulnerability-reporting-audit.mjsscripts/private-vulnerability-reporting-audit.mjstest/private-vulnerability-reporting-adapter.test.tstest/private-vulnerability-reporting-audit.test.tstest/security-policy-contract.test.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Clean protected-main successor for closed stale PR #72 after #76 integrated. This PR starts from protected
mainc85d710804139c0697d7ef8fa47d02b1389e6d84and preserves the coordinated vulnerability-disclosure policy, handling lifecycle, bounded private-reporting status audit, tests, standards doctoring, and one current-baseline## Unreleasedchangelog entry without replaying #72's pre-#76 package/workflow state.Exact source / scope
docs/coordinated-vulnerability-disclosure-on-main;1fc38bb3234f1ffca35989c52682ee76fce45b9b;main:c85d710804139c0697d7ef8fa47d02b1389e6d84;CHANGELOG.md,SECURITY.md, disclosure doctoring/runbooks, bounded setting probe and three executable policy/audit regressions;Historical PR #72 is closed unmerged; its old checks/reviews do not transfer.
Preserved security boundary
enabled === truesemantics;Review remediation
CodeRabbit review of predecessor exact head
525aea3279ca3dcb4d84ff124496d6f338a7cf05identified one valid test-contract weakness: the declared oversized-response regression asserted the size-limit error but did not prove the response body was never accessed beforeContent-Lengthrejection.Current head adds a response fixture whose
bodygetter throws if touched, preserving the expected size-limit rejection. The addressed inline review thread is resolved. Production bounded-reader behavior is unchanged.Fresh exact-head technical evidence
For unchanged current head
1fc38bb3234f1ffca35989c52682ee76fce45b9b:cirun31383398820: terminal success;reviewer-cirun31383399170: terminal success;Security Scanrun31383398494: terminal success under its own scanner/revision semantics;Technical green evidence is not live ruleset evidence or qualifying independent approval.
Operational boundary
This source does not prove that GitHub private vulnerability reporting is enabled, that an external reporter sees the private-reporting entry point, that notifications route correctly, that two independent security owners are staffed, or that a benign end-to-end private advisory exercise has passed. Issue #73 retains those administrator/operational acceptance requirements. A passing setting probe is setting evidence only and cannot substitute for review, branch governance, release, deployment, KPI or acquisition evidence.
Merge / protected-main acceptance
The implementation line is technically stable and Ready for review. Merge remains fail closed on the actual live #27/#29 governance and eligible independent-review path. After protected merge, run the read-only setting probe from protected source and retain its evidence separately from #73 reporter/UI/staffing/exercise acceptance.
No protection bypass, synthetic approval, version bump, release or claim of operational private reporting is introduced.
Related: #27, #29, #72, #73