{"adoption": {"forks": 121, "observed_at": "2026-08-28T04:03:58.739998+00:00", "stars": 1203}, "canonical_url": "https://ross.abutalabs.com/products/cam-dumper", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Take webcam shots from target by just sending a malicious link", "domain": ["security", "penetration-testing", "privacy"], "enriched": true, "function": ["penetration-testing", "security", "http-server"], "health_score": 20, "homepage": null, "language": "Shell", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["LiNuX-Mallu/CAM-DUMPER"], "name": "LiNuX-Mallu/CAM-DUMPER", "platform": ["cli"], "pushed_at": "2022-02-02T03:00:48+00:00", "repo": "LiNuX-Mallu/CAM-DUMPER", "stars": 1203, "tags": ["social-engineering", "phishing", "webcam", "camera-hacking", "ngrok", "serveo", "shell-script", "kali-linux", "termux", "linux", "android"], "topics": ["camera-hacking", "camera-phishing"], "urls": [], "use_cases": ["capture webcam shots from a target by sending a phishing link", "demonstrate browser camera permission social-engineering risks in security awareness training", "test how users respond to getUserMedia permission prompts", "run a red-team exercise demonstrating malicious link camera access", "host a fake HTTPS page through ngrok or serveo for a phishing simulation"], "what_it_is": "CAM-DUMPER is a shell-based security testing tool that generates a malicious HTTPS page served via Serveo or Ngrok port forwarding to capture webcam photos from targets. It abuses the browser MediaDevices.getUserMedia() API to trick users into granting camera access and uploads the captured images back to the attacker.", "when_to_avoid": ["you need a full-featured phishing framework with template management and tracking", "you want a maintained tool with regular updates and broad platform support", "your use case is legitimate webcam capture without user deception - use standard browser APIs instead", "you require stealth or evasion capabilities beyond a simple hosted page"], "when_to_choose": ["you need a quick, scriptable proof-of-concept for camera-based social engineering on Kali Linux or Termux", "you want to demonstrate getUserMedia permission abuse during a security awareness session", "you prefer a lightweight bash tool with no dependencies beyond php, curl, and jq"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/cam-dumper", "repo": "LiNuX-Mallu/CAM-DUMPER", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.739998+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:19:42.061150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0b6a65675e58ccf51d62a5415eb9521468d40540c3f794e63de284b7976ee0", "fetched_at": "2026-08-28T04:03:58.739998+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LiNuX-Mallu/CAM-DUMPER"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.739998+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:19:42.061150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0b6a65675e58ccf51d62a5415eb9521468d40540c3f794e63de284b7976ee0", "fetched_at": "2026-08-28T04:03:58.739998+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LiNuX-Mallu/CAM-DUMPER"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:19:42.061150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0b6a65675e58ccf51d62a5415eb9521468d40540c3f794e63de284b7976ee0", "fetched_at": "2026-08-28T04:03:58.739998+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LiNuX-Mallu/CAM-DUMPER"}], "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:58.739998+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.739998+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.739998+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:19:42.061150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0b6a65675e58ccf51d62a5415eb9521468d40540c3f794e63de284b7976ee0", "fetched_at": "2026-08-28T04:03:58.739998+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LiNuX-Mallu/CAM-DUMPER"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.739998+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.739998+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:19:42.061150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0b6a65675e58ccf51d62a5415eb9521468d40540c3f794e63de284b7976ee0", "fetched_at": "2026-08-28T04:03:58.739998+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LiNuX-Mallu/CAM-DUMPER"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.739998+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.739998+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.739998+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:19:42.061150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0b6a65675e58ccf51d62a5415eb9521468d40540c3f794e63de284b7976ee0", "fetched_at": "2026-08-28T04:03:58.739998+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LiNuX-Mallu/CAM-DUMPER"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.739998+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:58.739998+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:19:42.061150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0b6a65675e58ccf51d62a5415eb9521468d40540c3f794e63de284b7976ee0", "fetched_at": "2026-08-28T04:03:58.739998+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LiNuX-Mallu/CAM-DUMPER"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:19:42.061150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0b6a65675e58ccf51d62a5415eb9521468d40540c3f794e63de284b7976ee0", "fetched_at": "2026-08-28T04:03:58.739998+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LiNuX-Mallu/CAM-DUMPER"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:19:42.061150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0b6a65675e58ccf51d62a5415eb9521468d40540c3f794e63de284b7976ee0", "fetched_at": "2026-08-28T04:03:58.739998+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LiNuX-Mallu/CAM-DUMPER"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:19:42.061150+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cc0b6a65675e58ccf51d62a5415eb9521468d40540c3f794e63de284b7976ee0", "fetched_at": "2026-08-28T04:03:58.739998+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LiNuX-Mallu/CAM-DUMPER"}], "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": 2444, "days_push": 1673, "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}}