{"adoption": {"forks": 273, "observed_at": "2026-08-28T04:04:45.108478+00:00", "stars": 1445}, "canonical_url": "https://ross.abutalabs.com/products/droopescan", "card": {"archived": false, "artifact_type": "cli-tool", "description": "A plugin-based scanner that aids security researchers in identifying issues with several CMSs, mainly Drupal & Silverstripe.", "domain": ["security", "penetration-testing", "web-development", "developer-tools"], "enriched": true, "function": ["security", "vulnerability-scanning", "penetration-testing", "web-scraping"], "health_score": 20, "homepage": null, "language": "HTML", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["SamJoan/droopescan"], "name": "SamJoan/droopescan", "platform": ["python", "cli", "windows"], "pushed_at": "2024-01-19T19:58:03+00:00", "repo": "SamJoan/droopescan", "stars": 1445, "tags": ["cms-scanner", "drupal", "silverstripe", "wordpress", "joomla", "moodle", "security-research", "reconnaissance", "plugin-based", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["identify which CMS a website is running", "enumerate Drupal modules and themes on a target site", "fingerprint the version of a Drupal or Silverstripe installation", "find interesting URLs like admin login pages and changelog files during a pentest", "audit my own CMS site for exposed plugin directories", "scan multiple CMS sites from a list of URLs"], "what_it_is": "Droopescan is a plugin-based command-line scanner that helps security researchers identify the CMS, version, plugins, themes, and interesting URLs of target websites. It primarily supports Drupal and SilverStripe, with WordPress support and partial support for Joomla and Moodle.", "when_to_avoid": ["you need a general-purpose web vulnerability scanner like a full DAST tool", "you require active exploitation or automated vulnerability correlation - droopescan only enumerates, correlation is manual", "you need support for CMSs beyond the ones listed, or deep Joomla/Moodle scanning", "scanning targets without explicit authorization - doing so is illegal"], "when_to_choose": ["you need CMS-specific fingerprinting for Drupal or SilverStripe", "you are a security researcher doing authorized reconnaissance of CMS-based sites", "you want a scriptable CLI scanner that integrates into pentest workflows"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/droopescan", "repo": "SamJoan/droopescan", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.108478+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:36:12.750661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5abe238725225aa64e91776b3c5069263820e0c783fa6e969a3dbe5a52d8491", "fetched_at": "2026-08-28T04:04:45.108478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SamJoan/droopescan"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.108478+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:36:12.750661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5abe238725225aa64e91776b3c5069263820e0c783fa6e969a3dbe5a52d8491", "fetched_at": "2026-08-28T04:04:45.108478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SamJoan/droopescan"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:36:12.750661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5abe238725225aa64e91776b3c5069263820e0c783fa6e969a3dbe5a52d8491", "fetched_at": "2026-08-28T04:04:45.108478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SamJoan/droopescan"}], "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:45.108478+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.108478+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.108478+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:36:12.750661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5abe238725225aa64e91776b3c5069263820e0c783fa6e969a3dbe5a52d8491", "fetched_at": "2026-08-28T04:04:45.108478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SamJoan/droopescan"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.108478+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.108478+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:36:12.750661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5abe238725225aa64e91776b3c5069263820e0c783fa6e969a3dbe5a52d8491", "fetched_at": "2026-08-28T04:04:45.108478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SamJoan/droopescan"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.108478+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.108478+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.108478+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:36:12.750661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5abe238725225aa64e91776b3c5069263820e0c783fa6e969a3dbe5a52d8491", "fetched_at": "2026-08-28T04:04:45.108478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SamJoan/droopescan"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.108478+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:45.108478+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:36:12.750661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5abe238725225aa64e91776b3c5069263820e0c783fa6e969a3dbe5a52d8491", "fetched_at": "2026-08-28T04:04:45.108478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SamJoan/droopescan"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:36:12.750661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5abe238725225aa64e91776b3c5069263820e0c783fa6e969a3dbe5a52d8491", "fetched_at": "2026-08-28T04:04:45.108478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SamJoan/droopescan"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:36:12.750661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5abe238725225aa64e91776b3c5069263820e0c783fa6e969a3dbe5a52d8491", "fetched_at": "2026-08-28T04:04:45.108478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SamJoan/droopescan"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:36:12.750661+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a5abe238725225aa64e91776b3c5069263820e0c783fa6e969a3dbe5a52d8491", "fetched_at": "2026-08-28T04:04:45.108478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SamJoan/droopescan"}], "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": 4333, "days_push": 957, "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}}