PoC 1 — Confirm DNS state from three independent resolvers:
$ dig +short admin.verify.jup.ag CNAME @8.8.8.8
02d42fc3ebc95e8c.vercel-dns-013.com.
$ dig +short admin.verify.jup.ag CNAME @1.1.1.1
02d42fc3ebc95e8c.vercel-dns-013.com.
$ dig +short admin.verify.jup.ag CNAME @8.8.4.4
02d42fc3ebc95e8c.vercel-dns-013.com.
PoC 2 — HTTPS response shows the unclaimed-deployment signature:
$ curl -i https://admin.verify.jup.ag/
HTTP/2 404
cache-control: public, max-age=0, must-revalidate
content-type: text/plain; charset=utf-8
server: Vercel
strict-transport-security: max-age=63072000
x-vercel-error: DEPLOYMENT_NOT_FOUND
x-vercel-id: pdx1::x7ntg-1778759132857-ed14db71d39a
content-length: 107
The deployment could not be found on Vercel.
DEPLOYMENT_NOT_FOUND
PoC 3 — TLS terminates on Vercel (confirming a takeover would also receive a fresh, valid cert):
$ curl -kv https://admin.verify.jup.ag/ 2>&1 | grep -iE "subject|issuer|server"
subject: CN=*.vercel-dns-013.com
issuer: Let's Encrypt
server: Vercel
PoC 4 — No common admin/API paths exist (confirms the deployment is empty, not "just protected"):
$ for p in /login /api /dashboard /_next/data /api/auth /api/admin /api/health /health; do
echo "$p -> $(curl -sk -o /dev/null -w '%{http_code}' https://admin.verify.jup.ag$p)"
done
/login -> 404
/api -> 404
/dashboard -> 404
/_next/data -> 404
/api/auth -> 404
/api/admin -> 404
/api/health -> 404
/health -> 404
PoC 5 — No _vercel TXT verification record (this is what blocks an attacker from claiming a CNAME-pointed Vercel subdomain — its absence is what makes this a real takeover candidate, not benign config drift):
$ dig +short TXT _vercel.admin.verify.jup.ag @8.8.8.8
(empty)
$ dig +short TXT _vercel.admin.verify.jup.ag @1.1.1.1
(empty)