{"adoption": {"forks": 177, "observed_at": "2026-08-28T04:05:10.983615+00:00", "stars": 1611}, "canonical_url": "https://ross.abutalabs.com/products/vectr", "card": {"archived": false, "artifact_type": "application", "description": "VECTR is a tool that facilitates tracking of your red and blue team testing activities to measure detection and prevention capabilities across different attack scenarios", "domain": ["security", "penetration-testing"], "enriched": true, "function": ["security", "analytics", "monitoring"], "health_score": 99, "homepage": null, "language": null, "license": null, "license_family": "other", "maturity": "active", "member_repos": ["SecurityRiskAdvisors/VECTR"], "name": "SecurityRiskAdvisors/VECTR", "platform": ["self-hosted"], "pushed_at": "2026-08-14T15:11:50+00:00", "repo": "SecurityRiskAdvisors/VECTR", "stars": 1611, "tags": ["red-team", "blue-team", "purple-team", "adversary-emulation", "attack-tracking", "detection-testing", "mitre-attack", "reporting", "devops", "linux", "docker", "web-server"], "topics": [], "urls": [], "use_cases": ["track purple team testing activities", "measure detection and prevention coverage against attack scenarios", "plan and record adversary emulation campaigns", "visualize detection gaps with heatmaps and resilience trending", "import test results from attack automation tools", "replicate attacker TTPs across the kill chain"], "what_it_is": "VECTR is a self-hosted web application for tracking red and blue team testing activities to measure detection and prevention capabilities across attack scenarios. It organizes assessments into campaigns and test cases, providing heatmaps and resilience trending to improve defensive coverage.", "when_to_avoid": ["you need an attack execution or automation framework itself rather than a tracking tool", "you require a managed SaaS with vendor support and no self-hosting", "you only need simple vulnerability scanning or reporting"], "when_to_choose": ["you run purple team exercises and need structured tracking of test cases and results", "you want measurable trending of blue team detection and prevention success over time", "you need a self-hosted tool to coordinate red and blue team transparency"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/vectr", "repo": "SecurityRiskAdvisors/VECTR", "role": "main", "score": 98}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.983615+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:51:11.344853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0116814f8892216cb001908e518d8e4b31e5b6c039ae71910c7b231be7460ba2", "fetched_at": "2026-08-28T04:05:10.983615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SecurityRiskAdvisors/VECTR"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.983615+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:51:11.344853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0116814f8892216cb001908e518d8e4b31e5b6c039ae71910c7b231be7460ba2", "fetched_at": "2026-08-28T04:05:10.983615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SecurityRiskAdvisors/VECTR"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:51:11.344853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0116814f8892216cb001908e518d8e4b31e5b6c039ae71910c7b231be7460ba2", "fetched_at": "2026-08-28T04:05:10.983615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SecurityRiskAdvisors/VECTR"}], "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:05:10.983615+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.983615+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.983615+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:51:11.344853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0116814f8892216cb001908e518d8e4b31e5b6c039ae71910c7b231be7460ba2", "fetched_at": "2026-08-28T04:05:10.983615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SecurityRiskAdvisors/VECTR"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.983615+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.983615+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:51:11.344853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0116814f8892216cb001908e518d8e4b31e5b6c039ae71910c7b231be7460ba2", "fetched_at": "2026-08-28T04:05:10.983615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SecurityRiskAdvisors/VECTR"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.983615+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.983615+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.983615+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:51:11.344853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0116814f8892216cb001908e518d8e4b31e5b6c039ae71910c7b231be7460ba2", "fetched_at": "2026-08-28T04:05:10.983615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SecurityRiskAdvisors/VECTR"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.983615+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.983615+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:51:11.344853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0116814f8892216cb001908e518d8e4b31e5b6c039ae71910c7b231be7460ba2", "fetched_at": "2026-08-28T04:05:10.983615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SecurityRiskAdvisors/VECTR"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:51:11.344853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0116814f8892216cb001908e518d8e4b31e5b6c039ae71910c7b231be7460ba2", "fetched_at": "2026-08-28T04:05:10.983615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SecurityRiskAdvisors/VECTR"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:51:11.344853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0116814f8892216cb001908e518d8e4b31e5b6c039ae71910c7b231be7460ba2", "fetched_at": "2026-08-28T04:05:10.983615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SecurityRiskAdvisors/VECTR"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:51:11.344853+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0116814f8892216cb001908e518d8e4b31e5b6c039ae71910c7b231be7460ba2", "fetched_at": "2026-08-28T04:05:10.983615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SecurityRiskAdvisors/VECTR"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 98}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3488, "days_push": 19, "days_rel": 19, "gap_med": 29, "n_releases_24m": 22}, "score": 98, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}