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

Vecta Hub - Tecnologia que ajuda sua empresa a vender mais

by [email protected] · 8 users · 5.0 rating
7026ae2e-e7ae-5be9-be7a-45ed8e3894dc | v7.4.3.87
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
1 weeks ago
Version
v7.4.3.87
Artifact
SHA256 16F…47E
Source
Findings (non-IoC)

Is Vecta Hub - Tecnologia que ajuda sua empresa a vender mais safe?

Vecta Hub adds a CRM, chatbot and follow-up dashboard on top of WhatsApp Web, aimed at small businesses that sell through WhatsApp. The manifest data collected here lists no host permissions and no API permissions, so nothing in this bundle shows the extension asking for broad access to your browsing. Its network list includes app.wascript.com, which is the service the extension talks to, plus library addresses such as api.statsigcdn.com that come from code packaged inside it.

Most of the scanner's attention landed on how the code communicates. Findings titled NET-SOCKET_IO and NET-FETCH point at files like background.js and content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28912.js. If those were feeding a server that collected your messages behind your back, that would matter a great deal. Here they point at what a WhatsApp add-on needs: a live connection so new messages reach the dashboard, and ordinary web requests to load data.

The scanner also flagged two obfuscation items, a large base64 block in funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js and indirect function calls in one of the content chunks. Both are normal output from the tools that package JavaScript for browsers: content-hashed filenames, inlined images, minified code. The hundreds of domain-shaped strings the scanner collected, things like 4vz.hn and artboard.phone, were cut out of compressed code and are not addresses anything contacts. No malware signature matched anywhere in the extension.

Evidence ledger

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

780 detail rows

YARA Rule Matches

16 rules
SeverityRuleHitsFilesMetadata
LOWpostinstall file download 56
fluxo/assets/js/emoji-picker-react.esm.LrTXoimj.jscrm/assets/js/index.DCTZnrKF.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28944.js +53 more
-
LOWNoUseEval 1
whatsapp/wpp/index.js
-
LOWNoUseWeakRandom 38
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28927.jsfluxo/assets/js/b89d7b82-41f7-4061-9bc0-ae95ae5cd0a2.BLiJgZ4E.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28944.js +35 more
-
LOWSQLInjection 1
fluxo/index.js
-
LOWcredential env files 30
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289196.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289208.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289209.js +27 more
-
LOWpostinstall persistence mechanism 19
crm/assets/js/emoji-picker-react.esm.aMh8OwYb.jsfluxo/assets/js/emoji-picker-react.esm.LrTXoimj.jsfunnil/assets/css/style.css +16 more
-
LOWpostinstall environment access 111
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28914.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289231.jsfunnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js +108 more
-
LOWpostinstall network communication 94
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28922.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28932.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.js +91 more
-
LOWOriginsNotVerified 5
fluxo/index.jscrm/assets/js/b3c3d2a2-f432-4ecd-a3f4-0b4582cc4a6c.B8_nURbH.jsfunnil/assets/js/770d23cd-9021-4aef-887e-d47811b5c322.B8_nURbH.js +2 more
-
LOWpostinstall crypto operations 44
crm/assets/js/5e35787c-36b2-4a56-8ea4-4e0a75aa6943.D2Np3EBj.jscrm/index.jsfluxo/assets/js/b89d7b82-41f7-4061-9bc0-ae95ae5cd0a2.BLiJgZ4E.js +41 more
-
LOWpostinstall system command 77
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289128.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.jsfunnil/assets/js/1d2bb46d-fc90-4d3e-913e-6de868f5b92e.DeRmtv56.js +74 more
-
LOWpostinstall obfuscation 83
crm/assets/js/index.C3nosisq.jsfunnil/assets/js/2e0cf7f6-e9bc-41e0-84b5-f570a0e461c8.B8VBrnTG.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2893.js +80 more
-
LOWpostinstall registry modification 8
crm/assets/js/5e35787c-36b2-4a56-8ea4-4e0a75aa6943.D2Np3EBj.jsfunnil/assets/js/68038811-0075-484f-8b19-297df42f51e1.CVYXH02z.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289175.js +5 more
-
LOWpostinstall file manipulation 172
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289198.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289265.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289240.js +169 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-3a9d8748d289260.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28923.jsfluxo/assets/js/aacac57f-f9a2-4a7d-9569-51c193124758.BUttUo7e.js +12 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
451
IoC Indicators

YARA Rules Matched

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

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.

Vecta Hub is a WhatsApp Web add-on marketed as a CRM, chatbot and follow-up suite for small businesses. It ships as a Chrome extension, version 7.4.3.87, published under the contact address [email protected], with 8 users at scan time. The bundle holds content scripts under content/assets/js/ plus background.js. The endpoints the scanner pulled include app.wascript.com, api.statsigcdn.com and api.atlassian.com. The last two belong to bundled SDKs (a feature-flag client and an Atlassian library); app.wascript.com is the one address that reads like this product's own service. The rest of that endpoint list is junk: 4vz.hn, 9j.dk, above.sm and artboard.phone are fragments cut out of minified code, not hosts anything contacts.

