Flagged in the threat library: WaSteal

Our analysis confirmed the behaviour described in the threat library entry. Do not install it. Read the analysis and indicators →

Also reported by malext.io, reddit.com

Chrome Web Store Verified

guruwa

by [email protected] · 5.0 rating
f6b00f8c-7b78-5afa-bf6f-a323afb8a7ab | v7.4.3.89
65/ 100
MEDIUM risk
No change since v7.4.3.85
Threat verdict
Do not install

Confirmed member of a tracked malicious supply-chain campaign.

Analysis record

Analysed
Today
Version
v7.4.3.89
Artifact
SHA256 86E…E2E
Source
Findings (non-IoC)

Is guruwa safe?

guruwa layers a customer-relationship tool over WhatsApp Web, which means it lives inside your chat window and reads what passes through it. The manifest declares no special permissions and no host permissions, so it cannot touch cookies, downloads or other tabs on its own; content scripts give it its view of the WhatsApp page. Traffic leaves through fetch and socket.io calls spread across the content/assets/js/ files, with app.wascript.com carrying the product's own data and api.statsigcdn.com serving feature flags. Most of the other listed endpoints, including above.sm, btn.glass and color.border.accent.orange, look like CSS tokens and minified property chains that the domain extractor misread as hostnames.

Two obfuscation flags need explaining, and neither points at hidden logic. OBFUSCATION-LARGE_BASE64 sits in funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js, a hashed build file where a base64 blob usually holds an image, a font or an embedded library. OBFUSCATION-FUNCTION_INDIRECT in content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.js marks indirect function calls, a shape every minifier emits. A NET-FETCH hit in background.js records that a network call happens and says nothing about where it goes.

The rest of the volume comes from the scanner tripping over bundled JavaScript. Hundreds of low-severity code-smell matches and hundreds of indicator hits pile up inside minified vendor files, and on this extension none of them pair with a malware signature. Zero signature matches across the whole package. A WhatsApp CRM stitched together from a socket library, jQuery and an analytics SDK would produce exactly this pile, and the endpoints that remain all fit the job of running a shared WhatsApp inbox. What would change the picture: a signature match, a request carrying chat text to a host outside the product, or any code reaching a login page.

Evidence ledger

Ranked by severity · findings with a source location link to the code viewer

779 detail rows

YARA Rule Matches

16 rules
SeverityRuleHitsFilesMetadata
LOWpostinstall file download 56
funnil/assets/ttf/Segoeuibold.chunk.ttffunnil/assets/js/4884f29f-beb9-400d-a366-ee179f979512.DGR8brSg.jscrm/assets/ttf/Segoeui.chunk.ttf +53 more
-
LOWNoUseEval 1
whatsapp/wpp/index.js
-
LOWNoUseWeakRandom 38
content/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe264.jscrm/assets/js/004fed15-8877-43f0-8efb-694b1f83470a.DHS87NkU.jscontent/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe9.js +35 more
-
LOWSQLInjection 1
fluxo/index.js
-
LOWServerHostnameNotVerified 1
content/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe.js
-
LOWLocalStorageShouldNotBeUsed 15
fluxo/assets/js/4ee11da8-398e-42c1-a7a6-562435dd4099.Ltqe_vjw.jswhatsapp/wpp/index.jscontent/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe27.js +12 more
-
LOWpostinstall environment access 111
crm/assets/js/index.DBht7XSi.jscontent/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe107.jscontent/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe261.js +108 more
-
LOWpostinstall network communication 93
content/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe84.jscontent/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe162.jscontent/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe170.js +90 more
-
LOWOriginsNotVerified 5
funnil/assets/js/ac7c4918-d573-4107-aa70-4001c8f5324c.B8_nURbH.jscontent/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe6.jsfluxo/assets/js/dacb7d41-b2cc-4fc5-b0cb-217764ce9fc7.D3Llan5p.js +2 more
-
LOWpostinstall system command 77
fluxo/assets/js/createAudio.vStFQ0DV.jscontent/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe99.jsfunnil/assets/js/abbe0a9b-5062-4808-8e5c-ed00bfd273cc.DSPJIgZP.js +74 more
-
LOWpostinstall crypto operations 44
fluxo/assets/js/modal.CtHWIk2G.jscontent/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe44.jscontent/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe137.js +41 more
-
LOWpostinstall obfuscation 83
crm/assets/js/index.Cf4NYfzy.jscontent/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe170.jsfunnil/assets/js/abbe0a9b-5062-4808-8e5c-ed00bfd273cc.DSPJIgZP.js +80 more
-
LOWpostinstall registry modification 8
crm/assets/js/08720d6a-0be0-46e1-9843-98b7db20fc19.BMVVV2Gw.jscontent/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe152.jscontent/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe264.js +5 more
-
LOWpostinstall file manipulation 172
content/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe201.jscontent/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe236.jscontent/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe23.js +169 more
-
LOWcredential env files 30
content/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe242.jscontent/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe220.jscontent/assets/js/v_7_4_3_89_6a967488-454e-474e-a8c0-67247cae29fe178.js +27 more
-
LOWpostinstall persistence mechanism 19
crm/assets/css/style.cssfluxo/assets/js/dacb7d41-b2cc-4fc5-b0cb-217764ce9fc7.D3Llan5p.jsfunnil/assets/css/style.css +16 more
-

