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
CLINICHAT
Confirmed member of a tracked malicious supply-chain campaign.
Analysis record
- Analysed
- 6 days ago
- Version
- v7.4.3.87
- Artifact
- SHA256 EB7…44C
- Source
- Findings (non-IoC)
Is CLINICHAT safe?
CLINICHAT adds a small CRM panel to WhatsApp Web, letting you tag chats, save canned replies and track leads without leaving the browser tab. The extension declares no Chrome permissions and no host permissions, so it works through content scripts that run alongside the WhatsApp page. Its bundle reaches app.wascript.com, the vendor's own backend for the CRM, and api.statsigcdn.com, which serves feature flags.
The scanner points at scripts such as content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28924.js, where a jQuery AJAX call sits at line 181, and background.js, where a fetch call starts at line 137. A WhatsApp CRM has to send and receive data to line up your inbox with the panel, and a socket connection keeps both sides in sync. A large base64 string in funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js draws the same explanation: build tools inline images, fonts and config into files like this one every day, and an inlined asset looks identical to a hidden payload until someone decodes it.
What would change our mind: a decoded payload that contacts an unrelated server, or an endpoint with no connection to chat management. Neither shows up here. No malware signature matched anything, nothing points at a login page or a bank, and a large share of the flagged items come from an extractor that reads fragments like btn.glass, ae.jobs and color.border.accent.orange as internet domains. Those strings are CSS class names and object properties, and they do not resolve.
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 file download | 55 | fluxo/assets/ttf/Segoeuibold.chunk.ttfcontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2899.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289236.js +52 more | - |
| LOW | NoUseEval | 1 | whatsapp/wpp/index.js | - |
| LOW | NoUseWeakRandom | 38 | fluxo/index.jscrm/assets/js/b15575b9-e8eb-4d64-83b8-37d47f2b0b0a.BbRllemT.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2899.js +35 more | - |
| LOW | SQLInjection | 1 | fluxo/index.js | - |
| LOW | credential env files | 30 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289114.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289145.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289175.js +27 more | - |
| LOW | postinstall persistence mechanism | 19 | fluxo/assets/js/emoji-picker-react.esm.LrTXoimj.jscrm/assets/js/22224ae4-c9a0-456b-97d3-6f47a43e6f69.cO50aLre.jsfluxo/assets/js/aacac57f-f9a2-4a7d-9569-51c193124758.BUttUo7e.js +16 more | - |
| LOW | postinstall environment access | 111 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28950.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289185.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289128.js +108 more | - |
| LOW | postinstall network communication | 94 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289224.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28939.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28958.js +91 more | - |
| LOW | OriginsNotVerified | 5 | fluxo/assets/js/b89d7b82-41f7-4061-9bc0-ae95ae5cd0a2.BLiJgZ4E.jsfluxo/index.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2896.js +2 more | - |
| LOW | postinstall crypto operations | 44 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2894.jsfluxo/assets/js/modal.C4gLhAPo.jsfunnil/assets/js/cd52f586-58a7-445a-a045-5f4032b22b71.qLgWFQJ-.js +41 more | - |
| LOW | postinstall system command | 77 | crm/assets/js/index.DCTZnrKF.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289166.jscrm/assets/js/5e35787c-36b2-4a56-8ea4-4e0a75aa6943.D2Np3EBj.js +74 more | - |
| LOW | postinstall obfuscation | 83 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28931.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289187.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28927.js +80 more | - |
| LOW | postinstall registry modification | 8 | 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-3a9d8748d289175.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-3a9d8748d28936.jscrm/assets/js/b3c3d2a2-f432-4ecd-a3f4-0b4582cc4a6c.B8_nURbH.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289111.js +169 more | - |
| LOW | ServerHostnameNotVerified | 1 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289.js | - |
| LOW | LocalStorageShouldNotBeUsed | 15 | fluxo/assets/js/aacac57f-f9a2-4a7d-9569-51c193124758.BUttUo7e.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2895.jsfluxo/assets/js/emoji-picker-react.esm.LrTXoimj.js +12 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.
CLINICHAT bills itself as a CRM for WhatsApp Web, and the code behaves like one. Its content scripts carry jQuery AJAX and Socket.IO calls (content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28924.js at line 181, v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28912.js at line 15), and background.js opens a fetch at line 137. A tool that organizes chats into pipelines has to read the thread and sync it with a server, so those network findings describe the product's stated job.
The manifest ships no Chrome permissions and no host permissions. That restraint matters: nothing here asks for cookies, tabs, history, downloads or a search-engine override, and there is no mechanism in the permission set to swap the new tab page or redirect searches. Zero malware signatures matched anything, and no finding names a login page, wallet or bank.
Most of the flagged volume comes from noise. The endpoint list reads like an extractor that mistook JavaScript property chains and CSS tokens for hostnames: border.radius.circle, btn.glass, color.border.accent.orange, calls.function.arguments.delta and ae.jobs cannot resolve as domains. The entries that do resolve belong to bundled dependencies and the vendor. app.wascript.com carries the CRM backend, api.statsigcdn.com serves feature flags, and the api.atlassian.com and api.stg.atlassian.com entries arrive with a bundled SDK. The 754 code-smell hits and 414 low-severity indicators follow the same pattern: minified, bundled JavaScript trips broad rules on fetch, exec and environment access without doing anything unusual.
Two obfuscation findings deserve a direct answer. OBFUSCATION-LARGE_BASE64 points at funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js, and OBFUSCATION-FUNCTION_INDIRECT points at content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.js. Both sit inside hashed build output, where webpack and esbuild inline images, fonts and config as base64 and route exports through indirection helpers. Neither file carries a malware signature alongside it, which is the combination that points at deliberate hiding.
A skeptic has two fair objections. A CRM for WhatsApp reads every message in every thread, and anything it reads can leave the machine; the destination for that data is the vendor's backend at app.wascript.com. The publisher shows only the address [email protected] and a user count of 8, so there is no track record to weigh. Both objections concern what the code could do, not what the findings show it doing. Nothing here reveals a second destination, a credential target or a hijack, and the base64 block is exactly where such a thing would hide if it existed.
Decoding funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js and watching live socket traffic during a test session would settle the one open question.
Key Reasons
- Zero malware signatures across the whole scan; volume comes from 754 code-smell hits and 414 low-severity indicators on bundled JavaScript.
- Manifest declares no Chrome permissions and no host permissions, which rules out cookie, history, tab and search-engine abuse.
- Endpoint list contains artifacts that cannot resolve as domains, such as border.radius.circle, btn.glass and color.border.accent.orange.
- Network findings (NET-FETCH at background.js:137, NET-SOCKET_IO and NET-JQUERY_AJAX in content scripts) match the stated CRM function of syncing WhatsApp chats.
- Both obfuscation findings sit in hashed build artifacts (funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js), consistent with webpack output rather than hand-written obfuscation.
False Positive Considerations
- Broad code-smell rules firing on minified bundled JavaScript (fetch, exec, environment access)
- IoC extractor reading CSS tokens and property chains such as border.radius.circle and btn.glass as hostnames
- Hashed build artifacts (v_7_4_3_87_
.js, .CgnacD38.js) counted as obfuscation - Third-party and dependency domains (api.statsigcdn.com, api.atlassian.com) listed as extension endpoints
Reviewed 2026-10-13; recommended action: suppress false positive; model confidence 70%.
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.
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]