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

UpSell

by [email protected] · 55 users
d52a1ed8-f67a-5b9b-bf48-23820bfdf492 | v7.4.3.87
0/ 100
MINIMAL risk
-65 since v7.4.3.85
65 → 0 · false positives removed
Threat verdict
Do not install

Confirmed member of a tracked malicious supply-chain campaign.

Analysis record

Analysed
3 days ago
Version
v7.4.3.87
Artifact
SHA256 F33…75E
Source
Findings (non-IoC)

Is UpSell safe?

UpSell is a CRM add-on for WhatsApp Web. It adds a sales dashboard, chat organisation and follow-up tools to web.whatsapp.com, which is why its code runs content scripts under content/assets/js/ and keeps a live connection through background.js. The package as scanned declares no browser permissions and no host permissions, which is unusual for something that operates on WhatsApp pages and probably means the manifest was not fully captured in this pass. The endpoints it reaches are app.wascript.com, which looks like the developer's own service, api.statsigcdn.com, a standard feature-flag service, and a set of Atlassian hosts pulled in from bundled tooling.

The most substantive flag is a large base64 block in funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js. If that were packed malicious code, it would mean the extension ships hidden instructions. Base64 of that size inside a hashed JavaScript chunk is almost always an inlined image, font or worker file. The network matches across the content scripts are jQuery Ajax, Socket.IO and fetch calls, which is how a live chat client stays connected while it reads the page.

Most of the noise comes from the scanner itself. The endpoint list contains items like btn.glass and color.border.accent.orange, which are CSS class names, and calls.function.arguments.delta, which is a field in a streaming API response. Hundreds of low-severity code-quality matches come from the bundled and minified JavaScript. No malware signatures, no secret or credential findings and no tool-poisoning findings show up anywhere in the package.

Evidence ledger

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

779 detail rows

YARA Rule Matches

16 rules
SeverityRuleHitsFilesMetadata
LOWcredential env files 30
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289265.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289216.jscrm/index.js +27 more
-
LOWpostinstall persistence mechanism 19
crm/index.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.jsfunnil/assets/js/2e0cf7f6-e9bc-41e0-84b5-f570a0e461c8.B8VBrnTG.js +16 more
-
LOWServerHostnameNotVerified 1
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289.js
-
LOWLocalStorageShouldNotBeUsed 15
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28924.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.jscrm/assets/js/emoji-picker-react.esm.aMh8OwYb.js +12 more
-
LOWpostinstall file download 55
fluxo/assets/ttf/Segoeuibolditalic.chunk.ttffunnil/assets/ttf/Segoeuiitalic.chunk.ttfcontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2895.js +52 more
-
LOWNoUseEval 1
whatsapp/wpp/index.js
-
LOWNoUseWeakRandom 38
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28922.jsfunnil/index.jswhatsapp/wpp/index.js +35 more
-
LOWSQLInjection 1
fluxo/index.js
-
LOWpostinstall environment access 111
fluxo/assets/js/emoji-picker-react.esm.LrTXoimj.jsfunnil/assets/js/68038811-0075-484f-8b19-297df42f51e1.CVYXH02z.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28978.js +108 more
-
LOWpostinstall network communication 94
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289231.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289159.jsfluxo/index.js +91 more
-
LOWOriginsNotVerified 5
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2896.jsfluxo/assets/js/b89d7b82-41f7-4061-9bc0-ae95ae5cd0a2.BLiJgZ4E.jsfunnil/assets/js/770d23cd-9021-4aef-887e-d47811b5c322.B8_nURbH.js +2 more
-
LOWpostinstall crypto operations 44
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28939.jsfluxo/assets/js/index.tgWUt5OI.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28924.js +41 more
-
LOWpostinstall system command 77
fluxo/index.jsfunnil/assets/js/2e0cf7f6-e9bc-41e0-84b5-f570a0e461c8.B8VBrnTG.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28917.js +74 more
-
LOWpostinstall obfuscation 83
fluxo/index.jsfunnil/assets/js/2e0cf7f6-e9bc-41e0-84b5-f570a0e461c8.B8VBrnTG.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289187.js +80 more
-
LOWpostinstall registry modification 8
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2895.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.jscrm/assets/js/5e35787c-36b2-4a56-8ea4-4e0a75aa6943.D2Np3EBj.js +5 more
-
LOWpostinstall file manipulation 172
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289169.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289149.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28976.js +169 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.

51
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
404
IoC Indicators

YARA Rules Matched

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

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.

UpSell is a CRM layer for WhatsApp Web, and the code in the package lines up with that description. Content scripts sit under content/assets/js/, a service worker runs in background.js, and the network findings are the plumbing a live chat client needs: NET-SOCKET_IO-content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28912.js-15, NET-JQUERY_AJAX-content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28923.js-1, and NET-FETCH hits spread across the numbered chunks plus background.js:137.