Publisher Evidence

Limited evidence

[email protected]

Publisher identity, store signals, distribution reach, and warning signals used for context. Treat this as supporting evidence, not a clean bill of health.

Chrome does not expose the same publisher verification data as IDE stores, so this score is deliberately conservative.

47
Noisy-finding weight
x1.00
Publisher domain
extensao.store
Observed
Store verification signal
Limited signal
Limited
Extension portfolio
174
Portfolio

11 evidence rows available.

Finding Categories

2
Obfuscation
22
Network
408
IoC Indicators

YARA Rules Matched

16 rules(754 hits)
postinstall file download NoUseEval NoUseWeakRandom SQLInjection ServerHostnameNotVerified LocalStorageShouldNotBeUsed postinstall environment access postinstall network communication OriginsNotVerified postinstall system command postinstall crypto operations postinstall obfuscation postinstall registry modification postinstall file manipulation credential env files postinstall persistence mechanism

Requested Permissions

5 permissions
tabs
Medium
unlimitedStorage
Low
storage
Low
alarms
Low
https://web.whatsapp.com/*
Low

AI Security Report

AI Security Review

Evidence context: threat category none; evidence quality moderate.

What the code does

guruwa bills itself as a CRM for WhatsApp Web, and the file layout matches that job. Content scripts under content/assets/js/ run on the WhatsApp page, hold chat state, and move data to and from a backend. background.js:137 carries a NET-FETCH finding, and the NET-SOCKET_IO hits at content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28912.js:15 and content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289149.js:64 point at a persistent socket connection, which is how a CRM keeps an inbox in sync without polling. The manifest declares no permissions and no host permissions, so the extension holds no cookie access, no downloads access, and no reach into other tabs.

The network picture

The endpoint list mixes three things. app.wascript.com belongs to the product, and api.statsigcdn.com serves feature flags, a normal SaaS dependency. api.atlassian.com and api.atlassian-us-gov-mod.com arrived with a bundled library. The rest of the list is extractor noise: above.sm, below.sm, btn.glass, border.radius.circle, color.border.accent.orange and calls.function.arguments.delta are CSS design tokens and minified property chains, not hosts. That pattern explains the 410 indicator hits as well.

Obfuscation findings

Two medium obfuscation flags deserve a look. OBFUSCATION-LARGE_BASE64 in funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js marks a base64 blob inside a hashed build artifact; bundled images, fonts and vendor bundles produce this constantly. OBFUSCATION-FUNCTION_INDIRECT in content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.js marks indirect calls, which a minifier emits. Neither flag sits next to a malware signature, and the co-location rule is the one that matters.

