Skip to main content
← Back to research

Research · Fact Check · Phishing

ChatGPT is not a phishing scanner

The advice sounds practical: when a suspicious link lands in your inbox, paste it into ChatGPT and let the model tell you whether it is phishing. This report reads that advice as "hand the assistant the URL and treat its answer as a verdict", and it defines a phishing scanner as a tool that returns a verdict from purpose-built reputation, registration, and redirect signals. Checked against what mainstream assistants actually document, the advice fails on both halves. An LLM is an explanation layer, not a scanner, and professional phishing quietly defeats single-fetch checks. VirusTotal, Google's Safe Browsing site-status page, and RDAP lookups are a better first check than a chat, though cloaking can fool scanners too, and the advice people repeat should say so.

Verdict: pasting a suspicious link into ChatGPT is not a reliable phishing check. An LLM is an explanation layer, not a scanner, and professional phishing, which runs through traffic distribution systems that show decoys to the wrong visitors, defeats single-fetch checks. VirusTotal, Google's Safe Browsing site-status page and RDAP lookups are a better first check, though cloaking can fool scanners too. The rest of this report checks the tip as it is commonly phrased.

The advice under test is a general tip, not one person's statement: when a link looks suspicious, paste it into ChatGPT and ask whether it is phishing. I have no single published source for it to cite, so this report checks the tip as it is commonly phrased rather than any one author's version of it.

The report started from a public exchange in June 2026. In a public post I argued that "paste the suspicious page into ChatGPT" is not good advice, because professional phishing runs through traffic distribution systems that show decoys to the wrong visitors. A security-awareness practitioner pushed back publicly. They said that in their experience language models typically do not look only at the content of the page, but also at the link, the domain's age, and publicly available reviews, and that results can depend a lot on the model and the mode used for the analysis. They agreed VirusTotal is the more thorough tool and the better recommendation. The reply is paraphrased here; the original is recorded in the working notes for this report. Both claims deserve a fair check.

The exchange has one structural fact the reader should know up front: I wrote the original post under review, so this report adjudicates a dispute I am a party to. Both my claims and the reply are held to the same evidentiary standard, and where the reply is accurate, this report says so.

I checked what the vendors actually document in June 2026, again in September 2026, and rechecked the vendor sections on 4 October 2026. For ChatGPT, Claude, and Gemini I read the official product and API documentation on search, web fetch, URL retrieval, and limitations. I checked ICANN's registration-data position, VirusTotal and Google Safe Browsing documentation, current threat research on traffic distribution systems and AI-targeted cloaking (FBI IC3, Infoblox and Confiant, Palo Alto Networks, SPLX, Netcraft), and three recent academic papers on LLM phishing detection. I did not probe any live suspicious URL, fetch any phishing page, or test any model interactively. Everything below is what the products document and what the public record shows. One caveat applies throughout: documentation is not behavior. A feature a vendor does not document may still exist, a documented feature may behave differently in production, and a model asked directly may sometimes look things up by searching.

The claim under test

The reply's core claim has three parts: models do not look only at page content; they check the link, the domain's age, and publicly available reviews; and results depend on model and mode. The verdict is mixed, and the qualification inside the claim is the most important part of it.

"Results depend on model and mode" is accurate, and it is the most useful part of the reply. Web-enabled ChatGPT, Claude, and Gemini can search the web and fetch pages when the mode allows it. With web search turned off, or in a model or API configuration without tools, the assistant cannot reach the network at all and answers from the URL string and its training data. That is not the same as ordinary ChatGPT chat: where search is available, ChatGPT may search automatically when it judges a question needs current information, so a pasted link can trigger a lookup without the user asking for one. "They check the link" is true in exactly those web-enabled modes, and Claude is the most explicit about it: its documentation says that with web search on it can retrieve content directly from a URL you provide.

The weak parts are domain age and public reviews. Nothing in the documentation of the three assistants describes automatic registration-data, domain-age, or reputation enrichment for a pasted link, so no vendor presents it as a standing capability, while the advice assumes one. The accurate version of the claim is conditional: an assistant can check link-adjacent facts only when its web tools are on, the user asks for the specific lookup, and the information is reachable, and even then the result is a search finding, not a security verdict.

What the assistants document

