RepoTrust

Leaderboard github.com

Homebrew/brew

๐Ÿบ The Package Manager for Everywhere

AI provenance

1%

explicit

Confidence
95%
Coverage
100%

Estimated share of AI-generated code. Explicit attribution is a lower bound.

Code quality

87/100

strong

Confidence
90%
Coverage
100%

Complexity, duplication, lint density, tests, CI, docs and review process.

Security

82/100

adequate

Confidence
85%
Coverage
100%

Secrets, static analysis, vulnerable dependencies, CI and supply-chain posture.

AI provenance

1% explicit

Explicit AI attribution on 1% of first-party code added; an estimated 1% including velocity signals.

How the score is built

  • Explicitly attributed share1%
  • Unattributed share in AI-pace bursts5%
  • Estimated AI-generated share1%
  • AI tool configuration files5
  • Work sessions at AI pace17
  • Releases at AI pace0
  • Coding-style index (1.0+ means possible)0.08

Attributed AI tools

ToolCommitsLines addedFirst seenLast seen
Claude Code904,6172025-08-052026-10-17
GitHub Copilot coding agent1404,0302025-04-222026-11-11
OpenAI Codex43052026-01-252026-10-22
Cursor agent1542026-09-282026-09-28

Lines added per month all AI-attributed share

  1. 2012-1211 ยท 0% AI
  2. 2013-0123 ยท 0% AI
  3. 2013-03442 ยท 0% AI
  4. 2013-0515 ยท 0% AI
  5. 2013-06188 ยท 0% AI
  6. 2013-07591 ยท 0% AI
  7. 2013-081,526 ยท 0% AI
  8. 2013-091,689 ยท 0% AI
  9. 2013-102,171 ยท 0% AI
  10. 2013-11629 ยท 0% AI
  11. 2013-121,217 ยท 0% AI
  12. 2014-01331 ยท 0% AI
  13. 2014-02844 ยท 0% AI
  14. 2014-032,160 ยท 0% AI
  15. 2014-041,177 ยท 0% AI
  16. 2014-05818 ยท 0% AI
  17. 2014-062,113 ยท 0% AI
  18. 2014-071,574 ยท 0% AI
  19. 2014-081,002 ยท 0% AI
  20. 2014-092,286 ยท 0% AI
  21. 2014-101,035 ยท 0% AI
  22. 2014-11581 ยท 0% AI
  23. 2014-121,549 ยท 0% AI
  24. 2015-01670 ยท 0% AI
  25. 2015-02943 ยท 0% AI
  26. 2015-03606 ยท 0% AI
  27. 2015-041,250 ยท 0% AI
  28. 2015-051,202 ยท 0% AI
  29. 2015-061,393 ยท 0% AI
  30. 2015-071,049 ยท 0% AI
  31. 2015-085,570 ยท 0% AI
  32. 2015-091,591 ยท 0% AI
  33. 2015-10731 ยท 0% AI
  34. 2015-11699 ยท 0% AI
  35. 2015-122,164 ยท 0% AI
  36. 2016-014,889 ยท 0% AI
  37. 2016-02985 ยท 0% AI
  38. 2016-03996 ยท 0% AI
  39. 2016-044,255 ยท 0% AI
  40. 2016-051,811 ยท 0% AI
  41. 2016-061,752 ยท 0% AI
  42. 2016-073,684 ยท 0% AI
  43. 2016-0818,060 ยท 0% AI
  44. 2016-0913,785 ยท 0% AI
  45. 2016-103,710 ยท 0% AI
  46. 2016-111,491 ยท 0% AI
  47. 2016-121,839 ยท 0% AI
  48. 2017-011,790 ยท 0% AI
  49. 2017-0217,008 ยท 0% AI
  50. 2017-033,586 ยท 0% AI
  51. 2017-043,040 ยท 0% AI
  52. 2017-053,838 ยท 0% AI
  53. 2017-062,077 ยท 0% AI
  54. 2017-072,834 ยท 0% AI
  55. 2017-084,713 ยท 0% AI
  56. 2017-09907 ยท 0% AI
  57. 2017-104,197 ยท 0% AI
  58. 2017-111,343 ยท 0% AI
  59. 2017-121,210 ยท 0% AI
  60. 2018-011,253 ยท 0% AI
  61. 2018-021,540 ยท 0% AI
  62. 2018-032,465 ยท 0% AI
  63. 2018-042,784 ยท 0% AI
  64. 2018-051,852 ยท 0% AI
  65. 2018-062,820 ยท 0% AI
  66. 2018-076,009 ยท 0% AI
  67. 2018-085,135 ยท 0% AI
  68. 2018-094,727 ยท 0% AI
  69. 2018-104,519 ยท 0% AI
  70. 2018-112,102 ยท 0% AI
  71. 2018-12328 ยท 0% AI
  72. 2019-012,206 ยท 0% AI
  73. 2019-021,677 ยท 0% AI
  74. 2019-031,679 ยท 0% AI
  75. 2019-043,197 ยท 0% AI
  76. 2019-05795 ยท 0% AI
  77. 2019-06204 ยท 0% AI
  78. 2019-07613 ยท 0% AI
  79. 2019-08940 ยท 0% AI
  80. 2019-09791 ยท 0% AI
  81. 2019-101,485 ยท 0% AI
  82. 2019-111,005 ยท 0% AI
  83. 2019-12519 ยท 0% AI
  84. 2020-01587 ยท 0% AI
  85. 2020-02716 ยท 0% AI
  86. 2020-031,759 ยท 0% AI
  87. 2020-043,918 ยท 0% AI
  88. 2020-051,532 ยท 0% AI
  89. 2020-065,282 ยท 0% AI
  90. 2020-077,648 ยท 0% AI
  91. 2020-0811,382 ยท 0% AI
  92. 2020-094,790 ยท 0% AI
  93. 2020-104,809 ยท 0% AI
  94. 2020-117,466 ยท 0% AI
  95. 2020-127,400 ยท 0% AI
  96. 2021-0114,935 ยท 0% AI
  97. 2021-024,822 ยท 0% AI
  98. 2021-034,556 ยท 0% AI
  99. 2021-044,206 ยท 0% AI
  100. 2021-052,335 ยท 0% AI
  101. 2021-061,695 ยท 0% AI
  102. 2021-072,905 ยท 0% AI
  103. 2021-082,373 ยท 0% AI
  104. 2021-092,771 ยท 0% AI
  105. 2021-101,725 ยท 0% AI
  106. 2021-111,679 ยท 0% AI
  107. 2021-12871 ยท 0% AI
  108. 2022-01971 ยท 0% AI
  109. 2022-02575 ยท 0% AI
  110. 2022-03736 ยท 0% AI
  111. 2022-04481 ยท 0% AI
  112. 2022-051,690 ยท 0% AI
  113. 2022-063,065 ยท 0% AI
  114. 2022-073,902 ยท 0% AI
  115. 2022-084,855 ยท 0% AI
  116. 2022-092,235 ยท 0% AI
  117. 2022-10985 ยท 0% AI
  118. 2022-111,286 ยท 0% AI
  119. 2022-121,352 ยท 0% AI
  120. 2023-011,789 ยท 0% AI
  121. 2023-026,357 ยท 0% AI
  122. 2023-037,471 ยท 0% AI
  123. 2023-049,301 ยท 0% AI
  124. 2023-054,261 ยท 0% AI
  125. 2023-061,716 ยท 0% AI
  126. 2023-072,156 ยท 0% AI
  127. 2023-081,270 ยท 0% AI
  128. 2023-091,589 ยท 0% AI
  129. 2023-10774 ยท 0% AI
  130. 2023-111,499 ยท 0% AI
  131. 2023-122,479 ยท 0% AI
  132. 2024-013,990 ยท 0% AI
  133. 2024-025,194 ยท 0% AI
  134. 2024-0315,568 ยท 0% AI
  135. 2024-047,920 ยท 0% AI
  136. 2024-052,136 ยท 0% AI
  137. 2024-062,699 ยท 0% AI
  138. 2024-075,127 ยท 0% AI
  139. 2024-082,735 ยท 0% AI
  140. 2024-094,820 ยท 0% AI
  141. 2024-101,726 ยท 0% AI
  142. 2024-111,811 ยท 0% AI
  143. 2024-121,407 ยท 0% AI
  144. 2025-011,709 ยท 0% AI
  145. 2025-027,830 ยท 0% AI
  146. 2025-0311,597 ยท 0% AI
  147. 2025-043,162 ยท 0% AI
  148. 2025-051,150 ยท 0% AI
  149. 2025-066,285 ยท 0% AI
  150. 2025-073,526 ยท 1% AI
  151. 2025-087,310 ยท 11% AI
  152. 2025-097,375 ยท 5% AI
  153. 2025-102,929 ยท 33% AI
  154. 2025-116,488 ยท 2% AI
  155. 2025-125,321 ยท 0% AI
  156. 2026-014,821 ยท 3% AI
  157. 2026-0211,469 ยท 6% AI
  158. 2026-0320,182 ยท 4% AI
  159. 2026-0414,048 ยท 9% AI
  160. 2026-0539,967 ยท 0% AI
  161. 2026-0623,102 ยท 4% AI
  162. 2026-0740,556 ยท 3% AI
  163. 2026-0826,972 ยท 0% AI
  164. 2026-0942,245 ยท 0% AI
  165. 2026-1022,592 ยท 3% AI
  166. 2026-1119,355 ยท 5% AI