No malware signature matched anywhere. The categories that would carry real weight, malware, malware-signature, secret, tool-poisoning and dependency, are all empty, and there are no critical or high severity findings. The 754 low severity entries are code-quality rules that fire on ordinary JavaScript constructs, so they tell us the codebase is large, not that it is hostile.

The 404 IoCs are the loudest thing here and the least useful. Look at what they actually are: border.radius.circle, btn.glass, color.border.accent.orange, artboard.phone, avatar.online, calls.function.arguments.delta. Those are CSS class names and a field in a streaming API response that the extractor turned into hostnames. The real domains in the list are unremarkable. app.wascript.com is the developer's own service, api.statsigcdn.com is a feature-flag provider, and the Atlassian hosts come from bundled tooling.

Two obfuscation matches deserve scrutiny and both have a mundane explanation. OBFUSCATION-FUNCTION_INDIRECT-content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.js-1 matches function indirection typical of minified bundles. OBFUSCATION-LARGE_BASE64-funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js-1 is a large base64 blob inside a hashed chunk. A base64 payload with no malware signature in the same file usually decodes to an inlined font, image or worker. Nothing in this package shows chat content leaving for an unexpected host.

The strongest case against this reading: a WhatsApp CRM reads every message in a user's chats, the publisher is a bare contact address, and funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js is still unexplained. That is a fair worry, and it would take two things to settle it: the decoded contents of that file, and the manifest, which came back empty in this scan. Neither the endpoints nor the finding set shows exfiltration though. Reading chats is inherent to what the extension is advertised to do.

What we would still like on the record is the decoded base64 blob and the missing manifest permissions, because the one genuine gap in this evidence is what the extension actually asks the browser for.

Key Reasons

  • No malware, malware-signature, secret, dependency or tool-poisoning findings anywhere; 754 of the 1,183 entries are low-severity code-quality rules that fire on ordinary JavaScript.
  • The endpoint list is dominated by extractor artifacts such as btn.glass, border.radius.circle and calls.function.arguments.delta, none of which are real hosts.
  • Network matches (NET-SOCKET_IO, NET-JQUERY_AJAX, NET-FETCH) match the real-time plumbing a WhatsApp CRM requires, with no unexpected destination.
  • Both obfuscation matches are minification artifacts: FUNCTION_INDIRECT in a hashed content bundle and LARGE_BASE64 in a webpack chunk under funnil/assets/js/.
  • The only real external domains are app.wascript.com (developer's own service) and api.statsigcdn.com (feature flags).

False Positive Considerations

  • XIOC extractor misread CSS class names and JavaScript property paths as domains (btn.glass, color.border.accent.orange, calls.function.arguments.delta)
  • 754 low-severity code-smell matches generated by bundled and minified JavaScript
  • NET-JQUERY_AJAX, NET-SOCKET_IO and NET-FETCH rules fire on any content script using standard HTTP and websocket libraries
  • OBFUSCATION-FUNCTION_INDIRECT and OBFUSCATION-LARGE_BASE64 match normal webpack output and inlined assets

Reviewed 2026-10-16; recommended action: monitor; 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.

Latest
65
Change since first
+4
Change from previous
No change
Versions:
First analyzed version
7.4.3.50
Jun 15, 2026
Risk range
60 to 73
Across analyzed versions
Latest analyzed version
7.4.3.85
Oct 5, 2026
Selected version
minimal
Version
v7.4.3.87
3 days ago
Risk score
0
Findings
1183
Change vs previous
-65

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

About This Extension

Com novas funcionalidades para WhatsApp web, você pode ter mais controle sobre seus leads além de prospectar mais clientes com envios em massa e exportação de contatos na UpSell. Crie um verdadeiro funil de CRM para vender mais. Características: ✔ Envio em massa para seus contatos ou contatos importados por CSV ✔ Crie Abas personalizadas, encontre facilmente seus contatos importantes Visão Kanban dos contatos do WhatsApp organize seus leads ✔ Envie mensagens para um número que não esteja na sua agenda ✔ Crie notas para cada contato dentro do contato ✔ Você tem que ligar de volta? Crie lembretes para cada contato ✔ Agende Reuniões no google agenda direto ✔ Crie lembretes de forma simples e seja notificado ✔ Crie um banco de respostas rápidas para enviar com um clique ✔ Exporte todos seus contatos ou contatos de grupos ✔ Use em seu idioma nativo (português, espanhol, inglês) ✔ Borre as mensagens para criar vídeos tutorias ✔ Assistente AI — Sua inteligência artificial pronta para ajudar! Otimize seu tempo com um assistente inteligente, rápido e sempre disponível. Responda dúvidas, automatize tarefas, gere textos, traduções e muito mais com o poder da IA. Ideal para profissionais, equipes e quem busca praticidade no dia a dia. Importante: ✔ Aprovado na auditoria de segurança do Google Chrome ✔ Não usa banco de dados, tudo acontece no seu computador. UpSell é uma extensão independente do Chrome que adiciona recursos extras ao seu WhatsApp web, não fazemos parte do WhatsApp Inc., não temos contrato de uso ou licenças exclusivas

Frequently Asked Questions