{"adoption": {"forks": 135, "observed_at": "2026-08-28T04:04:33.962515+00:00", "stars": 1381}, "canonical_url": "https://ross.abutalabs.com/products/swagger-exp", "card": {"archived": false, "artifact_type": "cli-tool", "description": "A Swagger API Exploit", "domain": ["security", "penetration-testing", "apis", "developer-tools"], "enriched": true, "function": ["penetration-testing", "security", "http-client", "web-scraping"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["lijiejie/swagger-exp"], "name": "lijiejie/swagger-exp", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2024-06-07T10:24:50+00:00", "repo": "lijiejie/swagger-exp", "stars": 1381, "tags": ["swagger", "openapi", "api-security", "information-disclosure", "unauthorized-access", "ssrf", "swagger-ui"], "topics": [], "urls": [], "use_cases": ["scan a swagger api for unauthorized access", "test openapi endpoints for auth bypass", "find ssrf vulnerabilities in api parameters", "open swagger ui locally with cors disabled", "enumerate all rest api endpoints from swagger docs", "pentest a site's api-docs"], "what_it_is": "A Python-based Swagger REST API information disclosure exploitation tool. It enumerates API endpoints, auto-fills parameters, tests for unauthorized access and auth bypass, detects SSRF-prone parameters, and serves a local Swagger UI with CORS disabled for manual testing.", "when_to_avoid": ["the target API has no Swagger/OpenAPI documentation", "you need a full-featured API security scanner or CI-integrated vulnerability scanning", "you require a maintained, licensed tool for production security workflows"], "when_to_choose": ["you need to quickly assess exposure of a Swagger/OpenAPI-documented API during authorized pentesting", "you want automated endpoint enumeration plus a local Swagger UI for manual testing"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/swagger-exp", "repo": "lijiejie/swagger-exp", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.962515+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:40:11.169582+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aaae059041ff19b74df6c96372cbaee0c1cfc06c2a43ef7d1c66e834097e0627", "fetched_at": "2026-08-28T04:04:33.962515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lijiejie/swagger-exp"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.962515+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:40:11.169582+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aaae059041ff19b74df6c96372cbaee0c1cfc06c2a43ef7d1c66e834097e0627", "fetched_at": "2026-08-28T04:04:33.962515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lijiejie/swagger-exp"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:40:11.169582+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aaae059041ff19b74df6c96372cbaee0c1cfc06c2a43ef7d1c66e834097e0627", "fetched_at": "2026-08-28T04:04:33.962515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lijiejie/swagger-exp"}], "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:04:33.962515+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.962515+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.962515+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:40:11.169582+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aaae059041ff19b74df6c96372cbaee0c1cfc06c2a43ef7d1c66e834097e0627", "fetched_at": "2026-08-28T04:04:33.962515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lijiejie/swagger-exp"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.962515+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.962515+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:40:11.169582+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aaae059041ff19b74df6c96372cbaee0c1cfc06c2a43ef7d1c66e834097e0627", "fetched_at": "2026-08-28T04:04:33.962515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lijiejie/swagger-exp"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.962515+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.962515+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.962515+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:40:11.169582+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aaae059041ff19b74df6c96372cbaee0c1cfc06c2a43ef7d1c66e834097e0627", "fetched_at": "2026-08-28T04:04:33.962515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lijiejie/swagger-exp"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.962515+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:33.962515+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:40:11.169582+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aaae059041ff19b74df6c96372cbaee0c1cfc06c2a43ef7d1c66e834097e0627", "fetched_at": "2026-08-28T04:04:33.962515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lijiejie/swagger-exp"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:40:11.169582+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aaae059041ff19b74df6c96372cbaee0c1cfc06c2a43ef7d1c66e834097e0627", "fetched_at": "2026-08-28T04:04:33.962515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lijiejie/swagger-exp"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:40:11.169582+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aaae059041ff19b74df6c96372cbaee0c1cfc06c2a43ef7d1c66e834097e0627", "fetched_at": "2026-08-28T04:04:33.962515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lijiejie/swagger-exp"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:40:11.169582+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "aaae059041ff19b74df6c96372cbaee0c1cfc06c2a43ef7d1c66e834097e0627", "fetched_at": "2026-08-28T04:04:33.962515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lijiejie/swagger-exp"}], "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": 1989, "days_push": 817, "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}}