Findings in AI-attributed lines vs the rest

From git blame: 2,793 lines trace to AI-attributed commits, 171,003 to others. Reported, not scored.

Findings per 1,000 linesAI-attributedOtherRatio
Code quality0.000.040.00ร—
Security0.000.360.00ร—

Evidence by analyzer

Explicit AI attributionok29 items
attributed_commit_share
0.7%
attributed_commits
235
attributed_loc
9,006
attributed_loc_share
1.2%
commits
33,915
effective_loc
746,366
tools_detected
4
AI tool configurationok5 items
artifacts
5
earliest_adoption
2025-09-24
tools_configured
3
workflow_agents
0
Commit velocityok15 items
excluded_import_loc
35,550
flagged_loc
35,157
flagged_loc_share
4.9%
flagged_units
17
max_loc_per_hour
2,359.42
measured_loc
710,816
median_loc_per_hour
55.50
pr_timed_units
0
pre_ai_era_burst_loc
9,073
pre_ai_era_bursts
4
pre_ai_era_measured_loc
264,565
work_units
16,165
Release velocityok
flagged_releases
0
max_loc_per_day
2,721.70
releases
99
Coding styleok8 items
count:assistant_voice
4
count:emoji_in_code
3
count:narrated_steps
5
count:placeholder
0
files:assistant_voice
4
files:emoji_in_code
3
files:narrated_steps
3
files:placeholder
0
index
0.08
lines_scanned
173,796
per_kloc:assistant_voice
0.02
per_kloc:emoji_in_code
0.02
per_kloc:narrated_steps
0.03
per_kloc:placeholder
0
Findings in AI-written linesok
ai_lines
2,793
blame_failures
0
files_blamed
1,093
other_lines
171,003
quality:ai_findings
0
quality:ai_per_kloc
0
quality:other_findings
7
quality:other_per_kloc
0.04
quality:ratio
0
security:ai_findings
0
security:ai_per_kloc
0
security:other_findings
62
security:other_per_kloc
0.36
security:ratio
0

