05 — Untrusted input
An untrusted link never becomes a blind server request
Job links arrive inside third-party HTML, which makes them
attacker-influenced input. Before the server fetches any of
them, the target host has to survive a chain of checks — and the
chain is built to fail closed, so an unresolvable or ambiguous
host is blocked rather than assumed safe.
- Non-http(s) schemes and private, loopback or link-local addresses are refused
- Single-label internal hostnames are blocked outright
- A DNS failure blocks the fetch instead of letting it through
- Every redirect hop is re-validated, so a chain can't be steered inward