Safeguard
Security Guides•

Why does a forgotten beta API host bypass your rate limit?

OWASP's inventory scenario: the same API on a beta host without the rate limiter. Why controls in front of one host miss others, and how to check yours.

Safeguard Security Team
4 min read

Because the rate limit lived in a component in front of the production host, not in the API code. A second host running the same API, such as a beta one, skipped that component, so the endpoints were open without the control. The fix is an inventory of hosts and controls that do not depend on one front door.

The scenario from OWASP

OWASP's API Security Top 10 uses this story to illustrate improper inventory management. A social network added a rate limiting mechanism to stop brute force guessing of password reset tokens. The mechanism was not part of the API code. It sat in a separate component between the client and the official API host.

A researcher found a beta API host that ran the same API, including the reset password feature, but without the rate limiter. By brute forcing the six digit token there, the researcher could reset the password of any user.

The story is about a gap between what the team knew about, one official host, and what actually existed.

Why it happens

  • Controls are attached to a gateway, load balancer or web application firewall, not to the service.
  • New hosts are created for testing, a migration or a mobile beta and never added to the gateway.
  • Old versions stay up after a new version ships, connected to the same database.
  • DNS records outlive the project that created them.

OWASP names the questions a blind spot leaves unanswered: which environment is this host in, who should have network access, and which version is running. It also says outdated documentation and a missing retirement plan make things worse.

A check you can run this week

  1. List every hostname that serves your API: production, staging, beta, regional, partner specific and legacy. Use DNS records, gateway configs, cloud load balancers and mobile app configuration.
  2. For each, record environment, owner, version and who may reach it.
  3. Run the same abuse test on each host: repeated reset attempts, repeated logins, large page sizes.
  4. Compare results. Any host where a control is missing is a finding.
  5. Check that non production hosts do not connect to production data. OWASP notes different versions are sometimes connected to the same database with real data.
  6. Close or fix: put the host behind the same controls, restrict network access, or retire it.

Put controls where they cannot be skipped

ControlWeak placeStronger place
Rate limit on sensitive flowsEdge component for one hostnameAlso in the service, per account and per action
AuthenticationGateway onlyService verifies tokens itself
Network accessObscurity of the hostnameAllow lists and private networking
Version retirementInformalWritten date, owner and monitoring

Defence in depth means a missed host is limited by the service's own checks.

Mobile angle

Mobile apps often contain hostnames for beta, regional and older backends in their configuration, which makes those hosts easy for an attacker to find. Treat the app's config as a public host list, and make sure each entry is protected.

You can try the demo below to see how an API scan reports findings by endpoint, and run a free scan of your own at gold.safeguard.sh/scan. Safeguard's asset discovery is aimed at the inventory part of this problem.

Try it yourself

Click through it at your own pace, or open it full screen.

Notice that each finding belongs to a specific endpoint, which is why scanning every host matters.

Quick check

Is it enough to rate limit at the gateway?

Not on its own. Any host that bypasses the gateway skips the control. Add limits in the service for sensitive flows.

How do I find hosts I have forgotten?

Combine DNS records, cloud load balancer lists, gateway configuration and the hostnames inside your mobile apps.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.