Code quality

87 strong

Code quality is strong: test-to-source ratio 1.04, CI runs tests; 14% of function code in complex or long functions; 4% duplicated lines. Weakest area: type safety.

How the score is built

  • Complexity65
  • Duplication78
  • Lint and smells100
  • Tests and CI100
  • Documentation100
  • Type safety40
  • Review process100

Evidence by analyzer

Complexity (lizard)ok10 items
complex_functions
148
function_nloc
87,057
functions
7,889
long_functions
36
many_param_functions
74
mean_ccn
3.18
p90_ccn
7
risky_nloc_share
14.5%
Duplication (jscpd)ok10 items
compared_lines
122,944
duplicated_lines
5,090
duplicated_share
4.1%
files
1,093
Lintok
category:correctness
7
findings
7
scanned_lines
173,796
weighted_findings
1.75
Tests and CIok12 items
  • CI config: .github/workflows/actionlint.yml .github/workflows/actionlint.yml
  • CI config: .github/workflows/approve-stale-lead-maintainer-prs.yml .github/workflows/approve-stale-lead-maintainer-prs.yml
  • CI config: .github/workflows/autogenerated-files.yml .github/workflows/autogenerated-files.yml
  • CI config: .github/workflows/check-issues.yml .github/workflows/check-issues.yml
  • CI config: .github/workflows/check-prs.yml .github/workflows/check-prs.yml
  • CI config: .github/workflows/codeql-analysis.yml .github/workflows/codeql-analysis.yml
  • CI config: .github/workflows/commit-style.yml .github/workflows/commit-style.yml
  • CI config: .github/workflows/copilot-setup-steps.yml .github/workflows/copilot-setup-steps.yml
  • CI config: .github/workflows/docker.yml .github/workflows/docker.yml
  • CI config: .github/workflows/docs.yml .github/workflows/docs.yml
  • CI runs tests (rspec, rake test)
  • CI runs linters (shellcheck)
