Security Alert: Malware Risk Confirmed
Arwan Web Extension
ID: ahkegepjekjppmhajnhaiodhfmgemdag
Extension Info & Metadata
Publisher Contextual Analysis
- Author
- mjferrer.coderView Profile
- Privacy
- Privacy Policy
- MX records exist
- Yes
- Domain exists
- Yes
- Is disposable
- No
- Is role-based
- No
- Mailbox exists
- Yes
Arwan Web Extension enables Arwan to perform system operations close to the heart of the computer.
Arwan Web Extension enables Arwan to perform system operations close to the heart of the computer.
The bundled manifest declares manifest_version 3 and host_permissions scoped to `*.arwan.app`, but the live CWS published manifest summary shows manifest_version 2 with permissions scoped to `*.arwan.biz` — a different TLD. This discrepancy means the extension that users installed may behave differently from what the store listing describes, and the domain shift from `.biz` to `.app` is unacknowledged in the listing. A permissions or domain mismatch between the published and bundled manifest is itself a high-severity finding under the review criteria.
{ "manifest_version": 3, ... "host_permissions": [ "*://*.arwan.app/", "*://*.arwan.app/*" ]}The content script accepts `window.postMessage` commands solely by checking `event.data.source == 'page'` with no `event.origin` validation. Any JavaScript executing in the arwan.app page context — including third-party scripts loaded by that page — can send `START SESSION`, `START ENROLLMENT SESSION`, or `FINALIZE` messages that drive native messaging to the fingerprint hardware and relay biometric payloads to the server. If arwan.app is ever compromised or serves malicious ads/scripts, an attacker could silently trigger biometric data collection on behalf of arbitrary user IDs.
window.addEventListener("message", (event) => { if (event.data.source != "page") { return } switch (event.data.type) { case "START SESSION": case "START ENROLLMENT SESSION": case "TRIAL MATCH": case "FINALIZE": changeStatusText("Connecting to 1Rotary Servers") background.postMessage(event.data) break; case "END SESSION": background.postMessage({ type: "END SESSION" }) break; case "FORCE END SESSION": background.postMessage({ type: "FORCE END SESSION" }) break; }})By severity
Versions scanned
Showing 1 of 3 scanned versions with more than one unique finding. Counts are unique findings that include each version.
| Extension Version | Code Review Findings |
|---|---|
| 1.1.8 | 2 |
Files with findings
2 distinct paths — top paths by unique finding count:
- content_script.js1
- manifest.json1
URLs
View the external URLs this extension communicates with to understand its network activity and data interactions.
Gain full insight into all external connections.
Upgrade for full visibility.
Gain full insight into all external connections.
Upgrade for full visibility.
Code Diff
Compare extension code between any two versions.
No comparable text files found between these versions.
Browse and explore files within this extension package
Gain full insight into all external connections.
Upgrade for full visibility.
