Extension Sensor Lab

puppys.click KB Sensor Test Fixture

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

green = sensor SHOULD fire red = sensor should NOT fire
1 · event_tracker · eval_hook · payloadMatcher + payloadExtractor

eval #1 — ClickFix payload fire

>300 chars and keywords: powershell, curl, iex, frombase64string, verify you are human, Win+R.

eval #2 — short benign no fire

<300 chars, no keywords.

eval #3 — long benign no fire

>300 chars but zero malicious keywords → keyword gate blocks.

eval #4 — short malicious no fire

Has keywords but <300 chars → length gate blocks.

eval #5 — ClickFix with ✅ emoji fire

>300 chars, contains the actual checkmark emoji + verify + captcha. Tests the Unicode emoji match in payloadMatcher.

2 · shadow_dom_patch · each card below IS an open shadow DOM
3 · tab sensor · shadow_dom_kb_collection_test · each card IS an open shadow DOM
4 · asset_collection · shadow_dom_image_hashes_test · each card IS an open shadow DOM
live fixture log
Sensor Practice Playground

HTML Extraction Targets

Practice writing CSS selectors, matchers, and extractors against real HTML structures. No Shadow DOM here — just regular DOM elements.

A · Forms & Inputs

Login Form

Classic phishing target. Try extracting action attribute, input names, or the form's outerHTML.

Credit Card Form

Payment skimmer target. Multiple input types, autocomplete attributes, and a nested fieldset.

Payment Details

Search Form

Benign form. Try distinguishing it from phishing forms by method="GET", role="search", and absence of sensitive input types.

B · Links & Navigation

Suspicious Links

Various link patterns. Practice matching by href regex, target, rel, data-* attributes, or text content.

Open redirect link javascript: void link data: URI link Normal HTTPS link Relative path link Phone number link Email link

Navigation Bar

A <nav> with a list of links. Practice targeting by semantic tag, aria-label, or child selectors.

C · Data Attributes & Metadata

Data-Attribute Rich Element

Element packed with data-* attributes. Practice extracting specific data attributes by name or pattern.

<div data-user-id="usr_9283741" data-session="sess_abc123def456" data-region="us-east-1" data-feature-flags="dark-mode,beta-ui,new-checkout" data-api-endpoint="https://test.example.com/api/v2" ...>

Meta Tags (visible mirror)

Common <meta> patterns rendered as text. Real meta tags exist in <head> — these show what to look for.

<meta name="og:title" content="Amazing Deal - 90% Off!" /> <meta name="og:url" content="https://test.example.com/deal" /> <meta name="og:image" content="https://test.example.com/banner.jpg" /> <meta name="description" content="Limited time offer. Act now!" /> <meta http-equiv="refresh" content="5;url=https://test.example.com/redir" />
D · Tables & Structured Data

Transaction Table

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
E · Scripts, Iframes & Embeds

Inline Script Tags

Script elements with different types and content. Practice matching <script> by src, type, or inline content patterns.

<script src="https://test.example.com/tracker.js" async></script> <script>document.cookie="steal=true"</script> <script type="application/ld+json">{"@type":"Organization"}</script> <script src="https://cdn.example.com/jquery-3.7.1.min.js"></script>

Iframes

Iframe elements with various attributes. Practice extracting src, detecting sandbox presence, or matching by name/id.

<iframe src="https://test.example.com/overlay" style="position:fixed;top:0;left:0;width:100%;height:100%;opacity:0;z-index:99999"></iframe> <iframe src="https://www.youtube.com/embed/test" sandbox="allow-scripts" allow="autoplay"></iframe> <iframe id="checkout-frame" name="payment" src="about:blank"></iframe>
F · Images & Media

Image Variants

Different image loading patterns. Practice matching src, srcset, loading, alt text, and size attributes.

Brand logo placeholder

lazy + alt

empty alt

no alt

Inline SVG

data: SVG

Background Image (CSS)

Content loaded via CSS background-image instead of <img>. Not reachable by img[src] selector — needs a different approach.

G · Text Content Patterns

Urgency / Scam Language

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.

Obfuscated Text

Text with zero-width characters, HTML entities, and Unicode tricks. Practice normalizing before matching.

P​a​s​s​w​o​r​d (zero-width joiners between letters)

Account (hex entities spelling "Account")

Аppеl (Cyrillic А and е mixed with Latin)

‮kcilc ot erehilC‬ (right-to-left override)

H · Buttons, Popups & Overlays

CTA Buttons

Different button styles and types. Practice matching by textContent, class, type, data-*, or parent context.

Notification Banner

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.