The counterargument

A skeptic would point at the raw numbers: 1,189 findings, 22 network hits, 410 indicators, and a directory named funnil holding a random-looking filename. On a dashboard that looks alarming. It falls apart on inspection. Malware signature count is zero. Of the 1,189, some 754 are code-smell matches of the kind that fire on any non-trivial JavaScript, and 410 are indicator hits dominated by strings the extractor read as domains. Nothing here reaches a login page, harvests cookies, or connects anywhere unrelated to running a WhatsApp inbox. The extension does read chat content, and anyone weighing the install should know that, because that access is the product. Reading chats is the whole point of a CRM for WhatsApp Web.

What would change this

A malware signature in the same file as the base64 blob, a request sending message bodies somewhere other than the product backend, or a socket connection to a host outside app.wascript.com and its analytics. None of those appear in this bundle.

Key Reasons

  • Zero malware signatures and zero malware findings across 1,189 total findings
  • Network findings (NET-FETCH in background.js:137, NET-SOCKET_IO in content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28912.js:15) match a chat sync backend, not exfiltration
  • Most listed endpoints are extractor artifacts, such as color.border.accent.orange and calls.function.arguments.delta, which are CSS tokens and minified property chains
  • The remaining third-party endpoints, api.statsigcdn.com and api.atlassian.com, belong to bundled libraries and analytics
  • Manifest declares no permissions and no host permissions for an extension that only operates on the WhatsApp Web page

False Positive Considerations

  • 754 low-severity code-smell matches firing on minified and bundled JavaScript
  • 410 IoC hits dominated by CSS design tokens and minified property chains misread as domains
  • LARGE_BASE64 obfuscation flag on a hashed build asset that likely holds an image or font
  • Bundled vendor library artifacts pulling in unrelated third-party endpoints such as api.atlassian.com

Reviewed 2026-10-10; recommended action: suppress false positive; model confidence 72%.

Chrome version history

Risk trend by version

15 analyzed versions. Each point is the latest successful scan for that version; failed zero-score scans are hidden. Dates are based on first seen by risky plugins.

Selected
65
Change since first
+4
Change from previous
No change
Versions:
First analyzed version
7.4.3.54
Jun 19, 2026
Risk range
60 to 73
Across analyzed versions
Latest analyzed version
7.4.3.89
Oct 16, 2026
Selected version
medium
Version
v7.4.3.89
Today
Risk score
65
Findings
1187
Change vs previous
No change

Pick any point on the chart to explore that version's code below.

About This Extension

Experience the New Features of Guruwa, Designed to Give You More Control Over Your Leads and Boost Your Client Prospecting. With mass messaging and contact export capabilities, Guruwa is built to streamline your workflow. Key Features: ✔ Mass messaging to your contacts or imported contacts via CSV ✔ Custom tabs for easy access to important contacts ✔ Kanban view to organize your leads efficiently ✔ Send messages to numbers not saved in your contacts ✔ Personalized notes for each contact ✔ Set reminders for follow-up calls ✔ Schedule meetings directly on Google Calendar ✔ Simple reminder setup with notifications ✔ Quick-reply bank for one-click messaging ✔ Export all contacts from groups ✔ Multi-language support (Portuguese, Spanish, English) ✔ Blur messages for creating tutorial videos ✔ AI Assistant — Your artificial intelligence is ready to help! Optimize your time with a smart, fast, and always-available assistant. Answer questions, automate tasks, generate texts, translate, and much more with the power of AI. Ideal for professionals, teams, and anyone looking for practicality in their daily lives. Security Highlights: ✔ Approved in a Google Chrome security audit ✔ No database usage – all operations are performed locally on your computer Try Guruwa today and take your lead management to the next level! 🚀

Frequently Asked Questions