URL Checker: What Scanning a Link Really Tells You

A url checker scans a link for phishing, malware, and a valid certificate. Here is exactly what it checks, and why that says nothing about your own app.

Barret7 min read

Someone drops a link in your DMs, or a client points you at a file hosted somewhere you have never heard of, and the question hits before you click: is this safe? Running it through a url checker is a reasonable first move, and it works. These tools answer that exact question well, for links you did not build yourself.

But if the link in question points at your own app, the one you or your AI coding tool shipped last week, a url checker is answering a narrower question than most people assume. It can tell you the front door is not marked as a known scam. It has nothing to say about what is sitting behind that door: your database, your API keys, your uploaded files.

This post covers both halves. First, what a url checker actually checks when you paste in a link, which is worth knowing whether or not you have ever built anything. Then, why that check stops well short of telling you whether an app you own is safe to run, and what to look at instead.

⚡ TL;DR

  • A url checker cross-references a link against phishing and malware blocklists, checks domain reputation and age, follows the redirect chain, and inspects the SSL certificate.
  • That is a real, useful check before you click a link from someone you do not know.
  • It judges the link, not the application behind it: it cannot see a leaked API key, a missing database permission, or an exposed source map in your own app.
  • For your own site, the URL is the front door. The real question is what is reachable once someone walks through it.

Paste a URL into any reputable checker and it runs through a handful of mechanical checks, all based on public signals anyone can look at:

  • Blocklist match. It compares the domain against known phishing and malware lists maintained by browser vendors and security vendors. A hit means the domain has already been reported and confirmed bad by someone else.
  • Domain reputation and age. A newly registered domain, or one with a history of abuse, or one hosted on infrastructure already associated with spam, gets flagged as higher risk even without a direct blocklist hit.
  • Redirect chain. The checker follows every hop a link takes before it lands, because a clean-looking shortened link can bounce through several redirects before landing on a phishing page.
  • SSL certificate. It confirms the site is serving over HTTPS with a valid certificate. That proves the connection is encrypted and the certificate matches the domain. It does not prove the content on the other end is trustworthy.

Put together, those four checks are a decent gut check on a link you did not create yourself. They catch the obvious cases: a domain already reported for phishing, a shortened link hiding a malware download, a certificate that does not match the site it claims to be. For the fuller walkthrough of manual checks, including what to look at when a checker comes back clean, see how to check if a website is safe.

Every one of those four checks looks at the link itself, or at metadata about the domain. None of them open the page and look at what the app does once you are inside it. That is true whether you call it a url checker, a url safe checker, or a safe link checker. They all answer "is this link safe," not "is this application safe."

For a phishing site, that is the right question. Phishing pages exist purely to look like something they are not, so the domain and certificate signals matter most. For a real app, especially one built quickly with an AI coding tool, the risk usually is not the link at all. It is what the app does with your data once you are past it: whether a database table hands every row to anyone holding the public key, whether a server-side secret key shipped inside the browser bundle by mistake, whether an uploaded file sits in a storage bucket anyone can open with the direct URL.

CVE-2025-48757, disclosed in May 2025, is a documented example of exactly this pattern: 170 of 1,645 scanned Lovable and Supabase apps, 10.3 percent, were leaking data through 303 endpoints reachable with nothing more than the public anon key. Every one of those apps would have passed a url checker without a flag, because the domain was clean and the certificate was valid. The gap lived one layer deeper than a link scan ever looks.

How to check your own app's bundle for secrets and source maps

You can run a version of this deeper check yourself in a few minutes, using your browser's built-in dev tools. No code reading required.

  1. Open your deployed site and open dev tools (right-click and choose Inspect, or press F12).
  2. Go to the Network or Sources tab and reload the page. Note which JavaScript files load.
  3. Search those files for patterns like sk_live_ (a Stripe secret key), service_role (Supabase's key that bypasses every permission you have set), or a raw OpenAI, Anthropic, or AWS key. For the full method, including exact patterns to search for, see extract API keys from JS bundles.
  4. While you are in the Sources tab, check whether any file ends in .map. A source map hands a readable copy of your original code, comments included, to anyone who asks for it. Source map exposure covers why that matters and how to turn maps off in production.
  5. If you do find a key sitting in that browser-facing code, do not assume every key is a problem. The Supabase anon key and the Firebase web config are meant to be there. What you are hunting for is the other kind: a server-side secret that should never have left your backend. Exposed secrets and API keys in frontend code walks through which keys are dangerous and which are public by design.

🐺 Not a real problem

If your own eyes, or your url checker, turn up a Supabase anon key or a Firebase apiKey in your bundle, that is not a leak. Both are built to live in browser code. The actual risk is what stands behind that key: whether Row Level Security (RLS), a per-user filter Supabase enforces on every database query, restricts what the key can actually read.

Want the 60-second version instead?

Paste your link and get a free, read-only report of what an attacker sees on your live site. No login, no install, no code to read.

Scan my site free →

Most link and website checkers, including the free ones bundled into browser extensions and antivirus suites, test the same surface signals: SSL, domain age, blocklists. None of that touches Row Level Security, a stray secret key, or an open storage bucket, which is what actually sinks an app built quickly with an AI coding tool. An attacker can find those gaps in minutes with tools no more exotic than a browser's dev console. Finding them first, on every deploy, matters because your AI ships new code (and occasionally new holes) every time you ask it to.

That is the gap a free website security scan is built to close. Instead of stopping at the link, it looks at what your app actually exposes once someone is past the front door, and separates the real risks from the public-by-design keys that only look scary.

FAQ

Is a url checker enough to know if my own app is safe?

No. A url checker confirms the domain is not on a blocklist, has a valid certificate, and is not hiding behind a suspicious redirect. It says nothing about your database permissions, your server-side keys, or your storage buckets, which is where most vibe-coded apps actually leak data.

What is the difference between a url safe checker and a full security scan?

A url safe checker looks at the link: reputation, blocklists, certificate, redirects. A security scan of your own app looks past the link at what the app itself exposes: JavaScript bundles, response headers, and publicly reachable files.

My checker flagged my own site as suspicious. Why?

Usually a newly registered domain, a missing or misconfigured SSL certificate, or hosting infrastructure shared with sites flagged in the past. None of those mean your app has a data-exposure problem. Check the certificate and DNS setup first before assuming something deeper is wrong.

Yes. For links you did not build, a url checker remains one of the fastest ways to catch an obvious phishing attempt or malware link before you click. It is not built for auditing an app you own.

The bottom line

A url checker answers one honest question: does this link look like a known scam? For a stranger's link, that is often all you need. For your own app, it is the wrong question, because a clean link tells you nothing about what happens once someone is inside. Check the link when it matters, then check the app itself, on every deploy, since your AI ships new code, and sometimes new holes, each time you ask it to.

Is your site hackable? Find out in 60 seconds.

Is My Site Hackable? scans your live app for the exact gaps in this article (exposed keys, missing RLS, open buckets) and tells you what's a real risk and what's a false alarm. Paste your link, get a free report. No login, no install.

Run my free scan →