A page claims visitors must click “Allow” to prove they are human, copy a command or install an update. A legitimate CAPTCHA does not require browser-notification permission or operating-system commands. Treat the prompt as malicious until proven otherwise.
Do not follow its instructions, and do not ask visitors to reproduce them.
Contain the active prompt
If the prompt is appearing now, restrict the affected site or serve a known-clean maintenance page while preserving files, database and logs. Disable a confirmed compromised advertising or tag-manager integration if it can be isolated safely.
Keep screenshots, the original page URL, time and referrer. Do not click Allow, download anything or paste commands.
If a visitor already granted notifications, advise them to use their browser’s official site-permission controls and run their organisation’s normal security process. The website must still be cleaned.
Reproduce in an isolated profile
Use a disposable browser profile with no WordPress login. Record network activity and test first-visit conditions, mobile/desktop and search referrer.
Fake prompts often appear once, set a cookie and then disappear. Clear only the isolated profile between tests.
Stop before interacting with the prompt. The request chain and DOM are sufficient to identify its loader in many cases.
Distinguish a fake prompt from a real CAPTCHA
Find where the element originates. A legitimate form CAPTCHA should be attached to a form action and use the configured provider domain. A full-page overlay on ordinary articles, notification request on entry or “verification” that opens another domain is suspicious.
Inspect page source and live DOM for injected iframes, scripts and overlays. Note unfamiliar domains and which resource initiated them.
Do not allow-list a domain because its name resembles a known CAPTCHA provider. Verify the exact hostname and integration.
Inspect external script delivery
Advertising, chat, consent and tag-manager code can load additional scripts dynamically. Compare the site with each optional integration disabled in staging.
Review tag-manager publish history and users. A compromised tag-manager account can inject a prompt without changing WordPress files.
Preserve container/version evidence before reverting. Rotate affected account sessions and enable stronger access controls after containment.
Search WordPress and hosting layers
Review modified JavaScript/PHP, unknown plugins, theme footer/header code, widgets, options and post content. Check scheduled tasks, users, application passwords and uploads containing executable files.
Inspect .htaccess, wp-config.php, root files, hosting-panel redirects and DNS. A loader may only insert an external script, leaving the visible payload elsewhere.
Do not remove only the overlay CSS. The script and entry route will remain active.
Handle browser notification abuse accurately
The site can request notification permission only through browser APIs, but notifications later appear even when the site is closed. Affected users need to revoke the permission for the malicious origin.
Do not send a site-wide message instructing everyone to reset all browser settings unless evidence supports it. Provide browser-vendor documentation and focus on the specific permission.
Removing a service worker or push script from the origin may require a clean update path so existing registrations expire or unregister.
Verify cleanup
After cleaning confirmed code and closing the compromise route, test fresh profiles across the original referrer/device conditions. Confirm no notification request, fake overlay, external redirect or suspicious service worker appears.
Purge CDN content after the origin is clean and monitor external domains, tag-manager changes and file integrity.
Request urgent assistance
Request urgent malware cleanup when prompts ask for notification permission, commands or downloads. Send screenshots, URLs and timestamps without clicking the prompt or attaching downloaded files.
The repair should cover WordPress, third-party delivery and visitor persistence, then prove the original first-visit condition is clean.