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

WAPIN

by [email protected] · 5.0 rating
b406cfae-9d9f-5dfc-a95e-f0bc03161512 | v7.4.3.87
65/ 100
MEDIUM risk
No change since v7.4.3.86
Threat verdict
Do not install

Confirmed member of a tracked malicious supply-chain campaign.

Analysis record

Analysed
Yesterday
Version
v7.4.3.87
Artifact
SHA256 CE9…346
Source
Findings (non-IoC)

Is WAPIN safe?

WAPIN is a customer-management add-on for WhatsApp Web. Its code opens a live connection with Socket.IO and talks to the developer's own host, app.wascript.com, which is what a chat CRM needs to sync contacts and replies. The scan recorded no special browser permissions and no host permissions for the extension.

Most of the matches come from the libraries WAPIN ships. A finding called NET-JQUERY_AJAX points at ordinary jQuery request code, and NET-SOCKET_IO points at the live-connection library, in files like content/assets/js/v_7_4_3_86_085ff17f-7684-4a41-bfdd-8bd9d5293bb212.js. Every chat client contains both. If that code were stealing anything, it would be sending data to a specific address, and nothing in the scan points anywhere except the developer's own service. Two obfuscation flags, including OBFUSCATION-LARGE_BASE64 in funnil/assets/js/ed6113f2-bc09-4421-a453-bbbd66fe9488.DCssQ7AT.js, mark an inlined asset blob and the indirection a minifier leaves behind.

The scanner also reported hundreds of indicators that turn out to be CSS values and code fragments. Border.radius.circle, btn.glass and calls.function.arguments.delta were read as web addresses when they are design tokens and a field name from an API response. That kind of mismatch is why the total looks alarming while the substance is thin, and across more than a thousand matches there were no malware signatures at all.

What matters for you is simpler. WAPIN can see whatever chats you have open, so the company behind app.wascript.com is what you are trusting. The code shows no sign of taking that data anywhere you did not ask it to.

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-3a9d8748d2899.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289208.jscrm/index.js +27 more
-
LOWpostinstall persistence mechanism 19
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2894.jsfunnil/assets/js/2e0cf7f6-e9bc-41e0-84b5-f570a0e461c8.B8VBrnTG.jscrm/assets/css/style.css +16 more
-
LOWpostinstall file download 55
crm/assets/js/emoji-picker-react.esm.aMh8OwYb.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289137.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2895.js +52 more
-
LOWNoUseEval 1
whatsapp/wpp/index.js
-
LOWNoUseWeakRandom 38
fluxo/assets/js/aacac57f-f9a2-4a7d-9569-51c193124758.BUttUo7e.jscrm/assets/js/9dad81b5-b157-4788-80f8-467ec81980f7.Da0m4lTf.jscrm/assets/js/81588378-4894-485b-a1a7-52b1571a56a9.B9qdt_GQ.js +35 more
-
LOWSQLInjection 1
fluxo/index.js
-
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-3a9d8748d289128.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28924.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28927.js +12 more
-
LOWpostinstall environment access 111
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289190.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28911.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.js +108 more
-
LOWpostinstall network communication 94
crm/index.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289167.js_metadata/verified_contents.json +91 more
-
LOWOriginsNotVerified 5
funnil/assets/js/770d23cd-9021-4aef-887e-d47811b5c322.B8_nURbH.jsfluxo/assets/js/b89d7b82-41f7-4061-9bc0-ae95ae5cd0a2.BLiJgZ4E.jsfluxo/index.js +2 more
-
LOWpostinstall crypto operations 44
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28929.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2894.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28939.js +41 more
-
LOWpostinstall system command 77
fluxo/index.jscrm/assets/js/b3c3d2a2-f432-4ecd-a3f4-0b4582cc4a6c.B8_nURbH.js_metadata/verified_contents.json +74 more
-
LOWpostinstall obfuscation 83
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28975.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289128.jsfluxo/assets/js/menu.CXOIlAjw.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-3a9d8748d289175.jsfluxo/assets/js/aacac57f-f9a2-4a7d-9569-51c193124758.BUttUo7e.js +5 more
-
LOWpostinstall file manipulation 172
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289193.jscrm/assets/js/22224ae4-c9a0-456b-97d3-6f47a43e6f69.cO50aLre.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28939.js +169 more
-

Network Indicators

Concrete URLs, domains, IPs, emails, and hashes extracted from the analyzed artifact.

421 total

Loading network indicators

IoC detail rows are loaded outside the initial page render.

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
421
IoC Indicators

YARA Rules Matched

