{"adoption": {"forks": 180, "observed_at": "2026-08-28T04:04:46.869228+00:00", "stars": 1455}, "canonical_url": "https://ross.abutalabs.com/products/binaryalert", "card": {"archived": false, "artifact_type": "service", "description": "BinaryAlert: Serverless, Real-time & Retroactive Malware Detection.", "domain": ["security", "cloud-computing"], "enriched": true, "function": ["security", "monitoring", "alerting", "infrastructure-as-code", "serverless"], "health_score": 20, "homepage": "https://binaryalert.io", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["airbnb/binaryalert"], "name": "airbnb/binaryalert", "platform": ["cloud", "python", "serverless"], "pushed_at": "2023-12-12T18:28:30+00:00", "repo": "airbnb/binaryalert", "stars": 1455, "tags": ["yara", "malware-detection", "aws-lambda", "s3", "incident-response", "retroactive-scanning", "devops", "terraform"], "topics": ["security", "yara", "serverless", "terraform", "lambda", "aws", "malware-detection"], "urls": [], "use_cases": ["detect malware in files uploaded to S3 in real time", "scan an existing file corpus with new YARA rules retroactively", "set up serverless malware detection in my AWS account", "alert my incident response team when a malicious binary is found", "manage YARA rules across a team and deploy them to a scanning pipeline", "analyze millions of files per day without managing servers"], "what_it_is": "BinaryAlert is an open-source serverless AWS pipeline that scans every file uploaded to an S3 bucket against a configurable set of YARA rules and fires alerts on matches. It is deployed entirely via Terraform, uses Lambda for all computation, and supports retroactive rescanning of the file corpus when rules change.", "when_to_avoid": ["you need on-premises or non-AWS deployment", "you need deep static/dynamic analysis beyond YARA matching (e.g., sandboxing, reverse engineering)", "you require real-time sub-second detection outside an S3-upload workflow", "you need actively developed features - the project is in maintenance mode"], "when_to_choose": ["you are AWS-centric and want a serverless, Terraform-deployed malware scanner", "you need real-time YARA-based file scanning with SNS alerting", "you want retroactive analysis when your ruleset changes", "you prefer no servers to maintain and pay-per-use costs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/binaryalert", "repo": "airbnb/binaryalert", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:46.869228+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:35:38.354917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "863b973c7977ad1a0d926def26953f6850b4777f397e4695bf32083cfe9a033a", "fetched_at": "2026-08-28T04:04:46.869228+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airbnb/binaryalert"}, {"content_hash": "e5a874e3efa4c44178a89a98af8c29cf4c3eeac5b3d3c4986525684292126128", "fetched_at": "2026-08-29T11:45:47.397209+00:00", "kind": "homepage", "missing": false, "url": "https://binaryalert.io"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:46.869228+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:35:38.354917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "863b973c7977ad1a0d926def26953f6850b4777f397e4695bf32083cfe9a033a", "fetched_at": "2026-08-28T04:04:46.869228+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airbnb/binaryalert"}, {"content_hash": "e5a874e3efa4c44178a89a98af8c29cf4c3eeac5b3d3c4986525684292126128", "fetched_at": "2026-08-29T11:45:47.397209+00:00", "kind": "homepage", "missing": false, "url": "https://binaryalert.io"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:35:38.354917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "863b973c7977ad1a0d926def26953f6850b4777f397e4695bf32083cfe9a033a", "fetched_at": "2026-08-28T04:04:46.869228+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airbnb/binaryalert"}, {"content_hash": "e5a874e3efa4c44178a89a98af8c29cf4c3eeac5b3d3c4986525684292126128", "fetched_at": "2026-08-29T11:45:47.397209+00:00", "kind": "homepage", "missing": false, "url": "https://binaryalert.io"}], "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:46.869228+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:46.869228+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:46.869228+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:35:38.354917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "863b973c7977ad1a0d926def26953f6850b4777f397e4695bf32083cfe9a033a", "fetched_at": "2026-08-28T04:04:46.869228+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airbnb/binaryalert"}, {"content_hash": "e5a874e3efa4c44178a89a98af8c29cf4c3eeac5b3d3c4986525684292126128", "fetched_at": "2026-08-29T11:45:47.397209+00:00", "kind": "homepage", "missing": false, "url": "https://binaryalert.io"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:46.869228+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:46.869228+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:35:38.354917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "863b973c7977ad1a0d926def26953f6850b4777f397e4695bf32083cfe9a033a", "fetched_at": "2026-08-28T04:04:46.869228+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airbnb/binaryalert"}, {"content_hash": "e5a874e3efa4c44178a89a98af8c29cf4c3eeac5b3d3c4986525684292126128", "fetched_at": "2026-08-29T11:45:47.397209+00:00", "kind": "homepage", "missing": false, "url": "https://binaryalert.io"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:46.869228+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:46.869228+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:46.869228+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:35:38.354917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "863b973c7977ad1a0d926def26953f6850b4777f397e4695bf32083cfe9a033a", "fetched_at": "2026-08-28T04:04:46.869228+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airbnb/binaryalert"}, {"content_hash": "e5a874e3efa4c44178a89a98af8c29cf4c3eeac5b3d3c4986525684292126128", "fetched_at": "2026-08-29T11:45:47.397209+00:00", "kind": "homepage", "missing": false, "url": "https://binaryalert.io"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:46.869228+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:46.869228+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:35:38.354917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "863b973c7977ad1a0d926def26953f6850b4777f397e4695bf32083cfe9a033a", "fetched_at": "2026-08-28T04:04:46.869228+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airbnb/binaryalert"}, {"content_hash": "e5a874e3efa4c44178a89a98af8c29cf4c3eeac5b3d3c4986525684292126128", "fetched_at": "2026-08-29T11:45:47.397209+00:00", "kind": "homepage", "missing": false, "url": "https://binaryalert.io"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:35:38.354917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "863b973c7977ad1a0d926def26953f6850b4777f397e4695bf32083cfe9a033a", "fetched_at": "2026-08-28T04:04:46.869228+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airbnb/binaryalert"}, {"content_hash": "e5a874e3efa4c44178a89a98af8c29cf4c3eeac5b3d3c4986525684292126128", "fetched_at": "2026-08-29T11:45:47.397209+00:00", "kind": "homepage", "missing": false, "url": "https://binaryalert.io"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:35:38.354917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "863b973c7977ad1a0d926def26953f6850b4777f397e4695bf32083cfe9a033a", "fetched_at": "2026-08-28T04:04:46.869228+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airbnb/binaryalert"}, {"content_hash": "e5a874e3efa4c44178a89a98af8c29cf4c3eeac5b3d3c4986525684292126128", "fetched_at": "2026-08-29T11:45:47.397209+00:00", "kind": "homepage", "missing": false, "url": "https://binaryalert.io"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:35:38.354917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "863b973c7977ad1a0d926def26953f6850b4777f397e4695bf32083cfe9a033a", "fetched_at": "2026-08-28T04:04:46.869228+00:00", "kind": "readme", "missing": false, "url": "https://github.com/airbnb/binaryalert"}, {"content_hash": "e5a874e3efa4c44178a89a98af8c29cf4c3eeac5b3d3c4986525684292126128", "fetched_at": "2026-08-29T11:45:47.397209+00:00", "kind": "homepage", "missing": false, "url": "https://binaryalert.io"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 3339, "days_push": 995, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}