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
UpSell
Confirmed member of a tracked malicious supply-chain campaign.
Analysis record
- Analysed
- 3 days ago
- Version
- v7.4.3.87
- Artifact
- SHA256 F33…75E
- Source
- Findings (non-IoC)
Is UpSell safe?
UpSell is a CRM add-on for WhatsApp Web. It adds a sales dashboard, chat organisation and follow-up tools to web.whatsapp.com, which is why its code runs content scripts under content/assets/js/ and keeps a live connection through background.js. The package as scanned declares no browser permissions and no host permissions, which is unusual for something that operates on WhatsApp pages and probably means the manifest was not fully captured in this pass. The endpoints it reaches are app.wascript.com, which looks like the developer's own service, api.statsigcdn.com, a standard feature-flag service, and a set of Atlassian hosts pulled in from bundled tooling.
The most substantive flag is a large base64 block in funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js. If that were packed malicious code, it would mean the extension ships hidden instructions. Base64 of that size inside a hashed JavaScript chunk is almost always an inlined image, font or worker file. The network matches across the content scripts are jQuery Ajax, Socket.IO and fetch calls, which is how a live chat client stays connected while it reads the page.
Most of the noise comes from the scanner itself. The endpoint list contains items like btn.glass and color.border.accent.orange, which are CSS class names, and calls.function.arguments.delta, which is a field in a streaming API response. Hundreds of low-severity code-quality matches come from the bundled and minified JavaScript. No malware signatures, no secret or credential findings and no tool-poisoning findings show up anywhere in the package.
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 | credential env files | 30 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289265.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289216.jscrm/index.js +27 more | - |
| LOW | postinstall persistence mechanism | 19 | crm/index.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.jsfunnil/assets/js/2e0cf7f6-e9bc-41e0-84b5-f570a0e461c8.B8VBrnTG.js +16 more | - |
| 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-3a9d8748d28924.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.jscrm/assets/js/emoji-picker-react.esm.aMh8OwYb.js +12 more | - |
| LOW | postinstall file download | 55 | fluxo/assets/ttf/Segoeuibolditalic.chunk.ttffunnil/assets/ttf/Segoeuiitalic.chunk.ttfcontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2895.js +52 more | - |
| LOW | NoUseEval | 1 | whatsapp/wpp/index.js | - |
| LOW | NoUseWeakRandom | 38 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28922.jsfunnil/index.jswhatsapp/wpp/index.js +35 more | - |
| LOW | SQLInjection | 1 | fluxo/index.js | - |
| LOW | postinstall environment access | 111 | fluxo/assets/js/emoji-picker-react.esm.LrTXoimj.jsfunnil/assets/js/68038811-0075-484f-8b19-297df42f51e1.CVYXH02z.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28978.js +108 more | - |
| LOW | postinstall network communication | 94 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289231.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289159.jsfluxo/index.js +91 more | - |
| LOW | OriginsNotVerified | 5 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2896.jsfluxo/assets/js/b89d7b82-41f7-4061-9bc0-ae95ae5cd0a2.BLiJgZ4E.jsfunnil/assets/js/770d23cd-9021-4aef-887e-d47811b5c322.B8_nURbH.js +2 more | - |
| LOW | postinstall crypto operations | 44 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28939.jsfluxo/assets/js/index.tgWUt5OI.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28924.js +41 more | - |
| LOW | postinstall system command | 77 | fluxo/index.jsfunnil/assets/js/2e0cf7f6-e9bc-41e0-84b5-f570a0e461c8.B8VBrnTG.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28917.js +74 more | - |
| LOW | postinstall obfuscation | 83 | fluxo/index.jsfunnil/assets/js/2e0cf7f6-e9bc-41e0-84b5-f570a0e461c8.B8VBrnTG.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289187.js +80 more | - |
| LOW | postinstall 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-3a9d8748d289260.jscrm/assets/js/5e35787c-36b2-4a56-8ea4-4e0a75aa6943.D2Np3EBj.js +5 more | - |
| LOW | postinstall file manipulation | 172 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289169.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289149.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28976.js +169 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.
UpSell is a CRM layer for WhatsApp Web, and the code in the package lines up with that description. Content scripts sit under content/assets/js/, a service worker runs in background.js, and the network findings are the plumbing a live chat client needs: NET-SOCKET_IO-content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28912.js-15, NET-JQUERY_AJAX-content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28923.js-1, and NET-FETCH hits spread across the numbered chunks plus background.js:137.
No malware signature matched anywhere. The categories that would carry real weight, malware, malware-signature, secret, tool-poisoning and dependency, are all empty, and there are no critical or high severity findings. The 754 low severity entries are code-quality rules that fire on ordinary JavaScript constructs, so they tell us the codebase is large, not that it is hostile.
The 404 IoCs are the loudest thing here and the least useful. Look at what they actually are: border.radius.circle, btn.glass, color.border.accent.orange, artboard.phone, avatar.online, calls.function.arguments.delta. Those are CSS class names and a field in a streaming API response that the extractor turned into hostnames. The real domains in the list are unremarkable. app.wascript.com is the developer's own service, api.statsigcdn.com is a feature-flag provider, and the Atlassian hosts come from bundled tooling.
Two obfuscation matches deserve scrutiny and both have a mundane explanation. OBFUSCATION-FUNCTION_INDIRECT-content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.js-1 matches function indirection typical of minified bundles. OBFUSCATION-LARGE_BASE64-funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js-1 is a large base64 blob inside a hashed chunk. A base64 payload with no malware signature in the same file usually decodes to an inlined font, image or worker. Nothing in this package shows chat content leaving for an unexpected host.
The strongest case against this reading: a WhatsApp CRM reads every message in a user's chats, the publisher is a bare contact address, and funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js is still unexplained. That is a fair worry, and it would take two things to settle it: the decoded contents of that file, and the manifest, which came back empty in this scan. Neither the endpoints nor the finding set shows exfiltration though. Reading chats is inherent to what the extension is advertised to do.
What we would still like on the record is the decoded base64 blob and the missing manifest permissions, because the one genuine gap in this evidence is what the extension actually asks the browser for.
Key Reasons
- No malware, malware-signature, secret, dependency or tool-poisoning findings anywhere; 754 of the 1,183 entries are low-severity code-quality rules that fire on ordinary JavaScript.
- The endpoint list is dominated by extractor artifacts such as btn.glass, border.radius.circle and calls.function.arguments.delta, none of which are real hosts.
- Network matches (NET-SOCKET_IO, NET-JQUERY_AJAX, NET-FETCH) match the real-time plumbing a WhatsApp CRM requires, with no unexpected destination.
- Both obfuscation matches are minification artifacts: FUNCTION_INDIRECT in a hashed content bundle and LARGE_BASE64 in a webpack chunk under funnil/assets/js/.
- The only real external domains are app.wascript.com (developer's own service) and api.statsigcdn.com (feature flags).
False Positive Considerations
- XIOC extractor misread CSS class names and JavaScript property paths as domains (btn.glass, color.border.accent.orange, calls.function.arguments.delta)
- 754 low-severity code-smell matches generated by bundled and minified JavaScript
- NET-JQUERY_AJAX, NET-SOCKET_IO and NET-FETCH rules fire on any content script using standard HTTP and websocket libraries
- OBFUSCATION-FUNCTION_INDIRECT and OBFUSCATION-LARGE_BASE64 match normal webpack output and inlined assets
Reviewed 2026-10-16; recommended action: monitor; 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]