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
SutoflyCRM, WhatsApp Web organizado, automatizado e vendendo
Confirmed member of a tracked malicious supply-chain campaign.
Analysis record
- Analysed
- 5 days ago
- Version
- v7.4.3.87
- Artifact
- SHA256 377…D1C
- Source
- Findings (non-IoC)
Is SutoflyCRM, WhatsApp Web organizado, automatizado e vendendo safe?
SutoflyCRM adds a sales dashboard to WhatsApp Web, with saved replies, lead tracking and automations. The manifest we scanned declares no special permissions and no host permissions, so it does not ask the browser for privileged access to your accounts or files. Its network traffic goes to its own service at app.wascript.com, to api.statsigcdn.com for feature flags, and to the Atlassian API hosts.
The most prominent finding is NET-SOCKET_IO in content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28912.js, the socket.io client holding a live connection to the vendor's backend. That is how a chat tool moves messages in and out in real time. A second finding, OBFUSCATION-LARGE_BASE64 in funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js, flagged encoded data inside a build file whose name contains a content hash, which is where bundlers put inlined images, fonts and small scripts.
The scanner also flagged hundreds of indicators of compromise, and that is where the noise sits. Entries like border.radius.circle, btn.glass and color.border.accent.orange are design tokens from a stylesheet, not internet addresses. calls.function.arguments.delta is a field name from a streaming response. The scanner read those strings as domains. Add 754 code-quality warnings, which fire on any minified JavaScript, and the numbers stack up fast with nothing malicious behind them.
Nothing in this scan points to a hidden payload or a stolen credential, and the endpoint list contains no host unrelated to the product. The one thing to weigh is the design: a CRM for WhatsApp has to read your conversations and send them to the vendor's servers to work. If you are comfortable with that, the code here looks like what the listing describes.
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-3a9d8748d289175.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28927.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289114.js +27 more | - |
| LOW | postinstall persistence mechanism | 19 | crm/assets/css/style.csscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2893.jsfluxo/assets/js/emoji-picker-react.esm.LrTXoimj.js +16 more | - |
| LOW | postinstall file download | 55 | crm/index.jsfunnil/assets/ttf/Segoeuibolditalic.chunk.ttfcontent/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 | funnil/assets/js/68038811-0075-484f-8b19-297df42f51e1.CVYXH02z.jsfunnil/assets/js/cd52f586-58a7-445a-a045-5f4032b22b71.qLgWFQJ-.jscrm/assets/js/b3c3d2a2-f432-4ecd-a3f4-0b4582cc4a6c.B8_nURbH.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-3a9d8748d28925.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-3a9d8748d289260.js +12 more | - |
| LOW | postinstall environment access | 111 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289139.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28978.jscrm/assets/js/index.CP_EcveZ.js +108 more | - |
| LOW | postinstall network communication | 94 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289224.jswhatsapp/wpp/index.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2899.js +91 more | - |
| LOW | OriginsNotVerified | 5 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2896.jsfluxo/index.jsfunnil/assets/js/770d23cd-9021-4aef-887e-d47811b5c322.B8_nURbH.js +2 more | - |
| LOW | postinstall crypto operations | 44 | fluxo/index.jsfluxo/assets/js/modal.DwnKkzRB.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28944.js +41 more | - |
| LOW | postinstall system command | 77 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28937.jscrm/index.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28936.js +74 more | - |
| LOW | postinstall obfuscation | 83 | crm/index.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28936.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289213.js +80 more | - |
| LOW | postinstall registry modification | 8 | fluxo/assets/js/aacac57f-f9a2-4a7d-9569-51c193124758.BUttUo7e.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.jscrm/assets/js/b15575b9-e8eb-4d64-83b8-37d47f2b0b0a.BbRllemT.js +5 more | - |
| LOW | postinstall file manipulation | 172 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289213.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289143.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28944.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.
SutoflyCRM is a Chrome extension that adds a sales dashboard, canned replies and automations on top of WhatsApp Web. The manifest as scanned declares no permissions and no host permissions, so nothing in the scan runs with privileged browser API access. That matters when reading the rest of the evidence, because the volume of findings comes from bundled third-party JavaScript rather than from the extension's own logic.
Twenty-two medium network findings are pattern matches on library calls, not on destinations. NET-SOCKET_IO fires on content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28912.js, ...149.js and ...175.js, which is the socket.io client a chat tool uses to hold a live connection open. NET-JQUERY_AJAX fires twice on content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28923.js, the jQuery ajax wrapper. The remaining NET-FETCH hits, including background.js:137, are plain fetch() calls with no destination attached. Not one of these findings names a malicious or monetization host.
The extracted endpoint list is mostly garbage. Entries like border.radius.circle, btn.glass and color.border.accent.orange are design-token strings lifted from a theme object or stylesheet. calls.function.arguments.delta is a field name from a streaming API response. The hosts that are real are ordinary for a commercial product: api.statsigcdn.com for feature flags, the Atlassian API hosts, and app.wascript.com, which is the vendor's WhatsApp automation backend and lines up with the product description.
Two medium obfuscation findings need a direct answer. OBFUSCATION-LARGE_BASE64 points at funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js, a file with a content hash in its name. Embedded base64 in a hashed build artifact is how bundlers inline images, fonts and worker scripts. OBFUSCATION-FUNCTION_INDIRECT in content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.js is the call indirection minifiers produce. Neither sits beside a malware signature, and there are none: zero malware-signature hits, zero malware hits, zero secrets, zero tool-poisoning.
A skeptic has a reasonable case. The developer is listed only as [email protected] with no company name, the base64 blob sits in a directory called funnil under a random filename, and a CRM for WhatsApp reads conversation content and sends it to app.wascript.com. That last point is a real privacy trade-off. To do its job, this extension has to see the messages. Anyone who does not want an automation vendor processing their WhatsApp conversations should not install it. What the evidence does not show is code reaching a host unrelated to the product, a credential or cookie stealer, or a browser hijack. The 754 code-smell hits and 419 indicators are the usual side effect of scanning minified bundles; the extractor turned CSS values and property names into fake domains. With no payload, no suspicious destination and no hidden capability, the findings describe a chat automation tool doing what its listing says. A runtime capture of the socket.io connection would confirm which host the traffic actually reaches, and that is the only open question.
Key Reasons
- Zero malware-signature, malware, secret and tool-poisoning findings across 1198 total; the entire finding set is code-smell, IoC extractor output and library pattern matches.
- All 22 network findings are library call patterns (NET-SOCKET_IO, NET-JQUERY_AJAX, NET-FETCH) in bundled files such as content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28912.js, with no malicious or monetization destination named.
- Extracted endpoints are dominated by design-token and property-name artifacts (border.radius.circle, btn.glass, calls.function.arguments.delta) that the IoC extractor misread as domains.
- The two obfuscation findings (OBFUSCATION-LARGE_BASE64 in a content-hashed build artifact, OBFUSCATION-FUNCTION_INDIRECT in a minified bundle file) are consistent with standard bundler output.
- Manifest declares no permissions and no host permissions, so the scanned code holds no privileged browser API access.
False Positive Considerations
- IoC extractor misreading CSS design tokens and minified property chains (border.radius.circle, btn.glass, color.border.accent.orange) as network domains
- Code-smell YARA rules firing 754 times on minified and bundled JavaScript
- Network rules (NET-FETCH, NET-JQUERY_AJAX, NET-SOCKET_IO) matching library call patterns with no destination context
- Base64 and indirect-call obfuscation heuristics firing on content-hashed webpack build artifacts
Reviewed 2026-10-13; recommended action: no action; model confidence 75%.
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]