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

Primeira Classe

by [email protected] · 9 users · 5.0 rating
f5385dbf-efe1-5f34-9deb-7dbc53fb1332 | v7.4.3.87
0/ 100
MINIMAL risk
-65 since v7.4.3.86
65 → 0 · false positives removed
Threat verdict
Do not install

Confirmed member of a tracked malicious supply-chain campaign.

Analysis record

Analysed
Today
Version
v7.4.3.87
Artifact
SHA256 5A4…A7A
Source
Findings (non-IoC)

Is Primeira Classe safe?

Primeira Classe is a Portuguese-language CRM that puts a control panel inside WhatsApp Web so you can tag chats, save quick replies and keep track of leads. The scan of its files recorded no browser permissions and no host permissions, so it does not ask Chrome for your cookies, downloads or browsing history. The network calls in the code are ordinary: fetch requests and a socket.io connection, with app.wascript.com as the vendor's own service and api.statsigcdn.com used for feature flags. Most of the other addresses on the list, such as above.sm, below.sm and border.radius.circle, are CSS values and JavaScript property names that were read as web addresses.

The entries that might look alarming are network matches in files like content/assets/js/v_7_4_3_86_085ff17f-7684-4a41-bfdd-8bd9d5293bb223.js, labelled NET-JQUERY_AJAX, and an OBFUSCATION-LARGE_BASE64 hit in funnil/assets/js/ed6113f2-bc09-4421-a453-bbbd66fe9488.DCssQ7AT.js. The first is jQuery's own Ajax helper bundled into a versioned chunk, which nearly every extension that talks to a server ships. The second is a base64 string inside a build file. If that string were a hidden payload, we would expect to see it decoded and executed somewhere in the extension, and no such code path was found.

The high number of entries here comes from volume, not from behaviour. 754 of them are code-quality notes, and 405 are strings harvested out of minified JavaScript, including fragments that are not addresses at all. Zero malware signatures matched. Nothing in the scan shows the extension reading credentials, touching cookies or contacting a service outside its own backend.

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 55
fluxo/assets/ttf/Segoeuibolditalic.chunk.ttfcontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28927.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28925.js +52 more
-
LOWNoUseEval 1
whatsapp/wpp/index.js
-
LOWNoUseWeakRandom 38
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2899.jsfunnil/index.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28925.js +35 more
-
LOWSQLInjection 1
fluxo/index.js
-
LOWcredential env files 30
crm/assets/js/b15575b9-e8eb-4d64-83b8-37d47f2b0b0a.BbRllemT.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289240.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289114.js +27 more
-
LOWpostinstall persistence mechanism 19
fluxo/assets/js/aacac57f-f9a2-4a7d-9569-51c193124758.BUttUo7e.jscrm/assets/js/5e35787c-36b2-4a56-8ea4-4e0a75aa6943.D2Np3EBj.jsfluxo/assets/js/emoji-picker-react.esm.LrTXoimj.js +16 more
-
LOWServerHostnameNotVerified 1
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289.js
-
LOWLocalStorageShouldNotBeUsed 15
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-3a9d8748d28924.js +12 more
-
LOWpostinstall environment access 111
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289188.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289174.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28914.js +108 more
-
LOWpostinstall network communication 94
whatsapp/wpp_module/index.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28923.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28989.js +91 more
-
LOWOriginsNotVerified 5
fluxo/index.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
crm/assets/js/index.DCTZnrKF.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28911.jsfunnil/assets/js/cd52f586-58a7-445a-a045-5f4032b22b71.qLgWFQJ-.js +41 more
-
LOWpostinstall system command 77
fluxo/assets/js/createAudio.CLFqrCFJ.jsfunnil/assets/css/style.csscrm/assets/js/b3c3d2a2-f432-4ecd-a3f4-0b4582cc4a6c.B8_nURbH.js +74 more
-
LOWpostinstall obfuscation 83
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289167.jscrm/assets/js/b3c3d2a2-f432-4ecd-a3f4-0b4582cc4a6c.B8_nURbH.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289261.js +80 more
-
LOWpostinstall registry modification 8
content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289149.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289175.js +5 more
-
LOWpostinstall file manipulation 172
fluxo/assets/js/index.DWsmud50.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28918.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289219.js +169 more
-

Network Indicators

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

404 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.

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)
postinstall file download NoUseEval NoUseWeakRandom SQLInjection credential env files postinstall persistence mechanism 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.

Primeira Classe is a WhatsApp Web CRM that adds chat organisation and message automation to web.whatsapp.com. The scan returned 1,184 findings and none of them are malware: malware-signature 0, malware 0, secret 0, dependency 0, tool-poisoning 0. What is left is 754 code-smell entries, 405 IoCs, 22 network matches, 2 obfuscation matches and a single manifest-analysis item.

