fix(security): pseudonymize policy override audit identifiers - #267
fix(security): pseudonymize policy override audit identifiers#267seonghobae wants to merge 26 commits into
Conversation
|
Warning Review limit reached
Next review available in: 22 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: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (30)
Comment |
|
@coderabbitai review @opencode-agent @cwl-noema-review Independently review exact current head |
Rate Limit Exceeded
|
Pull request was converted to draft
|
Superseded by draft #270. #270 preserves this exact reviewed audit-pseudonymization tree and adds the repository-wide Netty 4.1.136 remediation plus deterministic CycloneDX/attribution evidence required by the current security gate. Keeping both PRs open would duplicate ownership and force the same privacy tree through two independent merge paths. No #267 check or review is reused as final evidence for #270; #270 must pass fresh exact-head checks, current reviews, counted independent approval, and branch protection. |
|
Closing as superseded by integrated replacement #270. #270 exact head |
Security objective
Remove raw policy-override approver identifiers from application logs without replacing them with dictionary-attackable unkeyed hashes, and reject weak or reused HMAC material before conversion endpoints accept traffic.
This clean pull request supersedes #165. The prior agent-managed branch repeatedly received unrelated Netty/SBOM workflow commits after its reviewed exact head, including write-scoped self-mutating workflows. This branch is pinned directly to the last reviewed privacy tree and contains none of those unrelated commits.
Changes
AuditPseudonymizerfor low-entropy audit identifiers.approverFingerprint=<key-version>:<128-bit hex>instead ofapproverId.absentand non-correlatableunavailablemarkers; never fall back to plaintext or unkeyed identifier hashing.v1, while rejecting every invalid explicit value without trimming it into a different valid identifier.CHANGELOG.md.Review history carried forward
CodeRabbit's valid findings on the reviewed tree were addressed: duplicate
[Unreleased]sections, invalid trailing-newline handling, the uncovered disabled policy-key startup path, key-version validation, key separation, config-tree sourcing, provider restoration, documentation precision, and captured-log requirements. The prior Strix weak-policy-key finding was also addressed. The final tree removes unreachable branches rather than weakening coverage and exercises carriage-return sanitization.Exact-head evidence
Exact head
6e311edd1c21f30eacbfcdb8d92a903e587c76d0is based directly on protectedmainatf3cc09a9838f0f88c81a2ceae22138fab80a2edb.Fresh checks attached to this clean PR completed successfully:
31005771331: success.31005771301: success.31005771293: success.31005771307: success.No cancelled run from the earlier duplicate trigger is counted as evidence.
Security ordering
Exact-head Strix review of this source tree also surfaced a repository-wide Netty
4.1.135.Finaldependency finding that is unrelated to the audit-pseudonymization code. That remediation is intentionally isolated in draft PR #269. Do not fold #269's POM, generated SBOM, attribution, or workflow history into this PR.#269 must complete its generated buyer evidence, pass every exact-head gate, receive counted independent approval, and integrate first. This branch must then be reconciled onto the resulting protected
mainand receive fresh checks/reviews. Previous green results remain provenance only after that reconciliation.Merge gate
Keep this PR draft. After #269 integrates, reconcile the same bounded privacy tree onto protected
main, then require fresh exact-head CI, Security Scan, SAST, every fuzz job, Strix/OpenCode/Noema evidence, CodeRabbit review, zero unresolved threads, and an independent approving reviewer with repository write permission. Do not bypass branch protection, weaken tests, or treat advisory bot output as counted approval.