The pattern across all three vendors is consistent. ChatGPT's search feature may run automatically when a question benefits from current information, and the user can turn it on manually. Search returns answers with source citations. Deep Research is a separate mode that searches over a longer run and produces a cited report. OpenAI's own limitations material says ChatGPT can be wrong, can produce citations that do not exist, and does not incorporate post-training information unless tools are used. Nothing there describes an automatic check of registration data, domain age, or multi-engine reputation for a pasted link. The closest OpenAI comes is its January 2026 post on agent link safety: before an agent fetches a URL automatically, OpenAI checks whether an independent web index has already seen that exact address, to stop private data leaking out through the URL. OpenAI states that this does not guarantee that the content of a page is trustworthy or that a site won't try to socially engineer you. That is the vendor making this report's point in its own words.

In Claude's current app, web search runs when Claude judges it useful; Anthropic's help page says the new Claude experience has no web search toggle. Outside that experience, for example on Team and Enterprise workspaces where an owner must first enable it, web search is still switched on per chat. When search is on, Claude can also fetch content directly from a page URL you provide. That is the strongest documented support for "it checks the link": give Claude a URL with search enabled and it retrieves and analyzes the page. It documents no automatic domain-age or reputation enrichment.

Gemini's documented capabilities are API tools. Grounding with Google Search connects the model to live web content with citations. URL Context retrieves content from URLs the developer provides, cache first with a live fetch fallback, and Google is explicit that it retrieves only the URLs provided, not nested links. Google also documents a content-moderation check on those URLs: a URL that fails it comes back with the status "unsafe". That check enforces Google's safety standards on what the model reads; Google does not describe it as a phishing verdict, and a URL that passes it has not been shown to be safe. These are developer-facing capabilities; I did not separately verify what the consumer Gemini app does with a pasted link, and the claims here about Gemini should be read as API-documented.

Web-enabled modes can search, fetch, and reason over what they find. None of the three documents consulting phishing blocklists or multi-engine reputation for a pasted link, or automatically pulling Registration Data Access Protocol (RDAP) registration data, redirect chains, certificate transparency, or hosting metadata. Gemini's URL Context runs a content-moderation check that can mark a URL "unsafe", and OpenAI's link-safety check only confirms that a URL is publicly known; OpenAI says outright that this does not mean the page is trustworthy. The signals that carry a phishing verdict exist, and they are gathered by tools built for the purpose.

Domain age is a lookup, not a memory

Domain age is a concrete property of registration data. Since 28 January 2025, RDAP has been the definitive source for gTLD registration information in place of the sunsetted WHOIS service, per ICANN. An RDAP lookup can return created, updated, and expiry dates, subject to redaction. A language model cannot know a domain's creation date from the URL string. For an assistant to check it, the surrounding system needs direct RDAP or WHOIS tool access, a search or fetch of a lookup page, or an explicit user prompt asking for the lookup. No vendor documents this enrichment running automatically for pasted links.

Domain age is also a weaker signal than the advice implies. Attackers register fresh domains at scale, but they also buy aged domains, compromise legitimate ones, and hide behind subdomains and redirect chains. An old domain is not proof of safety, and a new one is not proof of phishing.

Public reviews are searchable, not guaranteed

"Publicly available reviews" is plausible for judging whether a business is legitimate and weak as a phishing signal. A search-enabled assistant can look for a domain alongside "scam", "phishing", "Trustpilot", "Reddit", or regional review sites. But absence of reviews is normal for new and small legitimate businesses, and fake review pages are part of the attack surface, not independent evidence. The signals that matter for a link are reputation and blocklist results from purpose-built services, registration history, redirect behavior, and what the page actually does with credentials.

Why cloaking breaks the URL-fetch reading

The original objection was that a professional phishing operation filters its visitors. On 18 June 2026 the FBI's Internet Crime Complaint Center (IC3) warned that cybercriminals use traffic distribution systems to selectively redirect visitors, filtering by IP address, operating system, location, device, and browser, and that a malicious TDS can display safe content to undesired targets, including security researchers. Infoblox and Confiant, studying Keitaro tracker abuse over a four-month window starting 1 October 2025, found roughly 15,500 domains used for malicious instances, with investment scams the dominant threat. Palo Alto Networks' Unit 42 describes malicious TDS infrastructure redirecting automated crawlers to legitimate websites to produce benign verdicts.

