{"adoption": {"forks": 334, "observed_at": "2026-08-28T04:06:41.705025+00:00", "stars": 2370}, "canonical_url": "https://ross.abutalabs.com/products/jaeles", "card": {"archived": false, "artifact_type": "cli-tool", "description": "The Swiss Army knife for automated Web Application Testing", "domain": ["security", "penetration-testing", "web-development", "developer-tools"], "enriched": true, "function": ["security", "vulnerability-scanning", "web-scraping", "cli"], "health_score": 74, "homepage": "https://jaeles-project.github.io/", "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["jaeles-project/jaeles"], "name": "jaeles-project/jaeles", "platform": ["windows", "cli", "go"], "pushed_at": "2026-06-20T12:53:44+00:00", "repo": "jaeles-project/jaeles", "stars": 2370, "tags": ["web-application-scanner", "bug-bounty", "signature-based-scanning", "automated-testing", "archived", "linux", "macos", "docker"], "topics": ["golang", "hacking", "bugbounty", "jaeles", "web-scanner", "scanner", "infosec", "security-tools", "vulnerabilities"], "urls": [], "use_cases": ["scan a list of urls for known web vulnerabilities", "automate bug bounty reconnaissance and vulnerability scanning", "write custom detection signatures for web app flaws", "detect vulnerable jira wordpress or java components at scale", "run a web scanner through a proxy like burp", "get slack notifications when a vulnerability is found"], "what_it_is": "Jaeles is a Go-based framework for building and running automated web application vulnerability scanners using customizable YAML signatures. It supports bulk scanning of URL lists, concurrency, proxies, and Slack notifications, and is distributed as a CLI tool and Docker image.", "when_to_avoid": ["the repository is archived and no longer maintained - prefer its successor or active alternatives like nuclei", "you need a full dynamic application security testing (DAST) suite with crawling and reporting", "you need commercial support or guaranteed updates for new CVEs"], "when_to_choose": ["you want a flexible signature-driven web vulnerability scanner in Go", "you need to scan large lists of urls concurrently during bug bounty work", "you want to write your own detection signatures instead of using fixed rules"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jaeles", "repo": "jaeles-project/jaeles", "role": "main", "score": 62}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:41.705025+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:35:25.124679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80da8afaf67a8d125943f89417a1b25436ce4efa3d5ff49b58f3f8117195e3f8", "fetched_at": "2026-08-28T04:06:41.705025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaeles-project/jaeles"}, {"content_hash": "89bc87cfab4ccb990ad104735f62451bb2bebba5e59d11c8108bec1b959fdab6", "fetched_at": "2026-08-29T10:16:13.302862+00:00", "kind": "homepage", "missing": false, "url": "https://jaeles-project.github.io/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:41.705025+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:35:25.124679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80da8afaf67a8d125943f89417a1b25436ce4efa3d5ff49b58f3f8117195e3f8", "fetched_at": "2026-08-28T04:06:41.705025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaeles-project/jaeles"}, {"content_hash": "89bc87cfab4ccb990ad104735f62451bb2bebba5e59d11c8108bec1b959fdab6", "fetched_at": "2026-08-29T10:16:13.302862+00:00", "kind": "homepage", "missing": false, "url": "https://jaeles-project.github.io/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:35:25.124679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80da8afaf67a8d125943f89417a1b25436ce4efa3d5ff49b58f3f8117195e3f8", "fetched_at": "2026-08-28T04:06:41.705025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaeles-project/jaeles"}, {"content_hash": "89bc87cfab4ccb990ad104735f62451bb2bebba5e59d11c8108bec1b959fdab6", "fetched_at": "2026-08-29T10:16:13.302862+00:00", "kind": "homepage", "missing": false, "url": "https://jaeles-project.github.io/"}], "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:06:41.705025+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:41.705025+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:41.705025+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:35:25.124679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80da8afaf67a8d125943f89417a1b25436ce4efa3d5ff49b58f3f8117195e3f8", "fetched_at": "2026-08-28T04:06:41.705025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaeles-project/jaeles"}, {"content_hash": "89bc87cfab4ccb990ad104735f62451bb2bebba5e59d11c8108bec1b959fdab6", "fetched_at": "2026-08-29T10:16:13.302862+00:00", "kind": "homepage", "missing": false, "url": "https://jaeles-project.github.io/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:41.705025+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:41.705025+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:35:25.124679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80da8afaf67a8d125943f89417a1b25436ce4efa3d5ff49b58f3f8117195e3f8", "fetched_at": "2026-08-28T04:06:41.705025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaeles-project/jaeles"}, {"content_hash": "89bc87cfab4ccb990ad104735f62451bb2bebba5e59d11c8108bec1b959fdab6", "fetched_at": "2026-08-29T10:16:13.302862+00:00", "kind": "homepage", "missing": false, "url": "https://jaeles-project.github.io/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:41.705025+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:41.705025+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:41.705025+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:35:25.124679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80da8afaf67a8d125943f89417a1b25436ce4efa3d5ff49b58f3f8117195e3f8", "fetched_at": "2026-08-28T04:06:41.705025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaeles-project/jaeles"}, {"content_hash": "89bc87cfab4ccb990ad104735f62451bb2bebba5e59d11c8108bec1b959fdab6", "fetched_at": "2026-08-29T10:16:13.302862+00:00", "kind": "homepage", "missing": false, "url": "https://jaeles-project.github.io/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:41.705025+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:41.705025+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:35:25.124679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80da8afaf67a8d125943f89417a1b25436ce4efa3d5ff49b58f3f8117195e3f8", "fetched_at": "2026-08-28T04:06:41.705025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaeles-project/jaeles"}, {"content_hash": "89bc87cfab4ccb990ad104735f62451bb2bebba5e59d11c8108bec1b959fdab6", "fetched_at": "2026-08-29T10:16:13.302862+00:00", "kind": "homepage", "missing": false, "url": "https://jaeles-project.github.io/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:35:25.124679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80da8afaf67a8d125943f89417a1b25436ce4efa3d5ff49b58f3f8117195e3f8", "fetched_at": "2026-08-28T04:06:41.705025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaeles-project/jaeles"}, {"content_hash": "89bc87cfab4ccb990ad104735f62451bb2bebba5e59d11c8108bec1b959fdab6", "fetched_at": "2026-08-29T10:16:13.302862+00:00", "kind": "homepage", "missing": false, "url": "https://jaeles-project.github.io/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:35:25.124679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80da8afaf67a8d125943f89417a1b25436ce4efa3d5ff49b58f3f8117195e3f8", "fetched_at": "2026-08-28T04:06:41.705025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaeles-project/jaeles"}, {"content_hash": "89bc87cfab4ccb990ad104735f62451bb2bebba5e59d11c8108bec1b959fdab6", "fetched_at": "2026-08-29T10:16:13.302862+00:00", "kind": "homepage", "missing": false, "url": "https://jaeles-project.github.io/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:35:25.124679+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80da8afaf67a8d125943f89417a1b25436ce4efa3d5ff49b58f3f8117195e3f8", "fetched_at": "2026-08-28T04:06:41.705025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jaeles-project/jaeles"}, {"content_hash": "89bc87cfab4ccb990ad104735f62451bb2bebba5e59d11c8108bec1b959fdab6", "fetched_at": "2026-08-29T10:16:13.302862+00:00", "kind": "homepage", "missing": false, "url": "https://jaeles-project.github.io/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 88, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2483, "days_push": 74, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 62, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}