16 rules(754 hits)
credential env files postinstall persistence mechanism postinstall file download NoUseEval NoUseWeakRandom SQLInjection ServerHostnameNotVerified LocalStorageShouldNotBeUsed 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.

WAPIN describes itself as a CRM for WhatsApp Web, and its files match that description. The extension ships a background.js plus two content script trees, content/assets/js/ and funnil/assets/js/, and the network findings inside them are the ordinary plumbing of a chat client: NET-SOCKET_IO at content/assets/js/v_7_4_3_86_085ff17f-7684-4a41-bfdd-8bd9d5293bb212.js:15, NET-JQUERY_AJAX at content/assets/js/v_7_4_3_86_085ff17f-7684-4a41-bfdd-8bd9d5293bb223.js:13, and a dozen NET-FETCH hits across the same directory plus background.js:137. Socket.IO and jQuery are the libraries a chat CRM uses to hold a live connection and poll a backend. None of these findings names a destination host, so they describe capability, the ability to talk to a server, rather than any specific data path out.

The endpoint list is where the noise becomes plain. Alongside app.wascript.com, which reads as the vendor's own service, the scanner reports border.radius.circle, color.border.accent.orange, btn.glass, artboard.phone, above.sm, calls.function.arguments.delta and avatar.online. Those are CSS design tokens, utility class names and a streaming API field name lifted out of minified JavaScript, and the extractor matched dot-separated identifier chains as if they were hostnames. api.statsigcdn.com and the Atlassian API hosts carry the same problem one step removed: they arrive from bundled third-party code and embedded strings, not from code that posts chats anywhere.

Obfuscation accounts for two findings. OBFUSCATION-LARGE_BASE64 in funnil/assets/js/ed6113f2-bc09-4421-a453-bbbd66fe9488.DCssQ7AT.js:1 is a base64 blob, which in a webpack-style asset build is usually an inlined font, image or JSON payload. OBFUSCATION-FUNCTION_INDIRECT in content/assets/js/v_7_4_3_86_085ff17f-7684-4a41-bfdd-8bd9d5293bb2259.js:1 matches the call indirection any minifier produces. Neither sits beside a malware match. The scan returned zero malware family signatures of any kind across 1,201 findings, and zero critical or high severity items. What remains is 754 code-smell hits and 422 indicator matches, the documented noise floor of bundled JavaScript.

A skeptic would push back hard here, and reasonably. WAPIN reads WhatsApp Web, so every message, contact and group name a user has open sits within its reach, and it opens a socket to a third-party domain. That is a genuine capability. It is also why we treat this as a powerful extension that asks for trust rather than as a harmless one, and why the destination of that Socket.IO channel sits outside what static reading can settle. What the code does show is the absence of harvesting behaviour: no login-domain indicators, no cookie reads paired with transmission, no file reading, and no malware signature anywhere in the tree. The count is high because 50-odd bundled libraries each trip their own generic rules, which multiplies one benign pattern into hundreds of rows. One limitation is worth stating plainly: the recorded permission and host_permission lists come back empty, so we cannot compare what WAPIN asks for in its manifest against what its scripts do. That gap, not the finding volume, is the thing to check on the next release.

Key Reasons

  • Zero malware signatures and zero critical or high severity findings across 1,201 matches in a versioned, identifiable release
  • Network findings are library-typical for a chat client: NET-SOCKET_IO, NET-JQUERY_AJAX and NET-FETCH in content/assets/js/ and background.js:137, none naming a destination host
  • Reported endpoints include CSS design tokens and code fragments (border.radius.circle, btn.glass, calls.function.arguments.delta, above.sm), showing extractor false positives rather than real hosts
  • Obfuscation flags are an inlined base64 asset in funnil/assets/js/ed6113f2-bc09-4421-a453-bbbd66fe9488.DCssQ7AT.js and minifier indirection in content/assets/js/v_7_4_3_86_085ff17f-7684-4a41-bfdd-8bd9d5293bb2259.js, with no malware family co-located
  • Publisher is reachable at [email protected] and the extension has only 21 users, a poor hiding place for deliberate malware

False Positive Considerations

  • 754 code-smell findings from generic rules matching bundled npm libraries (Node patterns, env vars, eval-style constructs)
  • 422 IoC matches that include minified identifier chains and CSS token strings misread as domains
  • Obfuscation rules firing on an inlined base64 asset blob and webpack-style function indirection
  • High finding count amplified by many bundled libraries each tripping its own YARA and IoC rule

Reviewed 2026-10-10; recommended action: monitor; model confidence 75%.

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 14, 2026
Selected version
medium
Version
v7.4.3.87
Yesterday
Risk score
65
Findings
1200
Change vs previous
No change

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 WAPIN. 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. WAPIN é 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