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
Z Turbinado
Confirmed member of a tracked malicious supply-chain campaign.
Analysis record
- Analysed
- 5 days ago
- Version
- v7.4.3.87
- Artifact
- SHA256 947…D92
- Source
- Findings (non-IoC)
Is Z Turbinado safe?
Z Turbinado adds a customer-management layer to WhatsApp Web: labels, quick replies and chat organisation, as its store listing describes it. Its manifest carries no permission strings and no host permissions at all, though the shipped code does talk to the network, mainly app.wascript.com and api.statsigcdn.com.
Most of what our scanner flagged inside the JavaScript traces back to parsed text. Endpoint entries such as border.radius.circle, btn.glass, above.sm and below.sm come from CSS variable names and minified property chains, so they look like hostnames to the extractor while pointing at nothing. The 22 network hits include NET-SOCKET_IO-content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28912.js and NET-FETCH-background.js, and both fire whenever bundled code opens a websocket or calls fetch. A live socket fits a tool that keeps chat tabs in sync with a dashboard.
Two obfuscation findings deserve a mention. OBFUSCATION-LARGE_BASE64 points at funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js, a build file holding a long encoded chunk. If that chunk unpacked into runnable code we would say so plainly; the file matches no malware signature, and the same minified bundle sits underneath nearly every other finding.
Nothing in the scan shows the extension touching a login page, grabbing cookie values, or shipping chat data anywhere outside its own service and Statsig. The scanner tripped on bundled libraries and strings that merely look like addresses, and the behaviour we can see lines up with what the product promises.
Evidence ledger
Ranked by severity · findings with a source location link to the code viewer
YARA Rule Matches
16 rules| Severity | Rule | Hits | Files | Metadata |
|---|---|---|---|---|
| LOW | postinstall environment access | 111 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289113.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28925.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28982.js +108 more | - |
| LOW | postinstall network communication | 94 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28939.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-3a9d8748d289109.js +91 more | - |
| LOW | OriginsNotVerified | 5 | funnil/assets/js/770d23cd-9021-4aef-887e-d47811b5c322.B8_nURbH.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2896.jsfluxo/index.js +2 more | - |
| LOW | postinstall crypto operations | 44 | whatsapp/wpp/index.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28929.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289200.js +41 more | - |
| LOW | postinstall system command | 77 | fluxo/assets/css/style.csscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289257.jscrm/assets/js/2b070b0a-2c0f-4c9c-bb5b-938727270e32.CWg5n8f0.js +74 more | - |
| LOW | postinstall obfuscation | 83 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289144.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28944.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289128.js +80 more | - |
| LOW | postinstall registry modification | 8 | crm/assets/js/5e35787c-36b2-4a56-8ea4-4e0a75aa6943.D2Np3EBj.jsfluxo/assets/js/aacac57f-f9a2-4a7d-9569-51c193124758.BUttUo7e.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289149.js +5 more | - |
| LOW | postinstall file manipulation | 172 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2894.jscrm/assets/js/index.B6c6aVcv.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289197.js +169 more | - |
| LOW | postinstall file download | 55 | crm/assets/js/index.DCTZnrKF.jsfluxo/assets/js/emoji-picker-react.esm.LrTXoimj.jscrm/assets/js/5e35787c-36b2-4a56-8ea4-4e0a75aa6943.D2Np3EBj.js +52 more | - |
| LOW | NoUseEval | 1 | whatsapp/wpp/index.js | - |
| LOW | NoUseWeakRandom | 38 | whatsapp/wpp/index.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2894.jsfunnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js +35 more | - |
| LOW | SQLInjection | 1 | fluxo/index.js | - |
| LOW | ServerHostnameNotVerified | 1 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289.js | - |
| LOW | LocalStorageShouldNotBeUsed | 15 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289128.jscrm/index.jsfunnil/assets/js/68038811-0075-484f-8b19-297df42f51e1.CVYXH02z.js +12 more | - |
| LOW | credential env files | 30 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289106.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289265.jsfluxo/index.js +27 more | - |
| LOW | postinstall persistence mechanism | 19 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289195.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-3a9d8748d289200.js +16 more | - |
Publisher Evidence
Limited evidencePublisher 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.
11 evidence rows available.
Finding Categories
YARA Rules Matched
16 rules(754 hits)Requested Permissions
5 permissionsAI Security Report
AI Security Review
Evidence context: threat category none; evidence quality moderate.
The score attached to Z Turbinado (version 7.4.3.87, 71 users) comes almost entirely from volume. Of the 1194 findings, 415 are IoC matches and 754 are code-smell hits, while malware and malware-signature counts both sit at zero. The two categories that would change a verdict are empty. The network bucket holds 22 medium hits, and each one is a detector for a JavaScript primitive rather than a host: NET-FETCH-background.js-137, NET-SOCKET_IO-content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28912.js-15, and a run of NET-JQUERY_AJAX entries inside content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28923.js. A CRM that keeps chat tabs synchronised against a dashboard needs fetch, websockets and an HTTP client, and those three cover all 22.
The endpoint list supports that reading. Most entries in it never existed as hostnames: border.radius.circle, btn.glass, color.border.accent.orange, above.sm and below.sm come from CSS custom property names or from minified property chains the extractor split at a dot. The identifiers with real infrastructure behind them are api.statsigcdn.com (feature flags and product analytics), api.dev.atlassian.com together with api.stg.atlassian.com (documentation links), and app.wascript.com, the vendor's own backend. Nothing in the list points at a login page or a banking domain, and the package matches no credential-harvesting pattern.
Two medium obfuscation findings deserve a fair hearing. OBFUSCATION-LARGE_BASE64 sits in funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js, and OBFUSCATION-FUNCTION_INDIRECT sits in content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.js. A large encoded blob inside a browser extension can carry executable payload. What makes that unlikely here is the company it keeps: the blob file matches no malware signature, references no suspicious domain, and its naming pattern (UUID prefix plus build hash) follows the same generated bundle convention used across content/assets/js/. FUNCTION_INDIRECT fires on webpack module indirection, which shows up in every minified bundle in this package.
The skeptic's case rests on the raw counts, on the anonymous publisher listed only as [email protected], and on the fact that a WhatsApp CRM reads the content of every chat its user opens. That access is genuine, and the manifest's empty permission and host permission lists make it impossible to bound from the package alone. The scan still shows no exfiltration path: the only endpoints with real servers behind them are the vendor's own service and standard analytics infrastructure. A runtime capture of the socket.io channel opened in content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28912.js would close that gap by showing where synced chat data lands.
Key Reasons
- Zero malware and zero malware-signature findings; the 1194 total splits into 415 IoC and 754 code-smell entries that carry no behavioural weight
- Every network finding (NET-FETCH-background.js-137, NET-SOCKET_IO in v_...12.js, NET-JQUERY_AJAX in v_...23.js) is an API detector, consistent with a CRM that syncs chats to a dashboard
- The endpoint list contains extractor artifacts plus known infrastructure (api.statsigcdn.com, api.dev.atlassian.com, app.wascript.com); no login, banking or unknown exfiltration domain appears
- Obfuscation findings sit in generated bundle files (funnil/assets/js/9cf42769-...CgnacD38.js, content/assets/js/v_...260.js) with no malware signature or suspicious domain co-located
- No credential, cookie or history access appears in the manifest, and the empty permission list is the main open question rather than evidence of abuse
False Positive Considerations
- IoC extractor read CSS design tokens and minified property chains as hostnames (border.radius.circle, btn.glass, color.border.accent.orange, above.sm, below.sm)
- NET-FETCH, NET-SOCKET_IO and NET-JQUERY_AJAX detections fire on standard web primitives inside minified vendor bundles under content/assets/js/
- 754 code-smell hits on webpack-style bundle output with zero malware or malware-signature matches anywhere in the package
- OBFUSCATION-LARGE_BASE64 and OBFUSCATION-FUNCTION_INDIRECT land on generated build files whose naming matches the rest of the bundle set
Reviewed 2026-10-13; 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.
Pick any point on the chart to explore that version's code below.
Source Code Not Available
Source code is not available for this version of the extension.
About This Extension
Frequently Asked Questions
Similar Extensions
Related extensions from the same publisher or marketplace
waSuper
[email protected]
Wa Elo IA
[email protected]
Whapro – Automação, CRM e Vendas no WhatsApp Web
[email protected]
Vende+
[email protected]
WaListall | O Melhor CRM para WhatsApp Web – Teste Grátis
[email protected]
InfiChat
[email protected]