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
Ninja Ads
Confirmed member of a tracked malicious supply-chain campaign.
Analysis record
- Analysed
- 1 weeks ago
- Version
- v7.4.3.87
- Artifact
- SHA256 5E6…A73
- Source
- Findings (non-IoC)
Is Ninja Ads safe?
Ninja Ads is a Chrome extension that organizes your WhatsApp Web chats and contacts, sold as a CRM. The manifest data we could read shows no special permissions and no host permissions, which is odd for something that runs inside WhatsApp Web, so the scan did not capture where its content scripts are allowed to run. Its network list does name two services: app.wascript.com, which fits the vendor's own backend for chat features, and api.statsigcdn.com, Statsig's feature-flag CDN, a service many apps use to switch features on and off.
Nearly all of the flagged issues come from that chat code. Findings such as NET-SOCKET_IO in content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28912.js and NET-FETCH in background.js:137 record that the extension opens a live connection and makes web requests, which is what a CRM does to sync conversations. The OBFUSCATION-LARGE_BASE64 finding in funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js points to a block of base64 data inside a hashed asset file, the sort of thing produced when a font, icon or worker is packed into a bundle.
The scanner also tripped on its own matching. Many listed domains are not hosts at all: border.radius.circle, btn.glass and calls.function.arguments.delta are CSS values and JavaScript property paths that a domain regex read as addresses. No malware signature matched anywhere in the extension, and no secrets or credential-handling code turned up. The honest caveat is that the permission list was missing from the data, so we cannot confirm exactly which parts of WhatsApp it can read.
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 | whatsapp/wpp/index.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2899.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289105.js +27 more | - |
| LOW | postinstall persistence mechanism | 19 | crm/index.jscrm/assets/css/style.csswhatsapp/wpp/index.js +16 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 | - |
| LOW | postinstall file download | 55 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289139.jsfluxo/assets/ttf/Segoeui.chunk.ttffluxo/index.js +52 more | - |
| LOW | NoUseEval | 1 | whatsapp/wpp/index.js | - |
| LOW | NoUseWeakRandom | 38 | crm/index.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-3a9d8748d2894.js +35 more | - |
| LOW | SQLInjection | 1 | fluxo/index.js | - |
| LOW | postinstall environment access | 111 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289225.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289171.jsfunnil/assets/js/comp.D8MS4w5d.js +108 more | - |
| LOW | postinstall network communication | 94 | fluxo/assets/css/style.csscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28984.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289109.js +91 more | - |
| LOW | OriginsNotVerified | 5 | fluxo/assets/js/b89d7b82-41f7-4061-9bc0-ae95ae5cd0a2.BLiJgZ4E.jscrm/assets/js/b3c3d2a2-f432-4ecd-a3f4-0b4582cc4a6c.B8_nURbH.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d2896.js +2 more | - |
| LOW | postinstall crypto operations | 44 | fluxo/assets/js/b89d7b82-41f7-4061-9bc0-ae95ae5cd0a2.BLiJgZ4E.jscrm/assets/js/81588378-4894-485b-a1a7-52b1571a56a9.B9qdt_GQ.jswhatsapp/wpp/index.js +41 more | - |
| LOW | postinstall system command | 77 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28924.jscrm/assets/js/index.DCTZnrKF.jsfunnil/index.js +74 more | - |
| LOW | postinstall obfuscation | 83 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289167.jsfunnil/index.jscrm/assets/js/5e35787c-36b2-4a56-8ea4-4e0a75aa6943.D2Np3EBj.js +80 more | - |
| LOW | postinstall registry modification | 8 | content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289175.jsfluxo/assets/js/aacac57f-f9a2-4a7d-9569-51c193124758.BUttUo7e.jscontent/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d289260.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-3a9d8748d289213.jscrm/assets/js/index.C3nosisq.js +169 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.
Ninja Ads bills itself as a CRM for WhatsApp Web, and version 7.4.3.87 with 24 users suggests a small project published by [email protected], a contact address rather than a company name. The first thing to note is a gap: the manifest data shows no host permissions and no API permissions. A content script that reorganizes WhatsApp chats has to be allowed to run on web.whatsapp.com, so that list went uncaptured rather than being genuinely empty.
The 22 network findings record connector use rather than destinations. They fire on content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28923.js (NET-JQUERY_AJAX), content/assets/js/v_7_4_3_87_0a650f0a-57a6-4989-860e-3a9d8748d28912.js and 289149.js (NET-SOCKET_IO), and background.js:137 (NET-FETCH). A live socket plus fetch calls is how a real-time chat client syncs with a server. None of these findings names a destination host, and none touches a login page, a wallet or a bank.
Most of the endpoint list is extractor noise. Entries such as border.radius.circle, btn.glass, color.border.accent.orange and calls.function.arguments.delta are CSS tokens and JSON paths that a domain regex mistook for hosts. above.sm, below.sm, ae.jobs, af.pf and be.audio have the same shape: fragments of minified JavaScript. Two entries are real services. app.wascript.com fits a WhatsApp automation vendor's own backend, and api.statsigcdn.com is Statsig's feature-flag CDN. The Atlassian hosts (api.dev.atlassian.com, api.stg.atlassian.com) read as bundled library strings. None is an exfiltration endpoint.
The 754 code-smell findings and 407 indicators are what shipping a bundled front end looks like to a static scanner. On their own they describe JavaScript syntax. What carries weight is what is missing: zero malware signatures, zero secrets, zero tool-poisoning entries. The two obfuscation findings are 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 base64 chunk inside a content-hashed asset file is normally an embedded font, image or worker blob, and indirect calls are how webpack resolves modules. Neither file carries a malware signature beside it, which is the pairing that would change this reading.
The strongest argument against treating this as scanner noise is the category itself. A WhatsApp CRM can read every message and contact a user has, and this one names an anonymous publisher and ships a large base64 blob in a directory called funnil. Fair points. What would settle them is a decode of that blob and the real host-permission list, and neither is in the evidence. Until then, the flagged behaviour is a socket connection to a chat backend, a fetch in background.js, and code-smell matches inside content/assets/js bundles. None of that describes harm.
Key Reasons
- Zero malware signatures, zero secrets and zero tool-poisoning entries across 1186 findings
- All 22 network findings are library connector patterns (NET-SOCKET_IO, NET-JQUERY_AJAX, NET-FETCH) in content/assets/js bundles and background.js, with no destination hosts named
- Endpoint list is dominated by CSS tokens and JSON paths misparsed as domains (border.radius.circle, btn.glass, calls.function.arguments.delta)
- Obfuscation limited to one base64 asset blob in funnil/assets/js/9cf42769-2ad5-4714-8614-9a2b4c455349.CgnacD38.js and an indirect call in a minified bundle, neither paired with a malware signature
- 754 code-smell matches are consistent with a bundled front-end rather than malicious behaviour
False Positive Considerations
- CSS property names and JSON paths (border.radius.circle, btn.glass, calls.function.arguments.delta) counted as network domains
- 754 code-smell findings generated by bundled/minified JavaScript
- Socket.IO, jQuery ajax and fetch connector matches in vendored content/assets/js files
- Large base64 blob inside a content-hashed bundle asset read as obfuscation
Reviewed 2026-10-11; recommended action: monitor; model confidence 70%.
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]