{"adoption": {"forks": 181, "observed_at": "2026-08-28T04:05:31.714043+00:00", "stars": 1752}, "canonical_url": "https://ross.abutalabs.com/products/appshark", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Appshark is a static taint analysis platform to scan vulnerabilities in an Android app.", "domain": ["security", "android-tools", "developer-tools", "mobile-development"], "enriched": true, "function": ["security", "vulnerability-scanning", "static-site-generator", "parser", "developer-tools"], "health_score": 62, "homepage": null, "language": "Kotlin", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["bytedance/appshark"], "name": "bytedance/appshark", "platform": ["jvm", "cli", "cross-platform"], "pushed_at": "2026-03-04T07:22:55+00:00", "repo": "bytedance/appshark", "stars": 1752, "tags": ["android", "taint-analysis", "static-analysis", "apk", "kotlin", "compliance", "vulnerability-detection"], "topics": ["android", "compliance", "static-analysis", "vulnerability"], "urls": [], "use_cases": ["scan an android apk for security vulnerabilities", "find taint flows from sources to sinks in android apps", "detect compliance problems in android apps", "detect zip slip path traversal vulnerabilities", "write custom static analysis rules for android"], "what_it_is": "AppShark is a static taint analysis platform written in Kotlin that scans Android APKs for security vulnerabilities and compliance issues. It runs as a JVM-based CLI tool driven by JSON5 config files and custom analysis rules, producing JSON results.", "when_to_avoid": ["you need dynamic analysis or runtime behavior of the app", "you are analyzing non-Android JVM or native code", "you cannot use JDK 11, the only supported runtime"], "when_to_choose": ["you need static taint analysis of Android APKs without running the app", "you want customizable JSON-based vulnerability detection rules", "you need to audit Android apps for privacy or compliance violations"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/appshark", "repo": "bytedance/appshark", "role": "main", "score": 54}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:31.714043+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:28:17.660123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cedfb4ff980e1c8f1bf6719d1ca04c96c5ca3d093597244522ea6c4e2db70ebb", "fetched_at": "2026-08-28T04:05:31.714043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/appshark"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:31.714043+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:28:17.660123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cedfb4ff980e1c8f1bf6719d1ca04c96c5ca3d093597244522ea6c4e2db70ebb", "fetched_at": "2026-08-28T04:05:31.714043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/appshark"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:28:17.660123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cedfb4ff980e1c8f1bf6719d1ca04c96c5ca3d093597244522ea6c4e2db70ebb", "fetched_at": "2026-08-28T04:05:31.714043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/appshark"}], "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:31.714043+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:31.714043+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:31.714043+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:28:17.660123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cedfb4ff980e1c8f1bf6719d1ca04c96c5ca3d093597244522ea6c4e2db70ebb", "fetched_at": "2026-08-28T04:05:31.714043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/appshark"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:31.714043+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:31.714043+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:28:17.660123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cedfb4ff980e1c8f1bf6719d1ca04c96c5ca3d093597244522ea6c4e2db70ebb", "fetched_at": "2026-08-28T04:05:31.714043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/appshark"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:31.714043+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:31.714043+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:31.714043+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:28:17.660123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cedfb4ff980e1c8f1bf6719d1ca04c96c5ca3d093597244522ea6c4e2db70ebb", "fetched_at": "2026-08-28T04:05:31.714043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/appshark"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:31.714043+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:31.714043+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:28:17.660123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cedfb4ff980e1c8f1bf6719d1ca04c96c5ca3d093597244522ea6c4e2db70ebb", "fetched_at": "2026-08-28T04:05:31.714043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/appshark"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:28:17.660123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cedfb4ff980e1c8f1bf6719d1ca04c96c5ca3d093597244522ea6c4e2db70ebb", "fetched_at": "2026-08-28T04:05:31.714043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/appshark"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:28:17.660123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cedfb4ff980e1c8f1bf6719d1ca04c96c5ca3d093597244522ea6c4e2db70ebb", "fetched_at": "2026-08-28T04:05:31.714043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/appshark"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:28:17.660123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cedfb4ff980e1c8f1bf6719d1ca04c96c5ca3d093597244522ea6c4e2db70ebb", "fetched_at": "2026-08-28T04:05:31.714043+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bytedance/appshark"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 70, "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": 1462, "days_push": 182, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 54, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}