











On the morning of 13 August (UTC), someone submitted a link to my URL shortener tg.pe. The destination was validationreq.top, a domain I had never seen before. My automated checks flagged it the moment it came in, for a simple reason: the domain was too new.
Note: There’s also a Mandarin version of this post. 台灣朋友歡迎左轉 中文版。
How new? RDAP, the public lookup protocol for domain registration data, settles it:
$ rdap validationreq.top
registration: 2026-08-13 02:12 UTC
# my own logs
submitted to tg.pe: 2026-08-13 03:29 UTC
This is the standard phishing playbook: disposable domains, registered and put to work immediately, burned and replaced. But newness is one of the easiest signals there is. Legitimate services rarely send out links on a domain registered less than two hours ago, so tg.pe distrusts very new domains by default. The link was flagged and contained automatically at submission, and within the hour it was returning nothing but 404s.
Cleaning up my own doorstep is the bare minimum, though. The phishing page itself was still alive, and copies of the link spreading through SMS, email or other shorteners would still hurt people. The real work starts here.
The page impersonated flatmates.com.au, an Australian flatshare marketplace that bills itself as the country’s biggest: right branding, right layout, and nothing on it but a “Verify” button. Click it, and a form asks for your card details.
Everything an automated scanner sees: a brand mock-up and a verify button. urlscan’s verdict: score 0, no classification.
Here is the catch: the scanners in this chain do not click buttons. urlscan’s capture shows exactly that button and comes back with no classification at all; the page serves every visitor the same thing, it does not cloak for scanners, it simply keeps the payload one click away. I have no screenshot of the card form, and no scan I could find has one either; that page only appears after the click. This is how pages like this slip past automated detection, and why a pair of human eyes is still needed at the end. I clicked, saw the form, and classified it as phishing.
Next it went out to everyone who could act on it.
CIRCL MISP: MISP is the open-source threat-intelligence sharing platform; this instance is run by CIRCL, the CERT for Luxembourg’s private sector, communes and non-governmental entities. CERTs, SOCs and security vendors exchange indicators there as structured events that correlate automatically against other members’ data. I published the domain as a full event: registration time, behaviour, evidence, and later the takedown outcome. The community is not open to the public, so here is a screenshot.
The event on CIRCL MISP: indicators, taxonomy tags, and the takedown timeline added afterwards.
The registration layer: two parties can act on a domain itself. The registrar is the shop that sold the name; the registry runs the whole .top zone. I reported to the registrar via NetBeacon, the DNS abuse reporting relay, and emailed the .TOP registry’s abuse desk directly.
Infrastructure and browsers: the site sat behind Cloudflare, so their abuse form; Google Safe Browsing and Microsoft SmartScreen, which between them power the warning pages in every major browser; and Netcraft, whose phishing feed and takedown service reach a lot of places I cannot. I also emailed the impersonated brand’s security team.
Then the responses came in. Cloudflare moved fastest, blocking the reported URL in under half an hour. But every time I visited, this phishing page handed out a fresh random path, so blocking a single URL cannot keep up. That is not on Cloudflare; URL-level blocking is the wrong granularity for a site that changes paths on demand.
The kill came from the registry. At 09:46 UTC, about 3 hours 20 minutes after the report, the .TOP registry replied:
We have reviewed the provided domains and applied the serverHold status, effectively suspending their resolution.
serverHold is a registry-level freeze: the registry stops publishing the domain’s delegation, so the name drops out of the .top zone and stops resolving. The registration record still exists and the registry can lift the status, but for as long as it is set, the name is dead on the network. Not one URL, not one server. The whole domain.
$ rdap validationreq.top | grep status
status: client transfer prohibited, server hold
$ dig +short validationreq.top
(no answer)
.top has a certain reputation in the security community, usually associated with cheap bulk registrations and heavy abuse. This time its abuse desk replied and acted the same day, and that deserves to be said in public. For the record, the registrar-path report relayed via NetBeacon had drawn no reply by the time the registry acted. No reply is not the same as no action: a report that travels through a relay and then into a registrar’s own queue has more steps between me and whoever ends up handling it. It is one data point.
All in one day, times in UTC:
validationreq.top registeredFrom registration to confirmed removal from DNS: 7 hours and 34 minutes.
In June, at TWIGF (the Taiwan Internet Governance Forum), I gave a lightning talk and told a story: a stranger in Germany emailed me about a fake parcel-delivery link on my service, and I verified it, removed it, and replied within 50 minutes. He was surprised, because in his experience the same report to a big platform disappears into a void. And I said what I wanted to do next: spot brand-new phishing domains the moment they are first used on my service, verify them by hand, and report them to the right people.
Two months later, it happened, end to end.
URL shorteners occupy a strange position in the reporting chain: attackers hand you their freshest links themselves. Scanners have to comb the entire internet for phishing pages; I only have to watch my own submission queue. This domain went from registered to flagged in 75 minutes, not because I scan faster than anyone, but because the attacker brought it to me.
The honest disclaimer, as always: this is one case, not a statistic. The previous loop like this took eight days to close, and some reports sink without a trace. Killing one domain in a single day does not prove that reporting usually works. It proves the path exists, and that sometimes it is astonishingly fast. The full reporting record and numbers are in tg.pe’s transparency report.
tg.pe is a free URL shortener run by one person. Every submitted link passes through these gates:
The design, the numbers and the limitations are all in the same transparency report, including the parts that do not work yet.
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。