feat(gateway): trust forwarded IPs only from trusted proxies - #157
Draft
seonghobae wants to merge 38 commits into
Draft
feat(gateway): trust forwarded IPs only from trusted proxies#157seonghobae wants to merge 38 commits into
seonghobae wants to merge 38 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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 |
This was referenced Sep 2, 2026
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.
Preservation lane — do not merge independently
This Draft preserves reviewed trusted-proxy hostile/fuzz evidence from the earlier clean stack. Its exact head remains
65a2b7fbf2827f69ae1aa288696b6c5630af28c4, but its base is the superseded runner prerequisite branch#153@b663f9d200e5f385c7dd067d074940a02836c68e. #153 is now Draft because the sole same-path workflow writer is #159, which non-force carries the explicit hosted-runner prerequisite plus queue-pressure repair.PR #165 is the current trusted-client-attribution feature owner on protected
main. It has since repaired the canonical Runtime Configuration boundary, current review findings, literature traceability, and canonical trusted-CIDR fail-closed rule. This older branch must not become a second production owner.It also must not be closed yet. Fresh delta comparison shows this branch still contains unique security evidence that #165 has not fully carried: the
fuzz_trusted_forwarded_client_iptarget and corpus, fuzz invariants, and additional trusted-proxy admission regressions. Its.github/workflows/fuzz.ymlmodification cannot be copied into #165 now because #159 is the sole writer for that workflow surface.Dependency order is therefore:
mainthrough normal exact-head governance;mainas the canonical Runtime Configuration foundation;Security behavior to preserve: forwarded identity is trusted only from configured proxy CIDRs; malformed chains fail closed to the direct peer/unknown identity; direct
build_app(state)remains usable without trusting forwarded headers; trusted chains are parsed right-to-left with observed IPv4-mapped-address normalization; hostile unit/property/fuzz and operations evidence remain part of acceptance.No predecessor evidence transfer, self/model approval, feature-branch final merge, force push, destructive rebase, routine bypass, or gate weakening.