Glossary

Server-Side Request Forgery (SSRF)

The Team at CSToday

What It Is

Server-Side Request Forgery occurs when an application accepts a user-supplied URL or resource identifier and fetches it on the server side without sufficient validation. The server becomes an unwitting proxy, reaching internal networks, cloud metadata services, localhost endpoints, or external targets chosen by the attacker. Classic targets include cloud instance metadata endpoints such as 169.254.169.254, internal REST APIs, database admin interfaces, and file:// URIs that read local files.

The vulnerability class has grown in relevance as modern architectures adopt microservices, serverless functions, and heavy third-party integrations. Each outbound HTTP client, PDF renderer, image processor, or webhook handler represents a potential SSRF vector if it processes attacker-controlled input.

Why It Matters for AI Visibility

AI crawlers and LLM-driven tool-use features increasingly perform server-side fetches on behalf of users. A retrieval-augmented generation pipeline that accepts a URL from a prompt and fetches it for grounding, a rendering service that screenshots a user-supplied link for an AI overview, or an llms.txt generator that follows discovered links can all become SSRF conduits.

For law firms and healthcare practices, the stakes are specific. An SSRF exploit against an AI visibility pipeline could expose internal case management APIs, patient record identifiers, or authentication tokens stored in cloud metadata. The same infrastructure that makes your content citable by answer engines must not become a bridge into your regulated environment.

CSToday's AI Crawler Access Check (/tools/crawler-access) and LLMO Readiness Score (/tools/llmo-score) both evaluate whether your public endpoints safely handle outbound requests. The llms.txt Generator (/tools/llms-txt-generator) validates discovered URLs before inclusion, reducing the chance that a malicious link enters your AI-accessible surface.

Where People Get It Wrong

Teams often assume SSRF only matters for user-facing input fields. In practice, any component that resolves a URI supplied from an untrusted source qualifies. This includes webhook callbacks, import-from-URL features, document converters that fetch external resources, and AI agent tool calls that execute HTTP requests.

Another common gap is relying solely on allowlists of domains. Attackers bypass domain allowlists through subdomain takeover, DNS rebinding, or by targeting internal IP ranges that resolve to allowed hostnames. Cloud metadata endpoints are reachable from within the VPC regardless of domain policy.

A third error is treating SSRF as purely an application security concern. In an AI visibility context, the rendering and retrieval layers operated by third-party crawlers extend your attack surface. You cannot patch their code, but you can design your public endpoints to avoid reflecting or proxying arbitrary URLs.

What to Do About It

Adopt a defense-in-depth posture. At the network layer, enforce egress controls that block outbound traffic to private IP ranges, link-local addresses, and cloud metadata endpoints unless explicitly required. Use instance metadata service version 2 (IMDSv2) on AWS, which requires a session token, and equivalent protections on other clouds.

At the application layer, validate and sanitize every user-supplied URL. Reject localhost, private RFC 1918 ranges, and known metadata endpoints. Resolve hostnames to IPs and verify the resolved address against your allowlist before connecting. Use a dedicated fetch service with no access to internal networks for any feature that must retrieve external content.

For AI-specific pipelines, isolate crawler-rendering and retrieval workloads in network segments with no route to sensitive internal services. The Answer Visibility Meter (/tools/answer-visibility) can help confirm that your public content renders correctly without exposing internal paths.

Treat SSRF mitigation as part of your AI visibility hygiene. The same discipline that makes your content citation-worthy, structured, entity-rich, and canonical-URL-clean also demands that the infrastructure serving it does not become an attack vector. Regular testing with the LLMO Readiness Score and AI Crawler Access Check keeps both visibility and safety aligned.

Back to the glossary index