check:ci_present
yes
check:ci_runs_lint
yes
check:ci_runs_tests
yes
check:has_tests
yes
check:test_ratio
yes
check:tests_cochange
yes
ci_files
24
cochange_commits
232
cochange_share
85.3%
source_lines
173,796
test_lines
179,980
test_ratio
1.04
Documentationok4 items
  • README.md README.md
  • LICENSE.txt LICENSE.txt
  • CONTRIBUTING.md CONTRIBUTING.md
  • CHANGELOG.md CHANGELOG.md
check:changelog
yes
check:contributing
yes
check:license
yes
check:readme
yes
readme_lines
74
Type safetyok
check:low_escape_density
yes
check:strict_config
no
escapes
0
escapes_per_kloc
0

Security

82 adequate

Security posture is adequate: 35 high-severity SAST findings; 3 high-severity workflow issues. Weakest area: scorecard.

How the score is built

  • Secrets82
  • Static analysis (SAST)92
  • Vulnerable dependencies100
  • CI workflows60
  • Security posture100
  • OpenSSF Scorecard41

Evidence by analyzer

OpenSSF Scorecardok14 items
aggregate
5.90
check:Binary-Artifacts
no
check:Branch-Protection
yes
check:CII-Best-Practices
no
check:Code-Review
yes
check:Dangerous-Workflow
yes
check:Fuzzing
no
check:License
yes
check:Maintained
yes
check:Packaging
yes
check:Pinned-Dependencies
yes
check:SAST
yes
check:Security-Policy
yes
check:Signed-Releases
no
check:Token-Permissions
no
Package registriesok
checked
1
declared
1
lookup_errors
0
missing
0
recent
0
Secrets (gitleaks)ok
secrets_current
0
secrets_history
0
secrets_low_confidence
5
secrets_nonprod
1
Static analysis (opengrep)ok
findings
64
findings_high
35
findings_low
0
findings_medium
29
parse_errors
10
scanned_lines
173,796
weighted_findings
40.15
Dependencies (osv-scanner)ok
penalty
0
vulnerabilities
0
vulnerable_packages
0
vulns_critical
0
vulns_high
0
vulns_low
0
vulns_medium
0
vulns_unknown
0
CI workflows (zizmor)ok
findings
3
findings_high
3
findings_low
0
findings_medium
0
penalty
31.20
workflows
24
Security postureok2 items
  • Security policy: https://github.com/Homebrew/brew/security/policy https://github.com/Homebrew/brew/security/policy
  • Dependency updates: .github/dependabot.yml .github/dependabot.yml
check:dependency_updates
yes
check:lockfiles
yes
check:security_policy
yes
check:signed_commits
yes
signed_commit_share
50.5%
unpinned_manifests
0
Release downloadsok5 items
binary_assets
10
signals
1
suspicious
0

Findings

38 high29 medium13 low

