RepoTrust

NoamB/sorcery

Magical authentication for Rails 3 & 4

https://github.com/NoamB/sorcery · commit 4aaf38363edd · scored 2026-11-13 · scoring prov-4+qual-2+sec-2

RepoTrust ai badge RepoTrust quality badge RepoTrust security badge

Dispute this score or request a re-score Full report JSON

Scores

Pillar Score Signal Confidence Coverage
AI provenance (estimated AI-generated share) 0 none-detected 65% 100%
Code quality 77 adequate 90% 100%
Security 22 poor 85% 100%

AI provenance

No AI attribution or AI-consistent velocity signals detected.

Month Lines added Attributed to AI
2015-03 8 0%
2015-04 186 0%
2015-05 22 0%
2015-06 172 0%
2015-09 7 0%
2015-10 14 0%
2016-01 1 0%
2016-02 47 0%
2016-03 34 0%
2016-07 104 0%
2016-08 19 0%
2016-09 7 0%

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 adequate: test-to-source ratio 0.97, no CI test run detected; 0% of function code in complex or long functions; 6% duplicated lines. Weakest area: process.

Area Score
Complexity (lizard) 100
Duplication 71
Code smells (Opengrep) 100
Tests and CI 70
Documentation 65
Type safety n/a
Process (Scorecard review/maintenance) 35

Security

Security posture is poor: 0 possible secret(s) in the tree, 1 only in history; 16 high-severity SAST findings. Weakest area: posture.

Area Score
Secrets (gitleaks, tree + history) 42
Static analysis (Opengrep) 8
Vulnerable dependencies (OSV) n/a
CI workflows (zizmor) n/a
Posture (policy, updates, signing, lockfiles) 0
OpenSSF Scorecard 25

Top findings

