All 4 sensors scoped to puppys.click only — eval_hook, shadow_dom_patch_research, shadow_dom_kb_collection_test, shadow_dom_image_hashes_test.
uid_pattern: ^uid_fefe · url: puppys\.click
>300 chars and keywords: powershell, curl, iex, frombase64string, verify you are human, Win+R.
<300 chars, no keywords.
>300 chars but zero malicious keywords → keyword gate blocks.
Has keywords but <300 chars → length gate blocks.
>300 chars, contains the actual ✅ checkmark emoji + verify + captcha. Tests the Unicode emoji match in payloadMatcher.
innerText >100 chars, no \n\n\n runs. Extractor captures textContent + URLs + id + className.
Nested shadow hosts, each >100 chars innerText, no triple-newline.
innerText >100 chars but contains \n\n\n → negation gate blocks.
innerText is only ~30 chars → length gate blocks.
Closed shadow roots are invisible to the patch.
Shadow host created by a Chrome extension (filtered by shadowDomFilter.stackTrace). Simulated via comment in log.
A <form id="practice-login"> inside an open shadow root. The tab sensor with shadowDom: "on" should reach in and extract outerHTML.
<form id="other-form"> — selector form#practice-login won't match.
An <img src="..."> inside an open shadow root (>5KB). The asset_collection sensor with shadowDom: "on" should hash it.
1x1 pixel image inside shadow — below minSize: 5000 filter.
Practice writing CSS selectors, matchers, and extractors against real HTML structures. No Shadow DOM here — just regular DOM elements.
Classic phishing target. Try extracting action attribute, input names, or the form's outerHTML.
Payment skimmer target. Multiple input types, autocomplete attributes, and a nested fieldset.
Benign form. Try distinguishing it from phishing forms by method="GET", role="search", and absence of sensitive input types.
Various link patterns. Practice matching by href regex, target, rel, data-* attributes, or text content.
A <nav> with a list of links. Practice targeting by semantic tag, aria-label, or child selectors.
Element packed with data-* attributes. Practice extracting specific data attributes by name or pattern.
Common <meta> patterns rendered as text. Real meta tags exist in <head> — these show what to look for.
Tabular data with different cell types. Practice extracting by th/td position, row class, or cell content regex.
| Date | Description | Amount | Status |
|---|---|---|---|
| 2026-07-15 | Wire Transfer - Ref #TXN-88201 | $4,250.00 | Completed |
| 2026-07-18 | Crypto Purchase - BTC 0.05 | $3,100.00 | Pending |
| 2026-07-19 | Gift Card Redeem - CODE-XXXX-YYYY | $500.00 | Failed |
Script elements with different types and content. Practice matching <script> by src, type, or inline content patterns.
Iframe elements with various attributes. Practice extracting src, detecting sandbox presence, or matching by name/id.
Different image loading patterns. Practice matching src, srcset, loading, alt text, and size attributes.
lazy + alt
empty alt
no alt
data: SVG
Content loaded via CSS background-image instead of <img>. Not reachable by img[src] selector — needs a different approach.
Common scam text patterns. Practice textContent regex matching for urgency, threats, and fake authority.
WARNING: Your account has been compromised! Verify your identity within 24 hours or your account will be permanently suspended.
Congratulations! You've been selected as today's winner. Claim your $1,000 gift card now. Only 3 remaining!
Microsoft Alert: Trojan_Spyware detected. Call 1-800-555-0199 immediately. Do NOT restart your computer.
Welcome back! Your last login was 2 days ago. Check your dashboard for recent updates.
Text with zero-width characters, HTML entities, and Unicode tricks. Practice normalizing before matching.
Password (zero-width joiners between letters)
Account (hex entities spelling "Account")
Аppеl (Cyrillic А and е mixed with Latin)
kcilc ot erehilC (right-to-left override)
Different button styles and types. Practice matching by textContent, class, type, data-*, or parent context.
Cookie consent / notification permission bar. Practice identifying overlay patterns by role, aria-*, position:fixed, and z-index.
This website uses cookies to ensure you get the best experience. By continuing, you agree to our cookie policy.