{"adoption": {"forks": 308, "observed_at": "2026-08-28T04:03:17.922991+00:00", "stars": 1030}, "canonical_url": "https://ross.abutalabs.com/products/doublepulsar-detection-script", "card": {"archived": false, "artifact_type": "cli-tool", "description": "A python2 script for sweeping a network to find windows systems compromised with the DOUBLEPULSAR implant.", "domain": ["security", "penetration-testing", "networking", "windows"], "enriched": true, "function": ["security", "vulnerability-scanning", "networking"], "health_score": 20, "homepage": null, "language": "Python", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["WithSecureLabs/doublepulsar-detection-script"], "name": "WithSecureLabs/doublepulsar-detection-script", "platform": ["windows", "cli", "python"], "pushed_at": "2020-02-03T19:33:44+00:00", "repo": "WithSecureLabs/doublepulsar-detection-script", "stars": 1030, "tags": ["doublepulsar", "shadow-brokers", "smb", "rdp", "network-sweep", "implant-detection", "python2", "incident-response", "linux", "macos"], "topics": ["security-scanner", "security-tools", "countercept", "doublepulsar", "script"], "urls": [], "use_cases": ["detect doublepulsar implant on my network", "scan ip range for smb backdoor", "check if windows servers are compromised by eternalblue implant", "remotely uninstall doublepulsar from infected hosts", "sweep list of ips for rdp implant", "incident response network compromise detection"], "what_it_is": "A Python 2 script that sweeps networks to detect Windows systems compromised with the DOUBLEPULSAR implant (SMB and RDP variants) released by the Shadow Brokers. It re-implements the implant's unauthenticated ping command and can remotely uninstall the SMB version for remediation.", "when_to_avoid": ["you need a general-purpose vulnerability scanner rather than a DOUBLEPULSAR-specific check", "your environment requires Python 3 - the scripts are Python 2 only", "you need ongoing maintenance or support for newer Windows versions, as the project is no longer actively developed"], "when_to_choose": ["you need to quickly check whether Windows hosts on your network are infected with DOUBLEPULSAR", "you want a lightweight scriptable scanner with multi-threaded IP list support", "you need to remotely remove the SMB variant of the implant"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/doublepulsar-detection-script", "repo": "WithSecureLabs/doublepulsar-detection-script", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.922991+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:07:31.751811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de892f92367917b25fe169e552372959a20b90b33810110c48507dde803fff88", "fetched_at": "2026-08-28T04:03:17.922991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/doublepulsar-detection-script"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.922991+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:07:31.751811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de892f92367917b25fe169e552372959a20b90b33810110c48507dde803fff88", "fetched_at": "2026-08-28T04:03:17.922991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/doublepulsar-detection-script"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:07:31.751811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de892f92367917b25fe169e552372959a20b90b33810110c48507dde803fff88", "fetched_at": "2026-08-28T04:03:17.922991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/doublepulsar-detection-script"}], "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:03:17.922991+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.922991+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.922991+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:07:31.751811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de892f92367917b25fe169e552372959a20b90b33810110c48507dde803fff88", "fetched_at": "2026-08-28T04:03:17.922991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/doublepulsar-detection-script"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.922991+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.922991+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:07:31.751811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de892f92367917b25fe169e552372959a20b90b33810110c48507dde803fff88", "fetched_at": "2026-08-28T04:03:17.922991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/doublepulsar-detection-script"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.922991+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.922991+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.922991+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:07:31.751811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de892f92367917b25fe169e552372959a20b90b33810110c48507dde803fff88", "fetched_at": "2026-08-28T04:03:17.922991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/doublepulsar-detection-script"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.922991+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:17.922991+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:07:31.751811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de892f92367917b25fe169e552372959a20b90b33810110c48507dde803fff88", "fetched_at": "2026-08-28T04:03:17.922991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/doublepulsar-detection-script"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:07:31.751811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de892f92367917b25fe169e552372959a20b90b33810110c48507dde803fff88", "fetched_at": "2026-08-28T04:03:17.922991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/doublepulsar-detection-script"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:07:31.751811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de892f92367917b25fe169e552372959a20b90b33810110c48507dde803fff88", "fetched_at": "2026-08-28T04:03:17.922991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/doublepulsar-detection-script"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:07:31.751811+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "de892f92367917b25fe169e552372959a20b90b33810110c48507dde803fff88", "fetched_at": "2026-08-28T04:03:17.922991+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/doublepulsar-detection-script"}], "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": 3427, "days_push": 2403, "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}}