The network findings describe bundled libraries, not custom data channels. Titles such as NET-JQUERY_AJAX-content/assets/js/v_7_4_3_86_085ff17f-7684-4a41-bfdd-8bd9d5293bb223.js-13 and NET-SOCKET_IO-content/assets/js/v_7_4_3_86_085ff17f-7684-4a41-bfdd-8bd9d5293bb212.js-15 are jQuery's Ajax helper and the socket.io client inside versioned build chunks. A CRM that syncs contacts and message templates needs a websocket and HTTP calls, so this is expected surface rather than evidence of intent. The endpoint list supports that reading: app.wascript.com is the vendor's own service and api.statsigcdn.com is a feature-flag CDN. The rest of the list, including above.sm, below.sm, border.radius.circle, btn.glass and calls.function.arguments.delta, is CSS values and JavaScript property chains that the extractor read as hostnames. Those strings cannot resolve to anything.

The two obfuscation hits sit inside build artifacts. OBFUSCATION-LARGE_BASE64 fires on funnil/assets/js/ed6113f2-bc09-4421-a453-bbbd66fe9488.DCssQ7AT.js, and OBFUSCATION-FUNCTION_INDIRECT fires on content/assets/js/v_7_4_3_86_085ff17f-7684-4a41-bfdd-8bd9d5293bb2259.js. A base64 blob in a hashed bundle is common for embedded fonts, icons or small assets, and indirect function calls are a standard minifier output. Neither file carries a malware signature, and no credential, cookie or storage API use was flagged anywhere in the extension.

A sceptic has a fair case. A content script running on WhatsApp Web can read every message the user has open, the publisher is a bare email address ([email protected]) with no company behind the listing, the user base is 10, and a large base64 blob is exactly where a loader would hide a payload. That argument points at capability, and capability is not behaviour. The scanned files show no code path from that blob to eval, no calls to chrome.cookies or chrome.storage, and no destination outside the vendor's own backend and a statsig CDN. Two things would settle it: the decoded contents of ed6113f2-bc09-4421-a453-bbbd66fe9488.DCssQ7AT.js, and the content_scripts match patterns in the manifest, since nothing in this scan records the permissions the extension actually requests. Neither gap changes what the current evidence shows.

Zero malware signatures, zero credential-access findings, zero suspicious third-party destinations. The finding count is high because 754 code-quality notes and 405 harvested strings were counted, and because each bundled library produced its own matches in every chunk file.

Key Reasons

  • Zero malware, malware-signature, secret, dependency and tool-poisoning matches across 1,184 findings.
  • All 22 network findings are bundled library patterns (NET-JQUERY_AJAX, NET-SOCKET_IO, NET-FETCH) inside hashed versioned chunk files, consistent with a CRM syncing to its own backend.
  • Only app.wascript.com and api.statsigcdn.com look like real destinations; entries such as border.radius.circle, btn.glass and above.sm are CSS values and property chains misread as domains.
  • Both obfuscation hits (OBFUSCATION-LARGE_BASE64 in funnil/assets/js/ed6113f2-bc09-4421-a453-bbbd66fe9488.DCssQ7AT.js and OBFUSCATION-FUNCTION_INDIRECT in content/assets/js/v_7_4_3_86_085ff17f-7684-4a41-bfdd-8bd9d5293bb2259.js) sit in minified build artifacts and are not colocated with any signature.
  • No impersonation signal: the name Primeira Classe and the store listing do not copy a known extension.

False Positive Considerations

  • IoC extraction from minified JavaScript: CSS values and property chains parsed as hostnames (border.radius.circle, btn.glass, above.sm, below.sm)
  • 754 code-smell findings generated by bundling standard JavaScript libraries
  • Bundled jQuery and socket.io client triggering network rules in every chunk file
  • Base64 strings and minifier function indirection flagged as obfuscation in build output

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

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.51
Jun 17, 2026
Risk range
60 to 73
Across analyzed versions
Latest analyzed version
7.4.3.86
Oct 8, 2026
Selected version
minimal
Version
v7.4.3.87
Today
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 Primeira Classe. 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 do seu whatsapp ✔ Crie lembretes de forma simples e seja notificado no seu próprio whatsapp web ✔ Crie um banco de respostas rápidas para enviar com um clique ✔ Exporte todos seus contatos do whatsapp ou contatos de grupos de wpp ✔ Use em seu idioma nativo (português, espanhol, inglês) ✔ Borre as mensagens do seu whatsapp web 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. Primeira Classe é 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. WhatsApp é a marca registrada da WhatsApp Inc.

Frequently Asked Questions