Skip to content

Build Not yet confirmed elsewhere1 publisher 3 min read Published

Defender flags the exe in a rea-tools copy of the REA repo

According to a GitHub issue on REA, a fake rea-tools repo offered a Windows exe that 8 of 45 VirusTotal engines flag, with 172 downloads. The copy shipped a binary and no npm package was reported, so the npx risk is a next-attack scenario; two checks on repo name and creation dates would have caught this one.

The Engineer · Build desk

Send a correction

Some VirusTotal engines flagged the rea-tools archive VirusTotal engines that flagged the archive offered by the fake rea-tools repo, per the GitHub issue; the archive had 172 downloads.

8 of 45 VirusTotal engines flagged the archive offered by the fake rea-tools repo, according to the GitHub issue, which also reports 172 downloads of the archive.

Some VirusTotal engines flagged the rea-tools archive
SharePartWholePercentClaim
Engines flagging the archive8 VirusTotal engines45 VirusTotal engines18% (computed)2

What happened

  • The copy reused REA's README and added a "Windows Standalone .exe" section pointing at an 82.6 MB archive, according to the issue.
  • Microsoft Defender detects Trojan:Script/Wacatac.B!ml in the archive and Trojan:Win32/Wacatac.B!ml in the extracted rea-x64.exe.
  • The maintainer closed the issue the same day with PR #2429, and the README now names morluto/rea, rea.tools and the rea-agents npm package as official sources.

Why it matters

  • What doesn't add up contradiction The incident shipped a Windows exe, yet most of the checklist built on it targets the npx path. Only two of its eight checks apply to this copy.
  • Who has to decide decision Before pasting an MCP config line from a thread, the repo and package names have to come from the project's own README or site and be compared character by character.
  • What it limits constraint npm provenance shows which repo and workflow built a package but cannot certify its contents, so the decision to run the code stays with the person running it.

The incident and the checklist built on it cover different install paths. The copy's README sent readers to a downloadable Windows archive [8]. The DEV Community post says checks 1 and 2 alone catch the rea-tools copy, and that the other six cover the npm package a config pulls with npx, a path the copy did not take [3]. It reports no look-alike npm package and does not say how many of the 172 downloads were run [2].

So the evidence supports a narrow reading: a copied README pointing at a binary. Defender flags both the archive and the extracted exe [1]. Thirty-seven of the 45 VirusTotal engines did not [21]. A scan score is thin ground for trust at that ratio. Repository dates and publisher identity are better evidence, and the post puts it this way: "A lookalike copies the README. The dates and the publisher are harder to copy." [5]

Check 1 is string comparison. Take the repo and package names from the project's own README or site and compare them character by character with what is in your config [6]. After the issue, REA's maintainer added a line to the README saying that "a similar repository name or copied README does not establish that a download is official." [12]

Check 2 is the one that fits this case. The rea-tools organization was created three days before the issue was opened [22] and held one repository [9]. REA's real repo had about 145,000 stars within days, according to Kunal Ganglani on October 12, and has more than 280,000 now [10]. The post describes "an org created three days before you found it, holding one repo of a tool with six-figure stars" as the shape the REA issue described [4]. The GitHub API returns a repo's creation date, fork status and parent, and GET /orgs/{org} returns the org's created_at and public_repos count [13]. Because a copy pushed up as a new repository reports fork: false, the creation dates tell you more than the fork flag does [14].

The npm path is where the remaining checks sit. The repository field in package.json is written by the publisher, so anyone can claim any repo there [15]. Provenance is stronger. The latest tag, rea-agents@6.5.0 as of October 16, carries a provenance attestation and was published by GitHub Actions through trusted publishing [16]. That tells you which repo and workflow built the tarball [18]. npm's docs state the limit: provenance "does not guarantee the package has no malicious code." [17]

To check a package and everything it pulls in, the post installs into a scratch folder with --ignore-scripts and then runs npm audit signatures [19]. The flag matters because, according to npm's documentation on scripts, the preinstall, install, postinstall and prepare hooks fire on npm install -g as well [20].

In our view the two checks that apply to this incident are the ones with evidence behind them. The other six guard a path this copy did not take, and the ones shown cost a scratch folder and a few commands.

What to watch

  • Whether any look-alike npm package for REA or another MCP server is reported, since that is the path the post's other six checks cover.
  • The status of the rea-tools repo and its 82.6 MB archive, and whether the VirusTotal count moves from 8 of 45.
  • Whether other MCP server maintainers add a README line naming official sources, as REA's maintainer did in PR #2429.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence50
Adoption
Not scored
Hype gap+10
Incentives30
Confidence55
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    Microsoft Defender flags the archive as Trojan:Script/Wacatac.B!ml and the extracted rea-x64.exe as Trojan:Win32/Wacatac.B!ml.

    Reported Supported Source: GitHub issue #2424, as relayed by DEV Community2 sources— create a free account to open themView cited source
  2. [2]

    8 of 45 VirusTotal engines flagged the archive, and it had 172 downloads.

    Reported Supported Source: GitHub issue #2424, as relayed by DEV Community2 sources— create a free account to open themView cited source
  3. [3]

    Checks 1 and 2 alone catch the rea-tools copy, which shipped a Windows .exe; the other six cover the path the copy did not take, the npm package your config pulls with npx.

    Reported Supported Source: DEV Community post2 sources— create a free account to open themView cited source

Get this ledger inside ChatGPT. Ask about any of our stories and the answer brings its figure, each claim’s verdict and the sources. Free, no account.

Add to ChatGPTAdd to Claude

Sources

1 independent publisher whose own reporting we read for this story.

  1. dev.to

    1 article · October 16, 2026

    Before You npx an MCP Server: 8 Checks That Would Have Caught the Fake REA Repo

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Loading related stories