SeverityRuleLocationMessageTool
high opengrep/ruby.lang.security.model-attributes-attr-accessible .github/scripts/approve_stale_lead_maintainer_prs.rb:42 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high zizmor/dangerous-triggers .github/workflows/stale-issues-and-prs.yml:13 use of fundamentally insecure workflow trigger [confidence medium] CI workflows (zizmor)
high zizmor/unpinned-images .github/workflows/tests.yml:449 unpinned image references [confidence high] CI workflows (zizmor)
high zizmor/unpinned-images .github/workflows/tests.yml:449 unpinned image references [confidence high] CI workflows (zizmor)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/bundle/extensions/winget.rb:14 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/cask_dependent.rb:9 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/cli/parser.rb:32 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/cmd/info.rb:27 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/cmd/upgrade.rb:20 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/cmd/upgrade.rb:28 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/cmd/uses.rb:18 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/compilers/compiler_selector.rb:8 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/debrew.rb:35 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/dev-cmd/advisory-match.rb:1305 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/dev-cmd/advisory-match.rb:1325 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/dev-cmd/advisory-match.rb:681 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/dev-cmd/benchmark.rb:30 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/dev-cmd/benchmark.rb:36 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/dev-cmd/bump.rb:37 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/dev-cmd/bump.rb:45 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/os/linux/elf.rb:211 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/rubocops/extend/formula_cop.rb:22 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/rubocops/shared/install_steps_helper.rb:149 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/utils/analytics/formula_feeds.rb:10 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/utils/analytics/formula_history.rb:13 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/utils/analytics/formula_history.rb:20 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/utils/analytics/formula_history.rb:28 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/utils/analytics/formula_history.rb:38 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/utils/analytics/formula_history.rb:45 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/utils/analytics/influx.rb:15 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/version.rb:103 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/vulns/advisory_overrides.rb:16 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/vulns/advisory_overrides.rb:21 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/vulns/history.rb:20 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/vulns/match.rb:131 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/vulns/match.rb:48 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/vulns/match.rb:97 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
high opengrep/ruby.lang.security.model-attributes-attr-accessible Library/Homebrew/vulns/vulnerability.rb:16 Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters.... Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-exec .github/scripts/approve_stale_lead_maintainer_prs.rb:561 Detected non-static command inside Open3.capture3. Audit the input to 'Open3.capture3'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute... Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-exec Library/Homebrew/bundle.rb:33 Detected non-static command inside IO.popen. Audit the input to 'IO.popen'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary... Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-exec Library/Homebrew/bundle/extensions/winget.rb:522 Detected non-static command inside IO.popen. Audit the input to 'IO.popen'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary... Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-exec Library/Homebrew/cmd/log.rb:84 Detected non-static command inside system. Audit the input to 'system'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code.... Static analysis (opengrep)
medium opengrep/ruby.rails.security.audit.xss.manual-template-creation Library/Homebrew/completions.rb:326 Detected manual creation of an ERB template. Manual creation of templates may expose your application to server-side template injection (SSTI) or cross-site scripting (XSS) attacks if user input is used to create the template. Instead,... Static analysis (opengrep)
medium opengrep/ruby.rails.security.audit.xss.manual-template-creation Library/Homebrew/completions.rb:508 Detected manual creation of an ERB template. Manual creation of templates may expose your application to server-side template injection (SSTI) or cross-site scripting (XSS) attacks if user input is used to create the template. Instead,... Static analysis (opengrep)
medium opengrep/ruby.rails.security.audit.xss.manual-template-creation Library/Homebrew/completions.rb:667 Detected manual creation of an ERB template. Manual creation of templates may expose your application to server-side template injection (SSTI) or cross-site scripting (XSS) attacks if user input is used to create the template. Instead,... Static analysis (opengrep)
medium opengrep/ruby.rails.security.audit.xss.manual-template-creation Library/Homebrew/dev-cmd/bottle.rb:162 Detected manual creation of an ERB template. Manual creation of templates may expose your application to server-side template injection (SSTI) or cross-site scripting (XSS) attacks if user input is used to create the template. Instead,... Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-exec Library/Homebrew/dev-cmd/bump-cask-pr.rb:561 Detected non-static command inside system. Audit the input to 'system'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code.... Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-exec Library/Homebrew/dev-cmd/bump-cask-pr.rb:582 Detected non-static command inside system. Audit the input to 'system'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code.... Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-exec Library/Homebrew/dev-cmd/bump-cask-pr.rb:611 Detected non-static command inside system. Audit the input to 'system'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code.... Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-exec Library/Homebrew/dev-cmd/bump-formula-pr.rb:1006 Detected non-static command inside system. Audit the input to 'system'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code.... Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-exec Library/Homebrew/dev-cmd/bump-formula-pr.rb:1009 Detected non-static command inside system. Audit the input to 'system'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code.... Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-exec Library/Homebrew/dev-cmd/bump.rb:630 Detected non-static command inside system. Audit the input to 'system'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code.... Static analysis (opengrep)
medium opengrep/ruby.rails.security.audit.xss.manual-template-creation Library/Homebrew/extend/os/mac/sandbox.rb:183 Detected manual creation of an ERB template. Manual creation of templates may expose your application to server-side template injection (SSTI) or cross-site scripting (XSS) attacks if user input is used to create the template. Instead,... Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-exec Library/Homebrew/formula_assertions.rb:55 Detected non-static command inside IO.popen. Audit the input to 'IO.popen'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary... Static analysis (opengrep)
medium opengrep/ruby.rails.security.audit.xss.manual-template-creation Library/Homebrew/formula_creator.rb:158 Detected manual creation of an ERB template. Manual creation of templates may expose your application to server-side template injection (SSTI) or cross-site scripting (XSS) attacks if user input is used to create the template. Instead,... Static analysis (opengrep)
medium opengrep/ruby.lang.security.weak-hashes-md5 Library/Homebrew/formulary.rb:885 Should not use md5 to generate hashes. md5 is proven to be vulnerable through the use of brute-force attacks. Could also result in collisions, leading to potential collision attacks. Use SHA256 or other hashing functions instead.... Static analysis (opengrep)
medium opengrep/ruby.rails.security.audit.xss.manual-template-creation Library/Homebrew/manpages.rb:66 Detected manual creation of an ERB template. Manual creation of templates may expose your application to server-side template injection (SSTI) or cross-site scripting (XSS) attacks if user input is used to create the template. Instead,... Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-exec Library/Homebrew/mcp_server.rb:409 Detected non-static command inside Open3.popen2e. Audit the input to 'Open3.popen2e'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute... Static analysis (opengrep)
medium opengrep/bash.lang.security.ifs-tampering Library/Homebrew/shims/linux/super/bin/make:7 The special variable IFS affects how splitting takes place when expanding unquoted variables. Don't set it globally. Prefer a dedicated utility such as 'cut' or 'awk' if you need to split input data. If you must use 'read', set IFS... Static analysis (opengrep)
medium opengrep/bash.lang.security.ifs-tampering Library/Homebrew/shims/mac/super/bin/xcrun:57 The special variable IFS affects how splitting takes place when expanding unquoted variables. Don't set it globally. Prefer a dedicated utility such as 'cut' or 'awk' if you need to split input data. If you must use 'read', set IFS... Static analysis (opengrep)
medium opengrep/bash.lang.security.ifs-tampering Library/Homebrew/shims/mac/super/bin/xcrun:71 The special variable IFS affects how splitting takes place when expanding unquoted variables. Don't set it globally. Prefer a dedicated utility such as 'cut' or 'awk' if you need to split input data. If you must use 'read', set IFS... Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-exec Library/Homebrew/system_command.rb:550 Detected non-static command inside Process.spawn. Audit the input to 'Process.spawn'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute... Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-exec Library/Homebrew/system_command.rb:558 Detected non-static command inside exec. Audit the input to 'exec'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code.... Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-exec Library/Homebrew/test_bot/test_cleanup.rb:21 Detected non-static command inside system. Audit the input to 'system'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code.... Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-exec Library/Homebrew/test_bot/test_formulae.rb:246 Detected non-static command inside system. Audit the input to 'system'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code.... Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-exec Library/Homebrew/utils/analytics.rb:83 Detected non-static command inside spawn. Audit the input to 'spawn'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute arbitrary code.... Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-exec Library/Homebrew/utils/shell.rb:69 Detected non-static command inside Process.spawn. Audit the input to 'Process.spawn'. If unverified user data can reach this call site, this is a code injection vulnerability. A malicious actor can inject a malicious script to execute... Static analysis (opengrep)
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command Library/Homebrew/cask/utils/rmdir.sh:30 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command Library/Homebrew/cask/utils/rmdir.sh:36 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command Library/Homebrew/cask/utils/rmdir.sh:40 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command Library/Homebrew/cmd/update.sh:609 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command Library/Homebrew/cmd/update.sh:625 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command Library/Homebrew/cmd/update.sh:670 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command Library/Homebrew/utils/as_user.sh:83 Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may... Lint
low gitleaks/generic-api-key .github/workflows/tests.yml:163 Possible generic-api-key secret in history (commit 623840a304); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/generic-api-key Library/Homebrew/data/spdx.json:578 Possible generic-api-key secret in history (commit bc28ee0f6d); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/generic-api-key Library/Homebrew/data/spdx/spdx_licenses.json:785 Possible generic-api-key secret in history (commit 02a55fd792); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/generic-api-key Library/Homebrew/dev-cmd/spdx.json:229 Possible generic-api-key secret in history (commit 803f9dd4a3); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/generic-api-key Library/Homebrew/utils/analytics.rb:14 Possible generic-api-key secret in history (commit 372365e0f9); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/generic-api-key docs/_layouts/base.html:3 Possible generic-api-key secret in the current tree (test/docs/example file) Secrets (gitleaks)

