{"adoption": {"forks": 375, "observed_at": "2026-08-28T04:05:24.806645+00:00", "stars": 1705}, "canonical_url": "https://ross.abutalabs.com/products/damn-vulnerable-graphql-application", "card": {"archived": false, "artifact_type": "application", "description": "Damn Vulnerable GraphQL Application is an intentionally vulnerable GraphQL service implementation designed for learning about and practising GraphQL Security.", "domain": ["security", "penetration-testing", "web-development", "education", "apis"], "enriched": true, "function": ["security", "penetration-testing", "graphql", "web-framework"], "health_score": 47, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["dolevf/Damn-Vulnerable-GraphQL-Application"], "name": "dolevf/Damn-Vulnerable-GraphQL-Application", "platform": ["python", "self-hosted", "cross-platform"], "pushed_at": "2025-05-24T16:38:08+00:00", "repo": "dolevf/Damn-Vulnerable-GraphQL-Application", "stars": 1705, "tags": ["graphql-security", "vulnerable-app", "security-training", "ctf", "exploitation", "learning-by-doing", "docker", "web-server"], "topics": ["vulnerability", "graphql", "security", "penetration-testing", "damn-vulnerable", "damn-vulnerable-web-application", "graphql-security", "exploitation"], "urls": [], "use_cases": ["practice exploiting graphql vulnerabilities", "learn graphql security concepts", "train a security team on graphql attacks", "test graphql pentesting tools against a safe target", "set up a deliberately vulnerable graphql lab", "learn graphql introspection and dos attacks"], "what_it_is": "Damn Vulnerable GraphQL Application (DVGA) is an intentionally insecure GraphQL service built for learning and practicing GraphQL security attacks. It ships with beginner and expert modes covering reconnaissance, denial of service, injection, code execution, and authorization bypass scenarios.", "when_to_avoid": ["you need a production graphql server or framework", "you want a secure reference implementation to copy", "you are not interested in security training"], "when_to_choose": ["you want a safe, self-hosted target to practice graphql exploitation", "you are teaching or learning graphql security hands-on", "you need a benchmark app to validate graphql security scanners"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/damn-vulnerable-graphql-application", "repo": "dolevf/Damn-Vulnerable-GraphQL-Application", "role": "main", "score": 33}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.806645+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:37:31.544452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a92748aba37ac7d95cfa823bb03fa48d650495897d436b90e9affc7fa9691e7", "fetched_at": "2026-08-28T04:05:24.806645+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.806645+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:37:31.544452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a92748aba37ac7d95cfa823bb03fa48d650495897d436b90e9affc7fa9691e7", "fetched_at": "2026-08-28T04:05:24.806645+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:37:31.544452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a92748aba37ac7d95cfa823bb03fa48d650495897d436b90e9affc7fa9691e7", "fetched_at": "2026-08-28T04:05:24.806645+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application"}], "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:24.806645+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.806645+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.806645+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:37:31.544452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a92748aba37ac7d95cfa823bb03fa48d650495897d436b90e9affc7fa9691e7", "fetched_at": "2026-08-28T04:05:24.806645+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.806645+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.806645+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:37:31.544452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a92748aba37ac7d95cfa823bb03fa48d650495897d436b90e9affc7fa9691e7", "fetched_at": "2026-08-28T04:05:24.806645+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.806645+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.806645+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.806645+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:37:31.544452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a92748aba37ac7d95cfa823bb03fa48d650495897d436b90e9affc7fa9691e7", "fetched_at": "2026-08-28T04:05:24.806645+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.806645+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.806645+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:37:31.544452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a92748aba37ac7d95cfa823bb03fa48d650495897d436b90e9affc7fa9691e7", "fetched_at": "2026-08-28T04:05:24.806645+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:37:31.544452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a92748aba37ac7d95cfa823bb03fa48d650495897d436b90e9affc7fa9691e7", "fetched_at": "2026-08-28T04:05:24.806645+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:37:31.544452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a92748aba37ac7d95cfa823bb03fa48d650495897d436b90e9affc7fa9691e7", "fetched_at": "2026-08-28T04:05:24.806645+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:37:31.544452+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a92748aba37ac7d95cfa823bb03fa48d650495897d436b90e9affc7fa9691e7", "fetched_at": "2026-08-28T04:05:24.806645+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 23, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2037, "days_push": 466, "days_rel": 466, "gap_med": null, "n_releases_24m": 1}, "score": 33, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}