When an assistant fetches a URL itself, it typically does so from provider infrastructure, often with a declared AI user agent, and without the victim's cookies, referrer, or device fingerprint. That is a profile a TDS is built to recognize and decoy. SPLX showed in October 2025 that a single user-agent rule is enough to serve AI agents different content from humans: their test pages served altered content when the visitor was ChatGPT, Perplexity, or OpenAI's Atlas browser, and the assistants repeated it without flagging the mismatch. Agent and browser modes that drive a real browser look less like a bot, so the decoy is less certain there, but they still arrive without the target's context. The model then writes a confident verdict about a decoy page. This failure is not unique to LLMs; it affects ordinary URL scanners too, which is why serious detection products compensate with multiple vantage points, browser instrumentation, and historical telemetry. A single fetch from one vantage point is not a reputation check, regardless of who does the fetching.

What the research says

The academic record supports a precise version of the claim. A 2024 paper by Lee, Lim, Hooi, and Divakaran uses multimodal LLMs to identify the brand of a webpage from logo, theme, and favicon and then compares the brand with the domain in the URL. A small-language-model benchmark by Goldenits, König, Raubitzek, and Ekelhart (arXiv, November 2025) treats phishing detection as a classification task over raw HTML. Most instructive is the SOUPS 2025 paper by Wang and colleagues, which builds an SMS phishing detection agent: it does not let the model judge the bare message. The system first gathers external context with dedicated tools, including URL redirection chains, domain history, screenshots, and brand information, and only then runs the reasoning that produces the verdict. The authors report 98.8% accuracy on 1,200 messages and are explicit that the context-gathering step is what makes the system work, because an SMS on its own is too short to carry the context security reasoning needs.

So the defensible claim is narrower. Strong LLM phishing systems check link-adjacent context because the surrounding system was deliberately built to gather it with tools. A bare chat with a pasted link has none of that machinery.

There is also a reverse risk. In July 2025 Netcraft asked a GPT-4.1-family model where to log in to 50 brands; 34% of the domains it suggested were not controlled by the brand, most of them unregistered, parked, or inactive, and so available for an attacker to claim. In a separate case Perplexity offered a phishing page as a bank's login. An assistant can recommend a phishing URL as well as fail to spot one.

What to tell people instead

For a person who received a suspicious link, the first-line advice is short. Don't open it in a normal browser. Check it on VirusTotal (virustotal.com) or Google's Safe Browsing site-status page (transparencyreport.google.com/safe-browsing/search), and treat a clean result as "nothing known yet", not as proof of safety, because scanners get cloaked too. If the message claims to be from your bank, contact the bank through the number or reporting address on its own website, never through the message. In Estonia, phishing can also be reported to CERT-EE at the Information System Authority (RIA). At work, send it to your security team.

Before sharing a URL with any public tool, strip private tokens: session IDs, document IDs, email addresses, phone numbers, and campaign tracking parameters. VirusTotal shares submissions with partners and the community.

Use an LLM as an explanation layer, not a scanner. It is good at walking through the visible red flags in a message or a screenshot. Ask it to say which sources it actually checked and which it could not reach. "I could not verify this" is a useful answer.

If someone does use an assistant, the responsible prompt treats the task as triage and does not pretend the model has access it lacks. It should check what a web-enabled chat can actually reach: URL syntax, brand and domain mismatch, redirect behavior, RDAP registration pages and public reports via search, and whether the page asks for credentials or payment. It should state plainly that blocklist and multi-engine reputation verdicts come from services such as Safe Browsing and VirusTotal that a chat assistant does not call on its own, and whose results it cannot reliably read, and say explicitly when a source could not be accessed. Gather the security signals with purpose-built tools first, then let the model reason over them.

Bottom line

The reply's caveat was right: results depend heavily on model and mode, and a capable user can get useful context out of a web-enabled assistant. The generalized claim that LLMs check domain age and public reviews for pasted links holds only under conditions the popular advice omits, and the cloaking objection applies even when those conditions are met: a single model fetch of a suspicious URL can be served a decoy, because cloaking is designed to defeat single-vantage-point checks. The advice should stop treating ChatGPT as a scanner and start treating it as what it is: a good explainer of evidence gathered by better tools.

Sources

OpenAI Help Center, "ChatGPT Search" — search runs automatically when helpful, manual toggle, citations