Tools and coverage

Every analyzer that ran on this commit. A failed or skipped tool is a coverage gap: its share of the score is left out and the coverage figure drops.

AnalyzerPillarStatusVersionFindingsNote
AI tool configurationAI provenanceoksignatures-v10
Explicit AI attributionAI provenanceoksignatures-v10
Release velocityAI provenanceokprov-50
Coding styleAI provenanceokโ€”0
Commit velocityAI provenanceokprov-50
Findings in AI-written linesAI provenanceokgit-blame0
Complexity (lizard)Code qualityoklizard 1.25.10
DocumentationCode qualityokโ€”0
Duplication (jscpd)Code qualityokrepotrust-dup-w60
LintCode qualityokopengrep 1.33.1; rules f1d2b562b4147
Tests and CICode qualityokโ€”0
Type safetyCode qualityokโ€”0
CI workflows (zizmor)Securityokzizmor 1.32.03
Dependencies (osv-scanner)Securityokosv-scanner version: 2.7.10
Release downloadsSecurityokโ€”0
Security postureSecurityokโ€”0
Package registriesSecurityokโ€”0
Static analysis (opengrep)Securityokopengrep 1.33.1; rules f1d2b562b41464
OpenSSF ScorecardSecurityokscorecard v5.6.00
Secrets (gitleaks)Securityokgitleaks 8.30.16

