Is POUPE TEMPO SIMPLES ZAP safe?
POUPE TEMPO SIMPLES ZAP loads a fingerprinting script from openfpcdn.io into WhatsApp Web pages.
On WhatsApp Web, the extension injects a script into the page that imports FingerprintJS from the third-party CDN openfpcdn.io at runtime, without pinning or integrity checks, to compute a visitor ID. The imported code runs in the page context with access to the WhatsApp DOM. The extension also removes the page's Content-Security-Policy header through declarativeNetRequest rules, which lets this import work.
AI-generated. Findings may contain errors. Those marked Verified have been manually reviewed.
Publishers can request a review.
Findings
WhatsApp Web page imports a fingerprinting module from a third-party CDN
Code analysis shows a script injected into WhatsApp Web imports unpinned code from openfpcdn.io on each load, with the page's CSP header cleared by the extension.
- Severity
- High unwanted
- Type
- Unexpected
- CWE
- CWE-829
- Source
- Static analysis
You open web.whatsapp.com.
The content script matches *://*.whatsapp.com/*.
A script from the extension is inserted into the page, and it imports code from a third-party CDN.
The imported module runs with the same access as WhatsApp's own scripts.
Injection and remote import
Script injected into the page
smph/app.jsloadScripts(["/js/jquery.js", "/js/siema.min.js?cache=" + Date.now(), "/smph/smphE.js", "/js/FingerPrint.js", "/js/wppconnect-wa.js"]);Remote module import
js/FingerPrint.jsconst fpPromise = import('https://openfpcdn.io/fingerprintjs/v3') .then(FingerprintJS => FingerprintJS.load()) // Get the visitor identifier when you need it. fpPromise .then(fp => fp.get()) .then(result => { // This is the visitor identifier: uid = result.visitorId })Rule that clears the page's Content-Security-Policy
addRules.push({ id, action: { type: 'modifyHeaders', responseHeaders: [{ header: 'content-security-policy', operation: 'set', value: '' }] }, condition: {urlFilter: url, resourceTypes: ['main_frame', 'sub_frame']} })- Import sourcehttps://openfpcdn.io/fingerprintjs/v3
Code is fetched from a third party, not shipped in the extension.
- Version pinningnone, no integrity hash
The served code can change without an extension update.
- Visitor IDuid = result.visitorId
A device identifier is computed and kept in a page global.
- Page scope*://*.whatsapp.com/*
The code runs in the WhatsApp Web page context.
Static analysis finding. This behaviour was identified by reading the shipped extension code and has not yet been reproduced in a live run. The trigger conditions and the exact data sent are read from the code, not from an observed capture.
Where it sends data
Destinations our analysis observed POUPE TEMPO SIMPLES ZAP contacting. Sending data somewhere is not a finding on its own - an extension that syncs your settings has to talk to its own server - but it is where your data can go, and who else it goes to.
- openfpcdn.io
POUPE TEMPO SIMPLES ZAP sends data to openfpcdn.io. 2 other extensions we have analysed send data here.