{"adoption": {"forks": 220, "observed_at": "2026-08-28T04:03:14.628320+00:00", "stars": 1017}, "canonical_url": "https://ross.abutalabs.com/products/cactustorch", "card": {"archived": false, "artifact_type": "cli-tool", "description": "CACTUSTORCH: Payload Generation for Adversary Simulations", "domain": ["security", "penetration-testing"], "enriched": true, "function": ["security", "penetration-testing"], "health_score": 20, "homepage": null, "language": "Visual Basic", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["mdsecactivebreach/CACTUSTORCH"], "name": "mdsecactivebreach/CACTUSTORCH", "platform": ["windows"], "pushed_at": "2018-07-03T06:47:36+00:00", "repo": "mdsecactivebreach/CACTUSTORCH", "stars": 1017, "tags": ["shellcode", "payload-generation", "adversary-simulation", "red-team", "vbscript", "javascript", "dotnettojscript", "cobalt-strike"], "topics": [], "urls": [], "use_cases": ["generate vbscript shellcode launcher for red team engagement", "inject shellcode into rundll32 for adversary simulation", "create word macro payload that runs shellcode", "host cactustorch payload from cobalt strike", "emulate attacker payload delivery in penetration test"], "what_it_is": "CACTUSTORCH is a payload generation tool that produces JavaScript, VBScript, and VBA shellcode launchers for adversary simulations. It spawns a 32-bit host binary (e.g. rundll32.exe) and injects raw shellcode into it, with Cobalt Strike integration via an aggressor script.", "when_to_avoid": ["you need a maintained tool with active development or a license", "your target environment blocks script execution or you need modern evasion techniques"], "when_to_choose": ["you need script-based (js/vbs/vba) shellcode execution on Windows for authorized red team exercises", "you use Cobalt Strike or Metasploit and want a quick payload hosting workflow"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/cactustorch", "repo": "mdsecactivebreach/CACTUSTORCH", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.628320+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.895970+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2fb6f7d86819be42fd3b4f5b9e8b292e1c65990f8e7959e1a040d05074ac5590", "fetched_at": "2026-08-28T04:03:14.628320+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdsecactivebreach/CACTUSTORCH"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.628320+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.895970+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2fb6f7d86819be42fd3b4f5b9e8b292e1c65990f8e7959e1a040d05074ac5590", "fetched_at": "2026-08-28T04:03:14.628320+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdsecactivebreach/CACTUSTORCH"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.895970+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2fb6f7d86819be42fd3b4f5b9e8b292e1c65990f8e7959e1a040d05074ac5590", "fetched_at": "2026-08-28T04:03:14.628320+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdsecactivebreach/CACTUSTORCH"}], "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:14.628320+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.628320+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.628320+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.895970+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2fb6f7d86819be42fd3b4f5b9e8b292e1c65990f8e7959e1a040d05074ac5590", "fetched_at": "2026-08-28T04:03:14.628320+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdsecactivebreach/CACTUSTORCH"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.628320+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.628320+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.895970+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2fb6f7d86819be42fd3b4f5b9e8b292e1c65990f8e7959e1a040d05074ac5590", "fetched_at": "2026-08-28T04:03:14.628320+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdsecactivebreach/CACTUSTORCH"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.628320+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.628320+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.628320+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.895970+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2fb6f7d86819be42fd3b4f5b9e8b292e1c65990f8e7959e1a040d05074ac5590", "fetched_at": "2026-08-28T04:03:14.628320+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdsecactivebreach/CACTUSTORCH"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.628320+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.628320+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.895970+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2fb6f7d86819be42fd3b4f5b9e8b292e1c65990f8e7959e1a040d05074ac5590", "fetched_at": "2026-08-28T04:03:14.628320+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdsecactivebreach/CACTUSTORCH"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.895970+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2fb6f7d86819be42fd3b4f5b9e8b292e1c65990f8e7959e1a040d05074ac5590", "fetched_at": "2026-08-28T04:03:14.628320+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdsecactivebreach/CACTUSTORCH"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.895970+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2fb6f7d86819be42fd3b4f5b9e8b292e1c65990f8e7959e1a040d05074ac5590", "fetched_at": "2026-08-28T04:03:14.628320+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdsecactivebreach/CACTUSTORCH"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:11:13.895970+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2fb6f7d86819be42fd3b4f5b9e8b292e1c65990f8e7959e1a040d05074ac5590", "fetched_at": "2026-08-28T04:03:14.628320+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mdsecactivebreach/CACTUSTORCH"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3347, "days_push": 2983, "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}}