Score history

ScoredCommitScoringAI provenanceQualitySecurity
2026-11-14097e0b595755prov-5+qual-2+sec-21%8782

Embed a badge

Maintainers can show these in a README. Badges update when the repository is re-scored.

[![RepoTrust ai](https://repotrust.synapticcyber.com/badge/github.com/Homebrew/brew/ai.svg)](https://repotrust.synapticcyber.com/r/github.com/Homebrew/brew/)
[![RepoTrust quality](https://repotrust.synapticcyber.com/badge/github.com/Homebrew/brew/quality.svg)](https://repotrust.synapticcyber.com/r/github.com/Homebrew/brew/)
[![RepoTrust security](https://repotrust.synapticcyber.com/badge/github.com/Homebrew/brew/security.svg)](https://repotrust.synapticcyber.com/r/github.com/Homebrew/brew/)
Full text report
  • Repository: https://github.com/Homebrew/brew
  • Commit: 097e0b5957555b85dc4194eef06218a2aeab851f
  • Generated: 2026-11-14T15:50:51+00:00
  • Scorer 0.1.0, scoring prov-5+qual-2+sec-2, report schema v2

Scores

Pillar Score Signal Confidence Coverage
AI provenance (estimated AI-generated share) 1 explicit 95% 100%
Code quality 87 strong 90% 100%
Security 82 adequate 85% 100%

AI provenance

Explicit AI attribution on 1% of first-party code added; an estimated 1% including velocity signals.

  • Explicitly attributed share (lower bound): 1.2%
  • Unattributed share in AI-consistent velocity bursts: 4.7%
  • Estimated AI-generated share: 1.2%
AI tool Attributed commits Lines added
GitHub Copilot coding agent 140 4,030
Claude Code 90 4,617
OpenAI Codex 4 305
Cursor agent 1 54
  • AI tooling configured in repo: claude-code, cursor, generic-agent

Current source lines last changed by AI-attributed commits: 2,793 of 173,796.

Findings per 1,000 lines AI-attributed Other Ratio
Quality 0.0 0.041 0.0x
Security 0.0 0.363 0.0x
  • Stylometry index: 0.08 per 1,000 lines (narrated steps 5, placeholders 0, assistant phrasing 4, emoji 3). Reported as a signal, not scored.
Month Lines added Attributed to AI
2025-12 5,321 0%
2026-01 4,821 3%
2026-02 11,469 6%
2026-03 20,182 4%
2026-04 14,048 9%
2026-05 39,967 0%
2026-06 23,102 4%
2026-07 40,556 3%
2026-08 26,972 0%
2026-09 42,245 0%
2026-10 22,592 3%
2026-11 19,355 5%

Evidence

  • GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot' (237a47e76168)
  • OpenAI Codex: on merged branch (6071b1f1bb) (783b9e5eef19)
  • Claude Code: on merged branch (3264f71d24) (c0854395c8e2)
  • Claude Code: on merged branch (3264f71d24) (f4402a51a774)
  • GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot' (ccdf5e593b0d)
  • Cursor agent: trailer 'Co-authored-by: Cursor' (867ebd864948)
  • GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot' (7d714cd81ae8)
  • Claude Code: trailer 'Co-Authored-By: Claude' (beb9bf27fe5a)
  • GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot' (590816c8e056)
  • GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot' (b41be7915c9a)
  • GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot' (c9907afe9956)
  • GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot' (d5f86b0818d5)
  • GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot' (80bf383a67b5)
  • GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot' (9fe057afacc7)
  • GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot' (4e35c7c03a76)

AI provenance describes how code was produced; it is not a quality judgment. Unless attribution is explicit, these are signals consistent with AI generation, not proof. Squash/rebase workflows, imported code, and rewritten history reduce accuracy.

Code quality

Code quality is strong: test-to-source ratio 1.04, CI runs tests; 14% of function code in complex or long functions; 4% duplicated lines. Weakest area: type safety.

Area Score
Complexity (lizard) 65
Duplication 78
Code smells (Opengrep) 100
Tests and CI 100
Documentation 100
Type safety 40
Process (Scorecard review/maintenance) 100
  • Functions: 7,889; mean complexity 3.2, 90th percentile 7; 148 complex and 36 long functions
  • Duplicated lines: 4.1% of 122,944 compared
  • Tests: 179,980 test lines for 173,796 source lines (ratio 1.04); CI test commands: rspec, rake test; 85% of recent source commits also change tests
  • Docs missing or thin: none

Most complex functions:

Security

Security posture is adequate: 35 high-severity SAST findings; 3 high-severity workflow issues. Weakest area: scorecard.

Area Score
Secrets (gitleaks, tree + history) 82
Static analysis (Opengrep) 92
Vulnerable dependencies (OSV) 100
CI workflows (zizmor) 60
Posture (policy, updates, signing, lockfiles) 100
OpenSSF Scorecard 41
  • Posture checks passed: security policy, dependency updates, signed commits, lockfiles; missing: none
  • OpenSSF Scorecard aggregate: 5.9/10 (published 2026-11-09)

Top findings

Severity Finding Location
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] .github/scripts/approve_stale_lead_maintainer_prs.rb:42
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/bundle/extensions/winget.rb:14
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/cask_dependent.rb:9
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/cli/parser.rb:32
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/cmd/info.rb:27
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/cmd/upgrade.rb:20
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/cmd/upgrade.rb:28
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/cmd/uses.rb:18
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/compilers/compiler_selector.rb:8
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/debrew.rb:35
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/dev-cmd/advisory-match.rb:681
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/dev-cmd/advisory-match.rb:1305
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/dev-cmd/advisory-match.rb:1325
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/dev-cmd/benchmark.rb:30
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/dev-cmd/benchmark.rb:36
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/dev-cmd/bump.rb:37
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/dev-cmd/bump.rb:45
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/os/linux/elf.rb:211
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/rubocops/extend/formula_cop.rb:22
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/rubocops/shared/install_steps_helper.rb:149
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/utils/analytics/formula_feeds.rb:10
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/utils/analytics/formula_history.rb:13
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/utils/analytics/formula_history.rb:20
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/utils/analytics/formula_history.rb:28
high opengrep/ruby.lang.security.model-attributes-attr-accessible: Checks for models that do not use attr_accessible. This means there is no limiting of which variables can be manipulated through mass assignment. For newer Rails applications, parameters should be allowlisted using strong parameters. For older Rails versions, they should be allowlisted using strong_ [confidence low] Library/Homebrew/utils/analytics/formula_history.rb:38

Static signals only: the scorer never runs the project's code. Secret findings are pattern matches that were not verified, and secret values are never stored.

Distribution signals

Signals consistent with a repository that exists to distribute a download. They are heuristics, not a verdict; release files were not downloaded or inspected.

Repository profile

  • Source lines: 173,796; test lines: 179,980
Language Lines
Ruby 347,213
Shell 6,465
Python 43
C# 34
Objective-C 21