{"adoption": {"forks": 776, "observed_at": "2026-08-28T04:09:57.885807+00:00", "stars": 7262}, "canonical_url": "https://ross.abutalabs.com/products/brakeman", "card": {"archived": false, "artifact_type": "cli-tool", "description": "A static analysis security vulnerability scanner for Ruby on Rails applications", "domain": ["security", "web-development", "developer-tools", "backend"], "enriched": true, "function": ["security", "vulnerability-scanning", "static-site-generator", "developer-tools", "cli"], "health_score": 98, "homepage": "https://brakemanscanner.org/", "language": "Ruby", "license": "NOASSERTION", "license_family": "other", "maturity": "stable", "member_repos": ["presidentbeef/brakeman"], "name": "presidentbeef/brakeman", "platform": ["ruby", "cli", "cross-platform"], "pushed_at": "2026-08-13T17:08:16+00:00", "repo": "presidentbeef/brakeman", "stars": 7262, "tags": ["static-analysis", "sast", "ruby-on-rails", "security-audit", "code-scanning", "docker"], "topics": ["ruby", "rails", "security", "static-analysis", "vulnerabilities", "brakeman", "security-vulnerability", "security-tools", "security-audit"], "urls": [], "use_cases": ["scan a Rails app for security vulnerabilities", "find SQL injection in Ruby on Rails code", "detect XSS vulnerabilities in Rails controllers and views", "run security checks in CI for a Rails project", "audit Rails code without executing it", "generate SARIF or JSON security reports from Rails scans"], "what_it_is": "Brakeman is a free, open-source static analysis security scanner built specifically for Ruby on Rails applications. It analyzes Rails source code without running it to detect vulnerabilities like SQL injection, XSS, and command injection, producing reports in many formats.", "when_to_avoid": ["your project is not a Rails application (use a general-purpose SAST tool instead)", "you need dynamic or runtime security testing rather than static analysis", "you need to scan non-Ruby code"], "when_to_choose": ["you have a Ruby on Rails application (2.3 through 8.x) and want zero-configuration security scanning", "you need fast static analysis that runs locally or in CI without executing the app", "you want Rails-specific vulnerability checks that generic SAST tools miss"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/brakeman", "repo": "presidentbeef/brakeman", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:57.885807+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:38:56.875768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "88122ee6b1b0911262ae6c0ea42d0c01d5feafdf87c6a36aba3d5bb3594276a5", "fetched_at": "2026-08-28T04:09:57.885807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/presidentbeef/brakeman"}, {"content_hash": "ffefb93f1aee9dc813c9e5e1b9ffacbd69e64fc95e11874a0c1882879dbcd76b", "fetched_at": "2026-08-29T08:34:26.120881+00:00", "kind": "homepage", "missing": false, "url": "https://brakemanscanner.org/"}, {"content_hash": "db1ba3103caf84b9782b8644c1c1678c0a78c9e804007922673dd5a84f12a91d", "fetched_at": "2026-08-29T08:34:26.130161+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs"}, {"content_hash": "8602867f618ed9b3af95c3f4de88772ecb22427a3eb306ca17ba38048b0bd2c0", "fetched_at": "2026-08-29T08:34:26.132155+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs/quickstart"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:57.885807+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:38:56.875768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "88122ee6b1b0911262ae6c0ea42d0c01d5feafdf87c6a36aba3d5bb3594276a5", "fetched_at": "2026-08-28T04:09:57.885807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/presidentbeef/brakeman"}, {"content_hash": "ffefb93f1aee9dc813c9e5e1b9ffacbd69e64fc95e11874a0c1882879dbcd76b", "fetched_at": "2026-08-29T08:34:26.120881+00:00", "kind": "homepage", "missing": false, "url": "https://brakemanscanner.org/"}, {"content_hash": "db1ba3103caf84b9782b8644c1c1678c0a78c9e804007922673dd5a84f12a91d", "fetched_at": "2026-08-29T08:34:26.130161+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs"}, {"content_hash": "8602867f618ed9b3af95c3f4de88772ecb22427a3eb306ca17ba38048b0bd2c0", "fetched_at": "2026-08-29T08:34:26.132155+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs/quickstart"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:38:56.875768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "88122ee6b1b0911262ae6c0ea42d0c01d5feafdf87c6a36aba3d5bb3594276a5", "fetched_at": "2026-08-28T04:09:57.885807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/presidentbeef/brakeman"}, {"content_hash": "ffefb93f1aee9dc813c9e5e1b9ffacbd69e64fc95e11874a0c1882879dbcd76b", "fetched_at": "2026-08-29T08:34:26.120881+00:00", "kind": "homepage", "missing": false, "url": "https://brakemanscanner.org/"}, {"content_hash": "db1ba3103caf84b9782b8644c1c1678c0a78c9e804007922673dd5a84f12a91d", "fetched_at": "2026-08-29T08:34:26.130161+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs"}, {"content_hash": "8602867f618ed9b3af95c3f4de88772ecb22427a3eb306ca17ba38048b0bd2c0", "fetched_at": "2026-08-29T08:34:26.132155+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs/quickstart"}], "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:09:57.885807+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:57.885807+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:57.885807+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:38:56.875768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "88122ee6b1b0911262ae6c0ea42d0c01d5feafdf87c6a36aba3d5bb3594276a5", "fetched_at": "2026-08-28T04:09:57.885807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/presidentbeef/brakeman"}, {"content_hash": "ffefb93f1aee9dc813c9e5e1b9ffacbd69e64fc95e11874a0c1882879dbcd76b", "fetched_at": "2026-08-29T08:34:26.120881+00:00", "kind": "homepage", "missing": false, "url": "https://brakemanscanner.org/"}, {"content_hash": "db1ba3103caf84b9782b8644c1c1678c0a78c9e804007922673dd5a84f12a91d", "fetched_at": "2026-08-29T08:34:26.130161+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs"}, {"content_hash": "8602867f618ed9b3af95c3f4de88772ecb22427a3eb306ca17ba38048b0bd2c0", "fetched_at": "2026-08-29T08:34:26.132155+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs/quickstart"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:57.885807+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:57.885807+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:38:56.875768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "88122ee6b1b0911262ae6c0ea42d0c01d5feafdf87c6a36aba3d5bb3594276a5", "fetched_at": "2026-08-28T04:09:57.885807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/presidentbeef/brakeman"}, {"content_hash": "ffefb93f1aee9dc813c9e5e1b9ffacbd69e64fc95e11874a0c1882879dbcd76b", "fetched_at": "2026-08-29T08:34:26.120881+00:00", "kind": "homepage", "missing": false, "url": "https://brakemanscanner.org/"}, {"content_hash": "db1ba3103caf84b9782b8644c1c1678c0a78c9e804007922673dd5a84f12a91d", "fetched_at": "2026-08-29T08:34:26.130161+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs"}, {"content_hash": "8602867f618ed9b3af95c3f4de88772ecb22427a3eb306ca17ba38048b0bd2c0", "fetched_at": "2026-08-29T08:34:26.132155+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs/quickstart"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:57.885807+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:57.885807+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:57.885807+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:38:56.875768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "88122ee6b1b0911262ae6c0ea42d0c01d5feafdf87c6a36aba3d5bb3594276a5", "fetched_at": "2026-08-28T04:09:57.885807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/presidentbeef/brakeman"}, {"content_hash": "ffefb93f1aee9dc813c9e5e1b9ffacbd69e64fc95e11874a0c1882879dbcd76b", "fetched_at": "2026-08-29T08:34:26.120881+00:00", "kind": "homepage", "missing": false, "url": "https://brakemanscanner.org/"}, {"content_hash": "db1ba3103caf84b9782b8644c1c1678c0a78c9e804007922673dd5a84f12a91d", "fetched_at": "2026-08-29T08:34:26.130161+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs"}, {"content_hash": "8602867f618ed9b3af95c3f4de88772ecb22427a3eb306ca17ba38048b0bd2c0", "fetched_at": "2026-08-29T08:34:26.132155+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs/quickstart"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:57.885807+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:57.885807+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:38:56.875768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "88122ee6b1b0911262ae6c0ea42d0c01d5feafdf87c6a36aba3d5bb3594276a5", "fetched_at": "2026-08-28T04:09:57.885807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/presidentbeef/brakeman"}, {"content_hash": "ffefb93f1aee9dc813c9e5e1b9ffacbd69e64fc95e11874a0c1882879dbcd76b", "fetched_at": "2026-08-29T08:34:26.120881+00:00", "kind": "homepage", "missing": false, "url": "https://brakemanscanner.org/"}, {"content_hash": "db1ba3103caf84b9782b8644c1c1678c0a78c9e804007922673dd5a84f12a91d", "fetched_at": "2026-08-29T08:34:26.130161+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs"}, {"content_hash": "8602867f618ed9b3af95c3f4de88772ecb22427a3eb306ca17ba38048b0bd2c0", "fetched_at": "2026-08-29T08:34:26.132155+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs/quickstart"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:38:56.875768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "88122ee6b1b0911262ae6c0ea42d0c01d5feafdf87c6a36aba3d5bb3594276a5", "fetched_at": "2026-08-28T04:09:57.885807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/presidentbeef/brakeman"}, {"content_hash": "ffefb93f1aee9dc813c9e5e1b9ffacbd69e64fc95e11874a0c1882879dbcd76b", "fetched_at": "2026-08-29T08:34:26.120881+00:00", "kind": "homepage", "missing": false, "url": "https://brakemanscanner.org/"}, {"content_hash": "db1ba3103caf84b9782b8644c1c1678c0a78c9e804007922673dd5a84f12a91d", "fetched_at": "2026-08-29T08:34:26.130161+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs"}, {"content_hash": "8602867f618ed9b3af95c3f4de88772ecb22427a3eb306ca17ba38048b0bd2c0", "fetched_at": "2026-08-29T08:34:26.132155+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs/quickstart"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:38:56.875768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "88122ee6b1b0911262ae6c0ea42d0c01d5feafdf87c6a36aba3d5bb3594276a5", "fetched_at": "2026-08-28T04:09:57.885807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/presidentbeef/brakeman"}, {"content_hash": "ffefb93f1aee9dc813c9e5e1b9ffacbd69e64fc95e11874a0c1882879dbcd76b", "fetched_at": "2026-08-29T08:34:26.120881+00:00", "kind": "homepage", "missing": false, "url": "https://brakemanscanner.org/"}, {"content_hash": "db1ba3103caf84b9782b8644c1c1678c0a78c9e804007922673dd5a84f12a91d", "fetched_at": "2026-08-29T08:34:26.130161+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs"}, {"content_hash": "8602867f618ed9b3af95c3f4de88772ecb22427a3eb306ca17ba38048b0bd2c0", "fetched_at": "2026-08-29T08:34:26.132155+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs/quickstart"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:38:56.875768+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "88122ee6b1b0911262ae6c0ea42d0c01d5feafdf87c6a36aba3d5bb3594276a5", "fetched_at": "2026-08-28T04:09:57.885807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/presidentbeef/brakeman"}, {"content_hash": "ffefb93f1aee9dc813c9e5e1b9ffacbd69e64fc95e11874a0c1882879dbcd76b", "fetched_at": "2026-08-29T08:34:26.120881+00:00", "kind": "homepage", "missing": false, "url": "https://brakemanscanner.org/"}, {"content_hash": "db1ba3103caf84b9782b8644c1c1678c0a78c9e804007922673dd5a84f12a91d", "fetched_at": "2026-08-29T08:34:26.130161+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs"}, {"content_hash": "8602867f618ed9b3af95c3f4de88772ecb22427a3eb306ca17ba38048b0bd2c0", "fetched_at": "2026-08-29T08:34:26.132155+00:00", "kind": "site_page", "missing": false, "url": "https://brakemanscanner.org/docs/quickstart"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 85}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5851, "days_push": 20, "days_rel": 21, "gap_med": 66.5, "n_releases_24m": 13}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}