{"adoption": {"forks": 187, "observed_at": "2026-08-28T04:04:25.248862+00:00", "stars": 1335}, "canonical_url": "https://ross.abutalabs.com/products/postmessage-tracker", "card": {"archived": false, "artifact_type": "plugin", "description": "A Chrome Extension to track postMessage usage (url, domain and stack) both by logging using CORS and also visually as an extension-icon", "domain": ["security", "browser-extensions", "developer-tools", "web-development"], "enriched": true, "function": ["security", "developer-tools", "monitoring"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["fransr/postMessage-tracker"], "name": "fransr/postMessage-tracker", "platform": ["browser", "browser-extension"], "pushed_at": "2024-01-26T17:48:33+00:00", "repo": "fransr/postMessage-tracker", "stars": 1335, "tags": ["postmessage", "chrome-extension", "penetration-testing", "web-security", "devtools", "bug-bounty", "javascript"], "topics": [], "urls": [], "use_cases": ["find hidden postMessage listeners in iframes during a bug bounty", "audit which domains a page communicates with via postMessage", "debug cross-window messaging between frames", "log postMessage listener functions and stack traces to an endpoint", "bypass error-tracking wrappers to see real listeners in devtools"], "what_it_is": "A Chrome extension that tracks postMessage listener usage across a page and its subframes, showing listener counts via the extension icon and logging URL, domain, and stack traces. It unpacks common wrappers (Raven, New Relic, Rollbar, Bugsnag, jQuery) and can send logs to a configurable endpoint for later review.", "when_to_avoid": ["you need automated postMessage security testing in CI rather than manual browser inspection", "you use a browser other than Chrome"], "when_to_choose": ["you are doing web security research or bug bounty hunting on postMessage handlers", "you need to trace short-lived or interaction-triggered listeners across subframes"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/postmessage-tracker", "repo": "fransr/postMessage-tracker", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.248862+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:44:22.157402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16c7610b31e57d84202e3069cb3749c2b17b21062d4d8b4d10c42e952a9a878b", "fetched_at": "2026-08-28T04:04:25.248862+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fransr/postMessage-tracker"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.248862+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:44:22.157402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16c7610b31e57d84202e3069cb3749c2b17b21062d4d8b4d10c42e952a9a878b", "fetched_at": "2026-08-28T04:04:25.248862+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fransr/postMessage-tracker"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:44:22.157402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16c7610b31e57d84202e3069cb3749c2b17b21062d4d8b4d10c42e952a9a878b", "fetched_at": "2026-08-28T04:04:25.248862+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fransr/postMessage-tracker"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.248862+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.248862+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.248862+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:44:22.157402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16c7610b31e57d84202e3069cb3749c2b17b21062d4d8b4d10c42e952a9a878b", "fetched_at": "2026-08-28T04:04:25.248862+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fransr/postMessage-tracker"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.248862+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.248862+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:44:22.157402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16c7610b31e57d84202e3069cb3749c2b17b21062d4d8b4d10c42e952a9a878b", "fetched_at": "2026-08-28T04:04:25.248862+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fransr/postMessage-tracker"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.248862+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.248862+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.248862+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:44:22.157402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16c7610b31e57d84202e3069cb3749c2b17b21062d4d8b4d10c42e952a9a878b", "fetched_at": "2026-08-28T04:04:25.248862+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fransr/postMessage-tracker"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.248862+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:25.248862+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:44:22.157402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16c7610b31e57d84202e3069cb3749c2b17b21062d4d8b4d10c42e952a9a878b", "fetched_at": "2026-08-28T04:04:25.248862+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fransr/postMessage-tracker"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:44:22.157402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16c7610b31e57d84202e3069cb3749c2b17b21062d4d8b4d10c42e952a9a878b", "fetched_at": "2026-08-28T04:04:25.248862+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fransr/postMessage-tracker"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:44:22.157402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16c7610b31e57d84202e3069cb3749c2b17b21062d4d8b4d10c42e952a9a878b", "fetched_at": "2026-08-28T04:04:25.248862+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fransr/postMessage-tracker"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:44:22.157402+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "16c7610b31e57d84202e3069cb3749c2b17b21062d4d8b4d10c42e952a9a878b", "fetched_at": "2026-08-28T04:04:25.248862+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fransr/postMessage-tracker"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3382, "days_push": 950, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}