Every network finding is a library pattern. None names a destination that is out of place. NET-SOCKET_IO fires in content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28912.js and three other chunk files, NET-FETCH fires in background.js:137 and in a dozen content chunks, and NET-JQUERY_AJAX fires across the same chunk family. Those titles describe how the code talks to a server, a live Socket.IO channel plus ordinary fetch and ajax calls, which is what a chat tool needs to receive new messages and push them into a CRM pipeline.

Two obfuscation findings sit in the medium band. OBFUSCATION-LARGE_BASE64 was raised on funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js, and OBFUSCATION-FUNCTION_INDIRECT on content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.js. The file names carry content hashes, which is what webpack and Vite emit, and indirect function calls are what a minifier produces when it swaps named references for array lookups. A large base64 literal inside a bundle is normally an inlined image, font or source map. Neither finding sits next to a malware signature: the scan recorded zero malware-signature matches, zero malware matches and zero tool-poisoning matches across 1,232 findings, and the 755 low-severity code-smell hits are the generic JavaScript patterns that fire on any packaged app.

A fair objection: a WhatsApp automation tool can read every conversation a user has and forward it to a server the user has never heard of, app.wascript.com is not a household name, the developer line is an email address rather than a registered brand, and 8 users is a thin install base to judge by. All of that holds. What it does not change is that the store description states the CRM and chatbot function openly, the manifest data here lists no host permissions and no API permissions, and the categories that would flag concealed data theft came back empty. A CRM cannot work without a backend, so the Socket.IO connection is the product doing what it advertises.

What would move this off a clean read: a malware signature sharing a file with the base64 blob under funnil/, a hardcoded endpoint outside the product's own domain, or host permissions granting access to sites the described feature does not need. None of those are present in this evidence.

Key Reasons

  • Zero malware-signature, malware and tool-poisoning matches across 1,232 findings; all 22 network findings are library detections (NET-SOCKET_IO, NET-FETCH, NET-JQUERY_AJAX) in bundled chunk files under content/assets/js/.
  • The two obfuscation findings, OBFUSCATION-LARGE_BASE64 in funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js and OBFUSCATION-FUNCTION_INDIRECT in content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.js, match bundler and minifier output rather than concealed payloads.
  • 755 low-severity code-smell findings and 452 IoCs are documented noise categories; the endpoint list contains extractor junk such as 4vz.hn, 9j.dk and artboard.phone.
  • The only first-party-looking endpoint, app.wascript.com, fits the disclosed WhatsApp CRM and chatbot function, and the manifest data lists no host or API permissions.
  • No credential, cookie, search-hijack or proxyware indicators appear anywhere in the finding set.

False Positive Considerations

  • 755 low-severity code-smell rules firing on minified bundled JavaScript
  • 452 IoCs dominated by extractor garbage domain fragments (4vz.hn, 9j.dk, artboard.phone)
  • 22 network findings are library-pattern detections (Socket.IO, fetch, jQuery ajax) inside content chunks
  • Large base64 literal and indirect function calls in content-hashed bundler output

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

Chrome version history

Risk trend by version

16 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.87
Oct 9, 2026
Selected version
medium
Version
v7.4.3.87
1 weeks ago
Risk score
65
Findings
1233
Change vs previous
No change

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

About This Extension

Características do CRM Vecta Hub: ✔ Envio em massa para contatos ou importados via CSV – Envie mensagens para múltiplos contatos de maneira rápida e prática, sem complicação. ✔ Criação de Abas Personalizadas – Organize seus contatos de forma eficiente e encontre facilmente os mais importantes. ✔ Visão Kanban dos Contatos – Tenha uma visão clara e organizada dos seus contatos com a opção de arrastar e soltar. ✔ Envio de Mensagens para Números Não Salvos – Envie mensagens para qualquer número, mesmo que não esteja na sua agenda, sem precisar adicionar à lista de contatos. ✔ Criação de Notas Personalizadas – Anote informações importantes para cada contato diretamente no perfil deles. ✔ Lembretes para Contatos – Nunca se esqueça de retornar uma ligação ou seguir com um compromisso. Crie lembretes específicos para cada contato. ✔ Agendamento de Reuniões no Google Agenda – Agende compromissos diretamente no seu Google Agenda com facilidade, sem precisar sair da plataforma. ✔ Lembretes Simples e Notificações – Crie lembretes rápidos e receba notificações diretamente no seu dispositivo. ✔ Banco de Respostas Rápidas – Tenha respostas pré-configuradas e envie com um clique para otimizar seu tempo. ✔ Exportação de Contatos do Wpp – Exporte seus contatos diretamente do Wpp ou de grupos de Wpp para facilitar a organização. ✔ Suporte Multilíngue – Use a plataforma em seu idioma nativo: português, espanhol ou inglês, garantindo facilidade de uso. ✔ 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. CRM Vecta Hub é uma ferramenta independente, sem qualquer vínculo com o WhatsApp ou a empresa responsável. Funciona exclusivamente através da Chrome Web Store e opera de maneira autônoma. Não somos uma ferramenta oficial do WhatsApp, mas oferecemos funcionalidades inovadoras para quem precisa de mais praticidade na gestão de contatos e mensagens.

Frequently Asked Questions