ADR-164 §5.1.8 — HTTP probe primitive for business-pod ops benches (synthetic 200/500 endpoint checks, third-party status pages). Default-secure: blocks file://, ftp://, RFC-1918 / loopback / link-local hosts unless CLAUDE_FLOW_HTTP_FETCH_ALLOW_PRIVATE=1, and rejects Authorization / Cookie / X-Au...
AI agents call http_fetch to retrieve information from Ruflo without modifying anything — typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
http_fetch retrieves data from HTTP endpoints and checks their status with no side effects on the retrieved resource. This is fundamentally a Read operation. Severity is medium rather than low because: (1) an agent could be manipulated to probe internal/sensitive endpoints if security controls (environment variables CLAUDE_FLOW_HTTP_FETCH_ALLOW_PRIVATE, CLAUDE_FLOW_HTTP_FETCH_ALLOW_AUTH) are misconfigured, (2)…
From the tool's definition Tool is described as 'HTTP probe primitive' for 'synthetic 200/500 endpoint checks, third-party status pages' — core functionality is retrieving HTTP responses without modification.
Attacks that exploit this kind of access
ADR-164 §5.1.8 — HTTP probe primitive for business-pod ops benches (synthetic 200/500 endpoint checks, third-party status pages). Default-secure: blocks file://, ftp://, RFC-1918 / loopback / link-local hosts unless CLAUDE_FLOW_HTTP_FETCH_ALLOW_PRIVATE=1, and rejects Authorization / Cookie / X-Auth-* headers unless CLAUDE_FLOW_HTTP_FETCH_ALLOW_AUTH=1. Hard 30s timeout (60s ceiling), response truncated to 256 KB (1 MB ceiling), default User-Agent ruflo-http-fetch/1.0. Use when a pod or smoke contract needs a guarded HTTP probe — calling Node fetch() directly is wrong because it skips the URL allowlist and header sanitization that ADR-164 mandates for autopilot mode. Pair with the ops-pod bench in plugins/ruflo-business-pods/templates/ops.json (the §4.4 synthetic-endpoint test). It is categorised as a Read tool in the Ruflo MCP Server, which means it retrieves data without modifying state.
Register the Ruflo MCP server in PolicyLayer and add a rule for http_fetch: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Ruflo. Nothing to install.
http_fetch is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the http_fetch rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for http_fetch. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
http_fetch is provided by the Ruflo MCP server (ruvnet/ruflo). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
http_fetch is one line of Ruflo's registry record.
The record carries the whole server: verified identity, auth posture, risk grade, every tool classified, recommended policy — re-checked continuously.
Teams ship this data inside their own products. See what a licence covers →