Flagsmith / Flagsmith/flagsmith
Spike: Shared egress policy
- Dominant language
- Python
- Stars
- 6.6k
- Forks
- 567
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 121
Description
For better SSRF prevention, we should consider enforcing shared requirements/limitations for all outbound HTTP traffic Flagsmith's backend produces, such as:
- resolve first
- reject private, loopback, link-local and CGNAT ranges
- refuse redirects
We must understand which of the above should apply to which of the calls we make, and come up with a policy shared by all `urlopen` calls in the codebase.
Contributor guide
Research direction
Start by inventorying the backend's outbound HTTP calls and every `urlopen` call in the codebase. Review which calls need DNS resolution, private or special-range rejection, and redirect refusal, then document a shared egress policy and its per-call applicability. Done means the policy decisions and affected call sites are identified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100