medium severityHelicone proxy/gateway rate limiter

Requests succeed despite exceeding configured rate limits when rate limiter subsystem fails (e.g., Cloudflare Durable Objects error, KV failure), leading to unexpected overuse/costs instead of expected 429 errors.

Root cause

Helicone's rate limiter uses fail-open strategy: errors in rate limit checks (network timeout, Durable Object crash, KV read failure) silently allow requests to pass through via try/catch blocks and failureMode: \"fail-open\" config, prioritizing availability over strict enforcement. Code in worker/src/lib/HeliconeProxyRequest/ProxyForwarder.ts implements this with empty catch block.

Heliconerate limitingfail-openCloudflare Durable Objectsedge case

Citations

Requests succeed despite exceeding configured rate limits when rate limiter subsystem fails (e.g., Cloudflare Durable Objects error, KV failure), leading to unexpected overuse/costs instead of expected 429 errors. — medium Severity | Agentifact Bug Library