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
BALTZ CRM
Confirmed member of a tracked malicious supply-chain campaign.
Analysis record
- Analysed
- 1 weeks ago
- Version
- v7.4.3.87
- Artifact
- SHA256 889…FCF
- Source
- Findings (non-IoC)
Is BALTZ CRM safe?
BALTZ CRM is a Chrome extension for WhatsApp Web that organizes your chats into a customer-relationship layout. It declares no special permissions and no host permissions, so it works by injecting content scripts into the WhatsApp page rather than asking for broad browser access. Its background script uses the standard fetch API at background.js line 137, and the bundled scripts in content/assets/js/ use fetch, socket.io and jQuery's AJAX to talk to a server. That is the plumbing a chat-based CRM needs to keep a contact list in sync.
The scanner flagged network calls and two obfuscation hits. The obfuscation ones are a large base64 block inside funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js and indirect function calls in one of the versioned content bundles. Packaged, minified vendor code regularly looks like that. No malware signature matched any file in the package, which matters more than the smaller warnings.
Much of what looks alarming in the endpoint list is not an endpoint at all. border.radius.circle, btn.glass and color.border.accent.orange are CSS values, and calls.function.arguments.delta is a field name from a streamed API response. Fragments like af.pf and be.audio come out of minified JavaScript. The scanner pulled those strings from bundled files and listed them as network destinations, which is why the list runs long without naming anything that would send your chats somewhere unexpected.
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 | funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.jsfunnil/assets/js/68038811-0075-484f-8b19-297df42f51e1.CVYXH02z.jscrm/assets/js/5e35787c-36b2-4a56-8ea4-4e0a75aa6943.D2Np3EBj.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-3a9d8748d2897.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2896.jscrm/assets/js/5e35787c-36b2-4a56-8ea4-4e0a75aa6943.D2Np3EBj.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-3a9d8748d289265.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289208.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2899.js +27 more | - |
| LOW | postinstall persistence mechanism | 19 | crm/assets/js/22224ae4-c9a0-456b-97d3-6f47a43e6f69.cO50aLre.jsfunnil/assets/js/2e0cf7f6-e9bc-41e0-84b5-f570a0e461c8.B8VBrnTG.jscrm/assets/js/emoji-picker-react.esm.aMh8OwYb.js +16 more | - |
| LOW | postinstall environment access | 111 | crm/assets/js/2b070b0a-2c0f-4c9c-bb5b-938727270e32.CWg5n8f0.jscrm/assets/js/81588378-4894-485b-a1a7-52b1571a56a9.B9qdt_GQ.jscrm/assets/js/index.C_YPtVeo.js +108 more | - |
| LOW | postinstall network communication | 94 | crm/assets/js/b15575b9-e8eb-4d64-83b8-37d47f2b0b0a.BbRllemT.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28999.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289257.js +91 more | - |
| LOW | OriginsNotVerified | 5 | fluxo/index.jsfunnil/assets/js/770d23cd-9021-4aef-887e-d47811b5c322.B8_nURbH.jscrm/assets/js/b3c3d2a2-f432-4ecd-a3f4-0b4582cc4a6c.B8_nURbH.js +2 more | - |
| LOW | postinstall crypto operations | 44 | 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-3a9d8748d289.jswhatsapp/wpp/index.js +41 more | - |
| LOW | postinstall system command | 77 | fluxo/assets/js/createAudio.CLFqrCFJ.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289257.jsfunnil/assets/js/2e0cf7f6-e9bc-41e0-84b5-f570a0e461c8.B8VBrnTG.js +74 more | - |
| LOW | postinstall obfuscation | 83 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28979.jscrm/assets/js/index.COqP7WQ3.jsfunnil/assets/js/2e0cf7f6-e9bc-41e0-84b5-f570a0e461c8.B8VBrnTG.js +80 more | - |
| LOW | postinstall 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-3a9d8748d289175.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2895.js +5 more | - |
| LOW | postinstall file manipulation | 172 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289222.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28932.jscrm/assets/js/modal.CMbmE-rI.js +169 more | - |
| LOW | ServerHostnameNotVerified | 1 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289.js | - |
| LOW | LocalStorageShouldNotBeUsed | 15 | whatsapp/wpp/index.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28952.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289128.js +12 more | - |
Network Indicators
Concrete URLs, domains, IPs, emails, and hashes extracted from the analyzed artifact.
Loading network indicators
IoC detail rows are loaded outside the initial page render.
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.
BALTZ CRM is listed on the Chrome store as a CRM for WhatsApp Web, published by [email protected], with seven users. The code lines up with that description. background.js:137 calls fetch, and the bundles under content/assets/js/ produce NET-FETCH, NET-SOCKET_IO and NET-JQUERY_AJAX matches. Those three titles name the networking primitives in use: the fetch API, the socket.io client, and jQuery's AJAX wrapper. A CRM that reads a chat list and syncs it to a server carries all three.
The endpoint list is where the scanner's noise becomes obvious. It includes border.radius.circle, btn.glass and color.border.accent.orange, which are CSS design tokens, and calls.function.arguments.delta, a field name from a streamed API response. Then there are fragments like af.pf, ae.jobs and be.audio, the kind of string that falls out of minified JavaScript at a dot boundary. The Atlassian and Statsig hostnames (api.stg.atlassian.com, api.statsigcdn.com) are library URLs bundled into the package. None of the listed names is a credential-collection host, an anonymous proxy, or a hijacked search endpoint.
Two obfuscation findings exist: OBFUSCATION-LARGE_BASE64 in funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js and OBFUSCATION-FUNCTION_INDIRECT in content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.js. A single large base64 block in a hashed, name-mangled bundle file is what embedded fonts, inline images or a packed vendor library look like. Indirect function calls are produced by every JavaScript minifier. Zero malware signatures matched anywhere in the package, and the 754 code-smell entries are the generic lint-class rules that fire on ordinary JavaScript.
The strongest counterargument is real: an extension that injects into WhatsApp Web, reads the DOM of private conversations and opens a socket to a server is the shape of a chat scraper. That is an active abuse category, and the manifest here declares no permissions and no host permissions, so there is no permission gate telling us what it can reach. What is missing is any destination. No finding names a host that would carry chat data to an unrelated operator, and the socket.io client found in content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28912.js:15 is not tied to a named endpoint in the evidence. That gap is what a runtime capture would settle, because it shows the actual connection target.
What remains is a seven-user extension from a reachable developer address whose findings come from bundled scripts and extractor artifacts rather than from behavior.
Key Reasons
- Zero malware signatures across the package (malware-signature: 0, malware: 0) despite 1186 total findings.
- All 22 network findings are API-pattern matches (NET-FETCH, NET-SOCKET_IO, NET-JQUERY_AJAX) inside content/assets/js bundles and background.js:137, consistent with a CRM syncing to its own backend.
- The network_endpoints list is dominated by non-network strings: border.radius.circle, btn.glass, color.border.accent.orange, calls.function.arguments.delta, af.pf, be.audio.
- The only two obfuscation hits are one LARGE_BASE64 blob in a hashed bundle asset and one FUNCTION_INDIRECT in a minified versioned bundle.
- 754 code-smell findings are generic lint-class rules, the documented noise floor for any non-trivial JavaScript package.
False Positive Considerations
- IoC extractor garbage: CSS tokens and streamed-response field names (border.radius.circle, btn.glass, color.border.accent.orange, calls.function.arguments.delta) reported as network endpoints.
- Code-smell volume: 754 low-severity rules fire on ordinary JavaScript and carry no behavioral signal.
- Bundled dependencies: minified vendor code in content/assets/js/ and funnil/assets/js/ produces NET-* and OBFUSCATION-* hits as a side effect of packaging.
- Network findings are API-usage detections (fetch, socket.io, jQuery AJAX) rather than matches against a suspicious destination domain.
Reviewed 2026-10-11; recommended action: suppress false positive; model confidence 74%.
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]