{"adoption": {"forks": 282, "observed_at": "2026-08-28T04:03:18.180048+00:00", "stars": 1032}, "canonical_url": "https://ross.abutalabs.com/products/libinjection", "card": {"archived": false, "artifact_type": "library", "description": "SQL / SQLI tokenizer parser analyzer", "domain": ["security", "parsers", "web-development", "developer-tools"], "enriched": true, "function": ["parser", "security", "nlp"], "health_score": 20, "homepage": null, "language": "C", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["client9/libinjection"], "name": "client9/libinjection", "platform": ["c", "cpp", "python", "php", "lua", "cross-platform"], "pushed_at": "2023-10-04T14:35:31+00:00", "repo": "client9/libinjection", "stars": 1032, "tags": ["sql-injection-detection", "sqli", "tokenizer", "waf", "fingerprinting"], "topics": [], "urls": [], "use_cases": ["detect sql injection attacks in user input", "add sqli detection to a web application firewall", "scan request parameters for sql injection payloads", "integrate sql injection detection into a php or python app", "fingerprint malicious sql queries"], "what_it_is": "A C library that tokenizes and analyzes input strings to detect SQL injection (SQLi) attacks using fingerprint matching. It has bindings for PHP, Python, and Lua, and is commonly embedded in web application firewalls.", "when_to_avoid": ["you need general-purpose SQL parsing or query analysis rather than attack detection", "you need actively developed features or recent vulnerability updates", "you need detection for injection types beyond SQL (e.g., XSS, LDAP)"], "when_to_choose": ["you need fast, lightweight SQLi detection in C/C++ or via bindings", "you are building a WAF or input filter that must flag SQL injection attempts", "you want a mature, widely deployed detection library with fingerprint output"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/libinjection", "repo": "client9/libinjection", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.180048+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:06:44.437008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ba874eb5a37f389e372ea14d132d9c8df350688c8bd37e792ce1edf2e1e62fa", "fetched_at": "2026-08-28T04:03:18.180048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/client9/libinjection"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.180048+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:06:44.437008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ba874eb5a37f389e372ea14d132d9c8df350688c8bd37e792ce1edf2e1e62fa", "fetched_at": "2026-08-28T04:03:18.180048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/client9/libinjection"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:06:44.437008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ba874eb5a37f389e372ea14d132d9c8df350688c8bd37e792ce1edf2e1e62fa", "fetched_at": "2026-08-28T04:03:18.180048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/client9/libinjection"}], "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:18.180048+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.180048+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.180048+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:06:44.437008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ba874eb5a37f389e372ea14d132d9c8df350688c8bd37e792ce1edf2e1e62fa", "fetched_at": "2026-08-28T04:03:18.180048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/client9/libinjection"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.180048+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.180048+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:06:44.437008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ba874eb5a37f389e372ea14d132d9c8df350688c8bd37e792ce1edf2e1e62fa", "fetched_at": "2026-08-28T04:03:18.180048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/client9/libinjection"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.180048+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.180048+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.180048+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:06:44.437008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ba874eb5a37f389e372ea14d132d9c8df350688c8bd37e792ce1edf2e1e62fa", "fetched_at": "2026-08-28T04:03:18.180048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/client9/libinjection"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.180048+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.180048+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:06:44.437008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ba874eb5a37f389e372ea14d132d9c8df350688c8bd37e792ce1edf2e1e62fa", "fetched_at": "2026-08-28T04:03:18.180048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/client9/libinjection"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:06:44.437008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ba874eb5a37f389e372ea14d132d9c8df350688c8bd37e792ce1edf2e1e62fa", "fetched_at": "2026-08-28T04:03:18.180048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/client9/libinjection"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:06:44.437008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ba874eb5a37f389e372ea14d132d9c8df350688c8bd37e792ce1edf2e1e62fa", "fetched_at": "2026-08-28T04:03:18.180048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/client9/libinjection"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:06:44.437008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3ba874eb5a37f389e372ea14d132d9c8df350688c8bd37e792ce1edf2e1e62fa", "fetched_at": "2026-08-28T04:03:18.180048+00:00", "kind": "readme", "missing": false, "url": "https://github.com/client9/libinjection"}], "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": 5167, "days_push": 1064, "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}}