{"adoption": {"forks": 112, "observed_at": "2026-08-28T04:06:59.577769+00:00", "stars": 2544}, "canonical_url": "https://ross.abutalabs.com/products/unblob", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Extract files from any kind of container formats", "domain": ["security", "reverse-engineering", "files", "embedded-systems", "developer-tools"], "enriched": true, "function": ["parser", "file-system", "compression", "cli", "security", "reverse-engineering", "plugin-system"], "health_score": 98, "homepage": "https://unblob.org", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["onekey-sec/unblob"], "name": "onekey-sec/unblob", "platform": ["python", "cli"], "pushed_at": "2026-08-24T01:45:39+00:00", "repo": "onekey-sec/unblob", "stars": 2544, "tags": ["firmware-analysis", "binary-blob-extraction", "data-recovery", "forensics", "malware-analysis", "chunk-carving", "entropy-analysis", "command-line", "linux", "macos", "docker"], "topics": ["extraction", "filesystem", "archive", "compression", "python"], "urls": [], "use_cases": ["extract files from firmware images", "unpack unknown binary blobs", "recursively extract nested archives and filesystems", "identify embedded filesystems like SquashFS or JFFS2 in firmware", "carve out unknown data chunks from binary files", "analyze entropy of unknown regions to spot encrypted or compressed data", "generate JSON reports of extracted chunk offsets and metadata", "extend extraction with custom format handler plugins"], "what_it_is": "unblob is an extraction suite that parses unknown binary blobs for 78+ archive, compression, and file-system formats, recursively extracting their contents and carving out unrecognized chunks. It provides both a command-line interface and a Python library, and is primarily aimed at firmware image analysis and reverse engineering.", "when_to_avoid": ["you only need to extract a single well-known archive format like a plain zip or tar", "you require a GUI-based extraction tool", "you cannot install external extractor dependencies like 7zip, unar, or sasquatch", "you need Windows-native support without Docker or WSL"], "when_to_choose": ["you need to extract and analyze firmware images or embedded device dumps", "you want accurate start and end offsets for chunks rather than naive carving", "you need recursive extraction across many archive, compression, and filesystem formats", "you want a Python library or CLI with a plugin system for custom formats", "you are doing data recovery, memory forensics, or malware analysis on binary blobs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/unblob", "repo": "onekey-sec/unblob", "role": "main", "score": 91}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.577769+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:25:04.548395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3972dbb211a2c514504748b24c63c8e5935db80b1a980325711312d7fa74b5b6", "fetched_at": "2026-08-28T04:06:59.577769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onekey-sec/unblob"}, {"content_hash": "36d1cfa3229985336e3242bfbbdbe7a89928357a7a5a5d6349c914c737a5cd48", "fetched_at": "2026-08-29T10:07:05.033090+00:00", "kind": "homepage", "missing": false, "url": "https://unblob.org"}, {"content_hash": "e3b2112ff673b7a02f63332fa72be959c6f2d713295106175d4ffc1058421e90", "fetched_at": "2026-08-29T10:07:05.042553+00:00", "kind": "site_page", "missing": false, "url": "https://unblob.org/installation"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.577769+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:25:04.548395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3972dbb211a2c514504748b24c63c8e5935db80b1a980325711312d7fa74b5b6", "fetched_at": "2026-08-28T04:06:59.577769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onekey-sec/unblob"}, {"content_hash": "36d1cfa3229985336e3242bfbbdbe7a89928357a7a5a5d6349c914c737a5cd48", "fetched_at": "2026-08-29T10:07:05.033090+00:00", "kind": "homepage", "missing": false, "url": "https://unblob.org"}, {"content_hash": "e3b2112ff673b7a02f63332fa72be959c6f2d713295106175d4ffc1058421e90", "fetched_at": "2026-08-29T10:07:05.042553+00:00", "kind": "site_page", "missing": false, "url": "https://unblob.org/installation"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:25:04.548395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3972dbb211a2c514504748b24c63c8e5935db80b1a980325711312d7fa74b5b6", "fetched_at": "2026-08-28T04:06:59.577769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onekey-sec/unblob"}, {"content_hash": "36d1cfa3229985336e3242bfbbdbe7a89928357a7a5a5d6349c914c737a5cd48", "fetched_at": "2026-08-29T10:07:05.033090+00:00", "kind": "homepage", "missing": false, "url": "https://unblob.org"}, {"content_hash": "e3b2112ff673b7a02f63332fa72be959c6f2d713295106175d4ffc1058421e90", "fetched_at": "2026-08-29T10:07:05.042553+00:00", "kind": "site_page", "missing": false, "url": "https://unblob.org/installation"}], "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:59.577769+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.577769+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.577769+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:25:04.548395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3972dbb211a2c514504748b24c63c8e5935db80b1a980325711312d7fa74b5b6", "fetched_at": "2026-08-28T04:06:59.577769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onekey-sec/unblob"}, {"content_hash": "36d1cfa3229985336e3242bfbbdbe7a89928357a7a5a5d6349c914c737a5cd48", "fetched_at": "2026-08-29T10:07:05.033090+00:00", "kind": "homepage", "missing": false, "url": "https://unblob.org"}, {"content_hash": "e3b2112ff673b7a02f63332fa72be959c6f2d713295106175d4ffc1058421e90", "fetched_at": "2026-08-29T10:07:05.042553+00:00", "kind": "site_page", "missing": false, "url": "https://unblob.org/installation"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.577769+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.577769+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:25:04.548395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3972dbb211a2c514504748b24c63c8e5935db80b1a980325711312d7fa74b5b6", "fetched_at": "2026-08-28T04:06:59.577769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onekey-sec/unblob"}, {"content_hash": "36d1cfa3229985336e3242bfbbdbe7a89928357a7a5a5d6349c914c737a5cd48", "fetched_at": "2026-08-29T10:07:05.033090+00:00", "kind": "homepage", "missing": false, "url": "https://unblob.org"}, {"content_hash": "e3b2112ff673b7a02f63332fa72be959c6f2d713295106175d4ffc1058421e90", "fetched_at": "2026-08-29T10:07:05.042553+00:00", "kind": "site_page", "missing": false, "url": "https://unblob.org/installation"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.577769+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.577769+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.577769+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:25:04.548395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3972dbb211a2c514504748b24c63c8e5935db80b1a980325711312d7fa74b5b6", "fetched_at": "2026-08-28T04:06:59.577769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onekey-sec/unblob"}, {"content_hash": "36d1cfa3229985336e3242bfbbdbe7a89928357a7a5a5d6349c914c737a5cd48", "fetched_at": "2026-08-29T10:07:05.033090+00:00", "kind": "homepage", "missing": false, "url": "https://unblob.org"}, {"content_hash": "e3b2112ff673b7a02f63332fa72be959c6f2d713295106175d4ffc1058421e90", "fetched_at": "2026-08-29T10:07:05.042553+00:00", "kind": "site_page", "missing": false, "url": "https://unblob.org/installation"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.577769+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:59.577769+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:25:04.548395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3972dbb211a2c514504748b24c63c8e5935db80b1a980325711312d7fa74b5b6", "fetched_at": "2026-08-28T04:06:59.577769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onekey-sec/unblob"}, {"content_hash": "36d1cfa3229985336e3242bfbbdbe7a89928357a7a5a5d6349c914c737a5cd48", "fetched_at": "2026-08-29T10:07:05.033090+00:00", "kind": "homepage", "missing": false, "url": "https://unblob.org"}, {"content_hash": "e3b2112ff673b7a02f63332fa72be959c6f2d713295106175d4ffc1058421e90", "fetched_at": "2026-08-29T10:07:05.042553+00:00", "kind": "site_page", "missing": false, "url": "https://unblob.org/installation"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:25:04.548395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3972dbb211a2c514504748b24c63c8e5935db80b1a980325711312d7fa74b5b6", "fetched_at": "2026-08-28T04:06:59.577769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onekey-sec/unblob"}, {"content_hash": "36d1cfa3229985336e3242bfbbdbe7a89928357a7a5a5d6349c914c737a5cd48", "fetched_at": "2026-08-29T10:07:05.033090+00:00", "kind": "homepage", "missing": false, "url": "https://unblob.org"}, {"content_hash": "e3b2112ff673b7a02f63332fa72be959c6f2d713295106175d4ffc1058421e90", "fetched_at": "2026-08-29T10:07:05.042553+00:00", "kind": "site_page", "missing": false, "url": "https://unblob.org/installation"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:25:04.548395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3972dbb211a2c514504748b24c63c8e5935db80b1a980325711312d7fa74b5b6", "fetched_at": "2026-08-28T04:06:59.577769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onekey-sec/unblob"}, {"content_hash": "36d1cfa3229985336e3242bfbbdbe7a89928357a7a5a5d6349c914c737a5cd48", "fetched_at": "2026-08-29T10:07:05.033090+00:00", "kind": "homepage", "missing": false, "url": "https://unblob.org"}, {"content_hash": "e3b2112ff673b7a02f63332fa72be959c6f2d713295106175d4ffc1058421e90", "fetched_at": "2026-08-29T10:07:05.042553+00:00", "kind": "site_page", "missing": false, "url": "https://unblob.org/installation"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:25:04.548395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3972dbb211a2c514504748b24c63c8e5935db80b1a980325711312d7fa74b5b6", "fetched_at": "2026-08-28T04:06:59.577769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onekey-sec/unblob"}, {"content_hash": "36d1cfa3229985336e3242bfbbdbe7a89928357a7a5a5d6349c914c737a5cd48", "fetched_at": "2026-08-29T10:07:05.033090+00:00", "kind": "homepage", "missing": false, "url": "https://unblob.org"}, {"content_hash": "e3b2112ff673b7a02f63332fa72be959c6f2d713295106175d4ffc1058421e90", "fetched_at": "2026-08-29T10:07:05.042553+00:00", "kind": "site_page", "missing": false, "url": "https://unblob.org/installation"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 75}, "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": 1912, "days_push": 10, "days_rel": 90, "gap_med": 44, "n_releases_24m": 10}, "score": 91, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}