{"adoption": {"forks": 84, "observed_at": "2026-08-28T04:04:04.660297+00:00", "stars": 1234}, "canonical_url": "https://ross.abutalabs.com/products/cherrybomb", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Stop half-done APIs! Cherrybomb is a CLI tool that helps you avoid undefined user behaviour by auditing your API specifications, validating them and running API security tests.", "domain": ["security", "apis", "developer-tools", "web-development"], "enriched": true, "function": ["security", "vulnerability-scanning", "cli", "testing"], "health_score": 24, "homepage": null, "language": "Rust", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["blst-security/cherrybomb"], "name": "blst-security/cherrybomb", "platform": ["cli", "windows", "rust"], "pushed_at": "2024-10-25T10:04:00+00:00", "repo": "blst-security/cherrybomb", "stars": 1234, "tags": ["openapi", "api-security", "spec-validation", "business-logic", "web-security-scanner", "linux", "macos"], "topics": ["blst", "firecracker", "cli", "cyber", "cybersecurity", "business-logic", "security-tools", "security", "api", "api-security", "best-practices", "http", "openapi", "openapi3", "open-source", "websecurity", "web-security", "web-sec-scanner"], "urls": [], "use_cases": ["validate my OpenAPI spec against OAS rules", "audit my API specification for security issues", "find undefined user behavior in my API", "run automated security tests on my REST API", "check my API spec for best practices before release", "scan an OpenAPI file for vulnerabilities"], "what_it_is": "Cherrybomb is a Rust-based CLI tool that audits OpenAPI specifications for best practices and OAS compliance, then runs security tests against the API to find undefined user behavior and vulnerabilities. It produces detailed reports pinpointing the exact location of issues.", "when_to_avoid": ["your API has no OpenAPI specification", "you need runtime DAST scanning of a fully deployed production API rather than spec-based auditing", "you require a GUI or hosted SaaS scanning platform"], "when_to_choose": ["you have an OpenAPI/Swagger spec and want early detection of security and correctness issues", "you want a lightweight CLI that fits into CI pipelines for API spec auditing", "you need detailed reports showing exactly where spec problems are"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/cherrybomb", "repo": "blst-security/cherrybomb", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.660297+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.576665+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11f27b57c4aae3172829b285bbf224ff5a695a3f4ef484aa951925128c94f264", "fetched_at": "2026-08-28T04:04:04.660297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blst-security/cherrybomb"}, {"content_hash": "4c6d05d6219c4ffc0594a2c6cbcb1c520bda6b015025e30e49464819bafaa32c", "fetched_at": "2026-08-29T12:21:31.365700+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/cherrybomb"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.660297+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.576665+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11f27b57c4aae3172829b285bbf224ff5a695a3f4ef484aa951925128c94f264", "fetched_at": "2026-08-28T04:04:04.660297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blst-security/cherrybomb"}, {"content_hash": "4c6d05d6219c4ffc0594a2c6cbcb1c520bda6b015025e30e49464819bafaa32c", "fetched_at": "2026-08-29T12:21:31.365700+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/cherrybomb"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.576665+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11f27b57c4aae3172829b285bbf224ff5a695a3f4ef484aa951925128c94f264", "fetched_at": "2026-08-28T04:04:04.660297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blst-security/cherrybomb"}, {"content_hash": "4c6d05d6219c4ffc0594a2c6cbcb1c520bda6b015025e30e49464819bafaa32c", "fetched_at": "2026-08-29T12:21:31.365700+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/cherrybomb"}], "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:04.660297+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.660297+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.660297+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.576665+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11f27b57c4aae3172829b285bbf224ff5a695a3f4ef484aa951925128c94f264", "fetched_at": "2026-08-28T04:04:04.660297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blst-security/cherrybomb"}, {"content_hash": "4c6d05d6219c4ffc0594a2c6cbcb1c520bda6b015025e30e49464819bafaa32c", "fetched_at": "2026-08-29T12:21:31.365700+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/cherrybomb"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.660297+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.660297+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.576665+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11f27b57c4aae3172829b285bbf224ff5a695a3f4ef484aa951925128c94f264", "fetched_at": "2026-08-28T04:04:04.660297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blst-security/cherrybomb"}, {"content_hash": "4c6d05d6219c4ffc0594a2c6cbcb1c520bda6b015025e30e49464819bafaa32c", "fetched_at": "2026-08-29T12:21:31.365700+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/cherrybomb"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.660297+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.660297+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.660297+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.576665+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11f27b57c4aae3172829b285bbf224ff5a695a3f4ef484aa951925128c94f264", "fetched_at": "2026-08-28T04:04:04.660297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blst-security/cherrybomb"}, {"content_hash": "4c6d05d6219c4ffc0594a2c6cbcb1c520bda6b015025e30e49464819bafaa32c", "fetched_at": "2026-08-29T12:21:31.365700+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/cherrybomb"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.660297+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.660297+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.576665+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11f27b57c4aae3172829b285bbf224ff5a695a3f4ef484aa951925128c94f264", "fetched_at": "2026-08-28T04:04:04.660297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blst-security/cherrybomb"}, {"content_hash": "4c6d05d6219c4ffc0594a2c6cbcb1c520bda6b015025e30e49464819bafaa32c", "fetched_at": "2026-08-29T12:21:31.365700+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/cherrybomb"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.576665+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11f27b57c4aae3172829b285bbf224ff5a695a3f4ef484aa951925128c94f264", "fetched_at": "2026-08-28T04:04:04.660297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blst-security/cherrybomb"}, {"content_hash": "4c6d05d6219c4ffc0594a2c6cbcb1c520bda6b015025e30e49464819bafaa32c", "fetched_at": "2026-08-29T12:21:31.365700+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/cherrybomb"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.576665+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11f27b57c4aae3172829b285bbf224ff5a695a3f4ef484aa951925128c94f264", "fetched_at": "2026-08-28T04:04:04.660297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blst-security/cherrybomb"}, {"content_hash": "4c6d05d6219c4ffc0594a2c6cbcb1c520bda6b015025e30e49464819bafaa32c", "fetched_at": "2026-08-29T12:21:31.365700+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/cherrybomb"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.576665+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "11f27b57c4aae3172829b285bbf224ff5a695a3f4ef484aa951925128c94f264", "fetched_at": "2026-08-28T04:04:04.660297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/blst-security/cherrybomb"}, {"content_hash": "4c6d05d6219c4ffc0594a2c6cbcb1c520bda6b015025e30e49464819bafaa32c", "fetched_at": "2026-08-29T12:21:31.365700+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/cherrybomb"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 1750, "days_push": 677, "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}}