OpenAI Help Center, "Deep research in ChatGPT" — separate agentic research mode

OpenAI Help Center, "Does ChatGPT tell the truth?" — documented limitations, citation errors, no post-training data without tools

OpenAI, "Keeping your data safe when an AI agent clicks a link" (28 January 2026) — automatic fetches limited to URLs seen by an independent web index; no guarantee the page is trustworthy

Claude Help Center, "Enable and use web search" — no toggle in the new Claude experience, workspace and per-chat toggle elsewhere, direct web fetch of provided URLs

Google AI for Developers, "URL context" — content retrieval from provided URLs, cache first with live fallback, no nested links, "unsafe" moderation status

Google AI for Developers, "Grounding with Google Search" — live web grounding with citations

ICANN, "Launching RDAP; Sunsetting WHOIS" — RDAP definitive source for gTLD registration data from 28 January 2025

VirusTotal docs, "How it works" — over 70 antivirus scanners and blocklisting services, partner and community sharing

Google Transparency Report, Safe Browsing site status — public lookup of a URL against Safe Browsing lists

Google Safe Browsing (developers) — keyed developer API for phishing, malware and unwanted-software lists, non-commercial use only

RIA, "Reporting a cyber incident" — how to report a cyber incident to CERT-EE

FBI IC3, PSA 260618, 18 June 2026 — TDS visitor filtering, safe content shown to undesired targets including security researchers

Infoblox and Confiant, "Inside Keitaro Abuse" — roughly 15,500 malicious Keitaro domains in four months from 1 October 2025

Palo Alto Networks Unit 42, malicious TDS detection — cloaking via crawler redirection

SPLX, "AI-targeted cloaking" (October 2025) — different content served to ChatGPT, Perplexity and Atlas by user-agent rule

Netcraft, "Large Language Models Are Falling for Phishing Scams" (1 July 2025) — 34% of suggested login domains not brand-controlled; Perplexity suggested a phishing page

Lee, Lim, Hooi, Divakaran, "Multimodal Large Language Models for Phishing Webpage Detection and Identification" (eCrime 2024) — brand identification plus domain comparison for phishing detection

Goldenits, König, Raubitzek, Ekelhart, "Small Language Models for Phishing Website Detection" (arXiv:2511.15434, November 2025) — phishing classification benchmark over raw HTML

Wang et al., "Can You Walk Me Through It? Explainable SMS Phishing Detection using LLM-based Agents" (SOUPS 2025) — context-gathering tools before LLM reasoning, 98.8% accuracy on 1,200 messages

Disclosure status

This report examines a public claim made in a public discussion and checks it against vendor documentation and public threat research. The exchange took place publicly in June 2026; the reply is paraphrased. The thread is described rather than linked, so that the respondent is not identified. The original text is recorded in the author's working notes, which are available on request.

The author wrote the original post under review and adjudicates the dispute in this report; the reply's accurate parts are stated as such, and the author's own claims are held to the same standard. The respondent was not contacted before publication and is therefore not named. No private correspondence, client material, or non-public data was used, no live system was tested, no suspicious URL was fetched, and no vulnerability is disclosed. If any error is pointed out, the piece will be corrected. Research conduct follows the site's security research policy.

Disclosure: the author runs ProksiAbel OÜ, which builds Proksimity, a commercial server-side traffic identity-assurance product. Its classification techniques overlap with those TDS operators use to decide which visitors to cloak.

Corrections, 4 October 2026: the advice under test is now described as a general tip, since it has no single published source, and the respondent is no longer named. Claude's web search is no longer described as a toggle; the vendor section now covers OpenAI's January 2026 link-safety post and Gemini URL Context's "unsafe" moderation check; the claim that a consumer chat cannot call Safe Browsing or VirusTotal, and the unsourced claim that assistant fetches usually come from outside the target geography, were corrected; and the Safe Browsing, Claude and Gemini grounding links were updated.

Integrity · SHA-256

Verifying…
expected
9e7bd61e9fc912d620249df30d3e34047a65c60c8ec5e685c4e469cc5034d4c3
computed
—

This article’s detached PGP signature is not published yet. The hash above proves the served text matches the digest committed to source; it does not yet prove authorship. Signing key 03DA 4E96 931B B2DC 095A 2109 0C2A 0C6F 110A ABC5. Download Public Key