Build1 distinct publisher3 min readUpdated
A dev.to post scanned the domains behind the top 5,000 npm packages and found 18 with registration or email-security anomalies. The aggregate numbers matter more than the 18, and the headline overstates both.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
A developer publishing as onizuka on dev.to says that on the morning of July 28, 2024, they fed 1,400 domains into a RapidAPI WHOIS service, each one a homepage, documentation domain, or redirect extracted from the top 5,000 npm packages, and 18 came back with registration or email-security anomalies [1][2]. The 18 are the least useful number in the post. The aggregates are the ones worth acting on: according to the post, 312 of the 1,400 scored below 50 on the API's 0-100 email-security scale, 847 had no DMARC enforcement at all, and 94 were inside 90 days of expiry [4][5][6].
Read as proportions, that is 60.5 percent of the maintainer-facing domain surface with no DMARC enforcement [11], 22.3 percent below the midpoint on email posture [12], and 6.7 percent expiring within a quarter [13]. The flagged set is 1.3 percent [14]. The tail is small; the baseline is bad.
The author says they scored each record against five signals: domain age and expiration horizon, last WHOIS update date, DNSSEC status, email-security posture across SPF, DMARC, DKIM, DNSSEC and MTA-STS, and subdomain takeover risk graded HIGH, MEDIUM or LOW from certificate transparency logs and dangling records [15]. The 18 are said to break down as 9 with DMARC set to none or missing, 6 within 30 days of expiration with no auto-renew lock visible in RDAP, 4 with name-server changes in the previous 45 days, 3 with DNSSEC unsigned and SPF missing at once, and 2 rated HIGH for takeover because of dangling CNAMEs pointed at decommissioned cloud endpoints [8].
Then the problems. The headline is "I Ran 1,400 WHOIS Lookups. 18 Domains Were Compromised" [c2b], but nothing in the post describes a compromise; every finding is a hygiene or registration anomaly [22]. The post's own summary paragraph says three domains were within 30 days of expiration and six had no DMARC, which contradicts the later breakdown of six and nine [9][10]. And the only WHOIS record published is a cached example.com response, because the author says the API was asleep when they re-ran the query for the article [16][17]. No record from any flagged domain appears, and none of the 18 is named, which the author attributes to ongoing responsible disclosure [18]. A reader cannot check the finding.
The framing is still sound, and it is the part that survives the sourcing problems. The post pairs the scan with Aikido's write-up on the Shai-Hulud npm supply-chain attack, in which keyv, keyv-file, keyv-s3 and related packages were compromised through maintainer accounts and publishing infrastructure rather than a zero-day [19]. Trust in that model is inherited from things that look official because they are old, and an expiring domain is a transfer of that trust to whoever renews it. The author's own line is the sharpest thing in the piece: a package whose homepage expires in 60 days is a package whose homepage can be bought [21].
What to watch is whether anyone reproduces the aggregate. It is cheap work: the API takes up to 50 domains per request, so 1,400 is 28 calls [20][23]. Expiry horizon and DMARC state are the two signals with unambiguous failure modes and no interpretation required, which makes them the ones to put in your own dependency review before you take the 0-100 score seriously.
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
From the live run, 847 of the 1,400 domains had no DMARC enforcement at all.
The author states the API was asleep when the query was re-run for the article, so the JSON published in the post is the cached sample the API served back, and the live run that produced the 18 flags happened earlier.
The only WHOIS record published in the post is for example.com: registrar Internet Corporation for Assigned Names and Numbers, created 1995-08-14, expires 2026-08-13, updated 2024-08-14, DNSSEC signedDelegation, email-security score 85, grade B+.
A developer publishing as onizuka on dev.to says that on the morning of July 28, 2024, they fed 1,400 domains into the Domain WHOIS API on RapidAPI, each one a homepage, documentation domain, or redirect extracted from the top 5,000 npm packages.
The post's headline is "I Ran 1,400 WHOIS Lookups. 18 Domains Were Compromised."
From the live run, 312 of the 1,400 domains had an email-security score below 50.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Single self-reported run with no publishable artifact
Everything rests on one dev.to post describing an earlier, unpublished run. The author concedes the API was asleep on re-run, so the only record shown is a cached example.com baseline; no flagged domain or package is named; and the article's two tallies of the same 18 domains disagree. The method is transparent and reproducible, which is the only thing lifting this above the floor.
No adoption signal in the supplied material
The sources describe a one-off measurement by one developer and a relayed incident report. There is no disclosed usage, deployment, release, customer or maintainer response for any tool or practice, and the DMARC/expiry percentages describe the state of third-party domains rather than adoption of anything. Inferring an adoption level from a single self-reported scan would be guessing.
Headline claims compromise; findings are hygiene anomalies
The title asserts 18 domains 'were compromised' while the body reports expiry horizons, DMARC posture, name-server changes, unsigned DNSSEC and dangling CNAMEs, and explicitly says not every flag is a compromise. The overstatement is compounded by conflicting internal counts and by the fact that the post's own cited baseline shows 68.4 percent of company domains generally fail to enforce DMARC, making the npm cohort look ordinary rather than alarming. The aggregate numbers themselves are stated plainly and are not inflated, which keeps this short of the extreme.
Evidence base is one paid third-party API, undisclosed relationship
Every number in the post is produced by a single named commercial RapidAPI listing, the article embeds ready-to-run client code with a key placeholder for that listing, and no relationship to the vendor is disclosed either way. The headline is optimized for attention on a developer-blogging platform. This is a visible structural incentive toward a specific product and toward dramatic framing; the sources do not establish any paid arrangement, only the dependency itself.
Method credible, findings unverifiable
Confidence is limited by single-source dependence, an author-acknowledged cached-data problem on the same API, a documented false positive from stale cached RDAP, self-contradictory counts and no named subjects. What supports moderate rather than minimal confidence is that the methodology and the aggregate arithmetic are internally checkable and consistent with the population baseline the post itself cites.
build
Judge transactional email on retries and DKIM alignment, not open rates1 distinct publisher
security
Shai-Hulud's fourth wave shipped with valid provenance, and that is the finding1 distinct publisher
build
Buy transactional email on recovery controls, not send price1 distinct publisher
build
Email and Slack disagree on what a conversation is, and the join key is the envelope1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 18, 2026