Severity Finding Location
high opengrep/ruby.rails.security.brakeman.check-unsafe-reflection-methods: Found user-controllable input to a reflection method. This may allow a user to alter program behavior and potentially execute arbitrary instructions in the context of the process. Do not provide arbitrary user input to tap, method, or to_proc [confidence medium] lib/sorcery/providers/facebook.rb:65
high opengrep/ruby.rails.security.brakeman.check-unsafe-reflection-methods: Found user-controllable input to a reflection method. This may allow a user to alter program behavior and potentially execute arbitrary instructions in the context of the process. Do not provide arbitrary user input to tap, method, or to_proc [confidence medium] lib/sorcery/providers/facebook.rb:65
high opengrep/ruby.rails.security.brakeman.check-unsafe-reflection-methods: Found user-controllable input to a reflection method. This may allow a user to alter program behavior and potentially execute arbitrary instructions in the context of the process. Do not provide arbitrary user input to tap, method, or to_proc [confidence medium] lib/sorcery/providers/github.rb:45
high opengrep/ruby.rails.security.brakeman.check-unsafe-reflection-methods: Found user-controllable input to a reflection method. This may allow a user to alter program behavior and potentially execute arbitrary instructions in the context of the process. Do not provide arbitrary user input to tap, method, or to_proc [confidence medium] lib/sorcery/providers/github.rb:45
high opengrep/ruby.rails.security.brakeman.check-unsafe-reflection-methods: Found user-controllable input to a reflection method. This may allow a user to alter program behavior and potentially execute arbitrary instructions in the context of the process. Do not provide arbitrary user input to tap, method, or to_proc [confidence medium] lib/sorcery/providers/google.rb:43
high opengrep/ruby.rails.security.brakeman.check-unsafe-reflection-methods: Found user-controllable input to a reflection method. This may allow a user to alter program behavior and potentially execute arbitrary instructions in the context of the process. Do not provide arbitrary user input to tap, method, or to_proc [confidence medium] lib/sorcery/providers/google.rb:43
high opengrep/ruby.rails.security.brakeman.check-unsafe-reflection-methods: Found user-controllable input to a reflection method. This may allow a user to alter program behavior and potentially execute arbitrary instructions in the context of the process. Do not provide arbitrary user input to tap, method, or to_proc [confidence medium] lib/sorcery/providers/heroku.rb:51
high opengrep/ruby.rails.security.brakeman.check-unsafe-reflection-methods: Found user-controllable input to a reflection method. This may allow a user to alter program behavior and potentially execute arbitrary instructions in the context of the process. Do not provide arbitrary user input to tap, method, or to_proc [confidence medium] lib/sorcery/providers/heroku.rb:51
high opengrep/ruby.rails.security.brakeman.check-unsafe-reflection-methods: Found user-controllable input to a reflection method. This may allow a user to alter program behavior and potentially execute arbitrary instructions in the context of the process. Do not provide arbitrary user input to tap, method, or to_proc [confidence medium] lib/sorcery/providers/liveid.rb:44
high opengrep/ruby.rails.security.brakeman.check-unsafe-reflection-methods: Found user-controllable input to a reflection method. This may allow a user to alter program behavior and potentially execute arbitrary instructions in the context of the process. Do not provide arbitrary user input to tap, method, or to_proc [confidence medium] lib/sorcery/providers/liveid.rb:44
high opengrep/ruby.rails.security.brakeman.check-unsafe-reflection-methods: Found user-controllable input to a reflection method. This may allow a user to alter program behavior and potentially execute arbitrary instructions in the context of the process. Do not provide arbitrary user input to tap, method, or to_proc [confidence medium] lib/sorcery/providers/paypal.rb:54
high opengrep/ruby.rails.security.brakeman.check-unsafe-reflection-methods: Found user-controllable input to a reflection method. This may allow a user to alter program behavior and potentially execute arbitrary instructions in the context of the process. Do not provide arbitrary user input to tap, method, or to_proc [confidence medium] lib/sorcery/providers/paypal.rb:54
high opengrep/ruby.rails.security.brakeman.check-unsafe-reflection-methods: Found user-controllable input to a reflection method. This may allow a user to alter program behavior and potentially execute arbitrary instructions in the context of the process. Do not provide arbitrary user input to tap, method, or to_proc [confidence medium] lib/sorcery/providers/salesforce.rb:42
high opengrep/ruby.rails.security.brakeman.check-unsafe-reflection-methods: Found user-controllable input to a reflection method. This may allow a user to alter program behavior and potentially execute arbitrary instructions in the context of the process. Do not provide arbitrary user input to tap, method, or to_proc [confidence medium] lib/sorcery/providers/salesforce.rb:42
high opengrep/ruby.rails.security.brakeman.check-unsafe-reflection-methods: Found user-controllable input to a reflection method. This may allow a user to alter program behavior and potentially execute arbitrary instructions in the context of the process. Do not provide arbitrary user input to tap, method, or to_proc [confidence medium] lib/sorcery/providers/vk.rb:55
high opengrep/ruby.rails.security.brakeman.check-unsafe-reflection-methods: Found user-controllable input to a reflection method. This may allow a user to alter program behavior and potentially execute arbitrary instructions in the context of the process. Do not provide arbitrary user input to tap, method, or to_proc [confidence medium] lib/sorcery/providers/vk.rb:55
medium gitleaks/facebook-secret: Possible facebook-secret secret in history (commit ac0026bbf6); removed from the current tree but still retrievable lib/sorcery/initializers/initializer.rb:29
medium opengrep/ruby.rails.security.audit.avoid-session-manipulation: This gets data from session using user inputs. A malicious user may be able to retrieve information from your session that you didn't intend them to. Do not use user input as a session key. [confidence medium] lib/sorcery/controller/submodules/remember_me.rb:67
medium opengrep/ruby.lang.security.weak-hashes-md5: 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. [confidence medium] lib/sorcery/crypto_providers/md5.rb:14
low gitleaks/generic-api-key: Possible generic-api-key secret in the current tree (test/docs/example file) spec/rails_app/config/initializers/secret_token.rb:7
low gitleaks/generic-api-key: Possible generic-api-key secret in the current tree (test/docs/example file) spec/shared_examples/user_oauth_shared_examples.rb:15
low gitleaks/generic-api-key: Possible generic-api-key secret in the current tree (test/docs/example file) spec/controllers/controller_oauth2_spec.rb:210
low gitleaks/generic-api-key: Possible generic-api-key secret in the current tree (test/docs/example file) spec/sorcery_crypto_providers_spec.rb:60
low gitleaks/generic-api-key: Possible generic-api-key secret in the current tree (test/docs/example file) spec/controllers/controller_oauth_spec.rb:31
low gitleaks/generic-api-key: Possible generic-api-key secret in history (commit 320db6555a); removed from the current tree but still retrievable spec/active_record/controller_oauth2_spec.rb:159

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.

Repository profile

Language Lines
Ruby 7,993

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/NoamB/sorcery/ai.svg)](https://repotrust.synapticcyber.com/r/github.com/NoamB/sorcery/)
[![RepoTrust quality](https://repotrust.synapticcyber.com/badge/github.com/NoamB/sorcery/quality.svg)](https://repotrust.synapticcyber.com/r/github.com/NoamB/sorcery/)
[![RepoTrust security](https://repotrust.synapticcyber.com/badge/github.com/NoamB/sorcery/security.svg)](https://repotrust.synapticcyber.com/r/github.com/NoamB/sorcery/)