RepoTrust

Leaderboard github.com

maccman/monocle

Link and news sharing

  • View repository ↗
  • Ruby
  • ★ 1,437
  • commit 793f00fad23d
  • scored 2026-11-14
  • scoring prov-5+qual-2+sec-2

AI provenance

0%

none-detected

Confidence
44%
Coverage
100%

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

Code quality

62/100

weak

Confidence
90%
Coverage
100%

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

Security

52/100

weak

Confidence
85%
Coverage
100%

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

AI provenance

0% none-detected

No AI attribution or AI-consistent velocity signals detected.

How the score is built

  • Explicitly attributed share0%
  • Unattributed share in AI-pace bursts0%
  • Estimated AI-generated share0%
  • AI tool configuration files0
  • Work sessions at AI pace0
  • Releases at AI pacenot measured
  • Coding-style index (1.0+ means possible)0.00

Lines added per month all AI-attributed share

  1. 2013-093,453 · 0% AI
  2. 2013-100 · 0% AI
  3. 2013-1192 · 0% AI
  4. 2014-060 · 0% AI

Evidence by analyzer

Explicit AI attributionok
attributed_commit_share
0.0%
attributed_commits
0
attributed_loc
0
attributed_loc_share
0.0%
commits
17
effective_loc
3,545
tools_detected
0
AI tool configurationok
artifacts
0
tools_configured
0
workflow_agents
0
Commit velocityok
excluded_import_loc
3,453
flagged_loc
0
flagged_loc_share
0.0%
flagged_units
0
max_loc_per_hour
14.06
measured_loc
92
median_loc_per_hour
0
pr_timed_units
0
pre_ai_era_burst_loc
0
pre_ai_era_bursts
0
pre_ai_era_measured_loc
92
work_units
6
Release velocityskipped
Coding styleok
count:assistant_voice
0
count:emoji_in_code
0
count:narrated_steps
0
count:placeholder
0
files:assistant_voice
0
files:emoji_in_code
0
files:narrated_steps
0
files:placeholder
0
index
0
lines_scanned
3,311
per_kloc:assistant_voice
0
per_kloc:emoji_in_code
0
per_kloc:narrated_steps
0
per_kloc:placeholder
0

Code quality

62 weak

Code quality is weak: test-to-source ratio 0.00, no CI test run detected; 0% of function code in complex or long functions; 5% duplicated lines. Weakest area: testing.

How the score is built

  • Complexity100
  • Duplication73
  • Lint and smells100
  • Tests and CI0
  • Documentation65
  • Type safetynot measured
  • Review processnot measured

Evidence by analyzer

Complexity (lizard)ok
complex_functions
0
function_nloc
894
functions
156
long_functions
0
many_param_functions
0
mean_ccn
1.83
p90_ccn
3
risky_nloc_share
0.0%
Duplication (jscpd)ok6 items
compared_lines
1,998
duplicated_lines
104
duplicated_share
5.2%
files
51
Lintok
findings
0
scanned_lines
2,546
weighted_findings
0
Tests and CIok
check:ci_present
no
check:ci_runs_lint
no
check:ci_runs_tests
no
check:has_tests
no
check:test_ratio
no
check:tests_cochange
no
ci_files
0
cochange_commits
10
cochange_share
0.0%
source_lines
3,311
test_lines
0
test_ratio
0
Documentationok1 item
  • README.md README.md
check:changelog
no
check:contributing
no
check:license
yes
check:readme
yes
readme_lines
34
Type safetyskipped

Security

52 weak

Security posture is weak: 132 known vulnerabilities in 20 dependencies. Weakest area: posture.

How the score is built

  • Secrets100
  • Static analysis (SAST)63
  • Vulnerable dependencies7
  • CI workflowsnot measured
  • Security posture0
  • OpenSSF Scorecardnot measured

Evidence by analyzer

OpenSSF Scorecardskipped

no published OpenSSF Scorecard result for this repo

Package registriesskipped

no registry dependencies declared

Secrets (gitleaks)ok
secrets_current
0
secrets_history
0
secrets_low_confidence
0
secrets_nonprod
0
Static analysis (opengrep)ok
findings
12
findings_high
0
findings_low
0
findings_medium
12
parse_errors
5
scanned_lines
2,546
weighted_findings
3.35
Dependencies (osv-scanner)ok
penalty
163
vulnerabilities
132
vulnerable_packages
20
vulns_critical
7
vulns_high
50
vulns_low
11
vulns_medium
39
vulns_unknown
25
CI workflows (zizmor)skipped
Security postureok
check:dependency_updates
no
check:lockfiles
yes
check:security_policy
no
check:signed_commits
no
signed_commit_share
0.0%
unpinned_manifests
0
Release downloadsok
binary_assets
0
signals
0
suspicious
0

Findings

7 critical50 high76 medium11 low

SeverityRuleLocationMessageTool
critical osv/GHSA-34r7-q49f-h37c Gemfile.lock [email protected] (RubyGems) is affected by GHSA-34r7-q49f-h37c Dependencies (osv-scanner)
critical osv/GHSA-cr5j-953j-xw5p Gemfile.lock [email protected] (RubyGems) is affected by GHSA-cr5j-953j-xw5p Dependencies (osv-scanner)
critical osv/GHSA-fr52-4hqw-p27f Gemfile.lock [email protected] (RubyGems) is affected by GHSA-fr52-4hqw-p27f Dependencies (osv-scanner)
critical osv/GHSA-pm55-qfxr-h247 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-pm55-qfxr-h247 Dependencies (osv-scanner)
critical osv/GHSA-qxcg-xjjg-66mj Gemfile.lock [email protected] (RubyGems) is affected by GHSA-qxcg-xjjg-66mj Dependencies (osv-scanner)
critical osv/GHSA-vx9g-377x-xwxq Gemfile.lock [email protected] (RubyGems) is affected by GHSA-vx9g-377x-xwxq Dependencies (osv-scanner)
critical osv/GHSA-wq4h-7r42-5hrr Gemfile.lock [email protected] (RubyGems) is affected by GHSA-wq4h-7r42-5hrr Dependencies (osv-scanner)
high osv/GHSA-242x-7cm6-4w8j Gemfile.lock [email protected] (RubyGems) is affected by GHSA-242x-7cm6-4w8j Dependencies (osv-scanner)
high osv/GHSA-2rr5-8q37-2w7h Gemfile.lock [email protected] (RubyGems) is affected by GHSA-2rr5-8q37-2w7h Dependencies (osv-scanner)
high osv/GHSA-34hf-g744-jw64 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-34hf-g744-jw64 Dependencies (osv-scanner)
high osv/GHSA-3h57-hmj3-gj3p Gemfile.lock [email protected] (RubyGems) is affected by GHSA-3h57-hmj3-gj3p Dependencies (osv-scanner)
high osv/GHSA-59gp-qqm7-cw4j Gemfile.lock [email protected] (RubyGems) is affected by GHSA-59gp-qqm7-cw4j Dependencies (osv-scanner)
high osv/GHSA-5f9h-9pjv-v6j7 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-5f9h-9pjv-v6j7 Dependencies (osv-scanner)
high osv/GHSA-5v64-555j-wjxm Gemfile.lock [email protected] (RubyGems) is affected by GHSA-5v64-555j-wjxm Dependencies (osv-scanner)
high osv/GHSA-625h-95r8-8xpm Gemfile.lock [email protected] (RubyGems) is affected by GHSA-625h-95r8-8xpm Dependencies (osv-scanner)
high osv/GHSA-65f5-mfpf-vfhj Gemfile.lock [email protected] (RubyGems) is affected by GHSA-65f5-mfpf-vfhj Dependencies (osv-scanner)
high osv/GHSA-6qvp-r6r3-9p7h Gemfile.lock [email protected] (RubyGems) is affected by GHSA-6qvp-r6r3-9p7h Dependencies (osv-scanner)
high osv/GHSA-6xw4-3v39-52mm Gemfile.lock [email protected] (RubyGems) is affected by GHSA-6xw4-3v39-52mm Dependencies (osv-scanner)
high osv/GHSA-7359-3c6r-hfc2 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-7359-3c6r-hfc2 Dependencies (osv-scanner)
high osv/GHSA-7553-jr98-vx47 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-7553-jr98-vx47 Dependencies (osv-scanner)
high osv/GHSA-7hp2-xwpj-95jq Gemfile.lock [email protected] (RubyGems) is affected by GHSA-7hp2-xwpj-95jq Dependencies (osv-scanner)
high osv/GHSA-7wqh-767x-r66v Gemfile.lock [email protected] (RubyGems) is affected by GHSA-7wqh-767x-r66v Dependencies (osv-scanner)
high osv/GHSA-8474-xrp6-wh69 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-8474-xrp6-wh69 Dependencies (osv-scanner)
high osv/GHSA-8c56-cpmw-89x7 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-8c56-cpmw-89x7 Dependencies (osv-scanner)
high osv/GHSA-8vqr-qjwx-82mw Gemfile.lock [email protected] (RubyGems) is affected by GHSA-8vqr-qjwx-82mw Dependencies (osv-scanner)
high osv/GHSA-9pr6-grf4-x2fr Gemfile.lock [email protected] (RubyGems) is affected by GHSA-9pr6-grf4-x2fr Dependencies (osv-scanner)
high osv/GHSA-c32j-vqhx-rx3x Gemfile.lock [email protected] (RubyGems) is affected by GHSA-c32j-vqhx-rx3x Dependencies (osv-scanner)
high osv/GHSA-c4rq-3m3g-8wgx Gemfile.lock [email protected] (RubyGems) is affected by GHSA-c4rq-3m3g-8wgx Dependencies (osv-scanner)
high osv/GHSA-cf46-6xxh-pc75 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-cf46-6xxh-pc75 Dependencies (osv-scanner)
high osv/GHSA-cgx6-hpwq-fhv5 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-cgx6-hpwq-fhv5 Dependencies (osv-scanner)
high osv/GHSA-crjr-9rc5-ghw8 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-crjr-9rc5-ghw8 Dependencies (osv-scanner)
high osv/GHSA-gjh7-p2fx-99vx Gemfile.lock [email protected] (RubyGems) is affected by GHSA-gjh7-p2fx-99vx Dependencies (osv-scanner)
high osv/GHSA-gx8x-g87m-h5q6 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-gx8x-g87m-h5q6 Dependencies (osv-scanner)
high osv/GHSA-h2jq-g4cq-5ppq Gemfile.lock [email protected] (RubyGems) is affected by GHSA-h2jq-g4cq-5ppq Dependencies (osv-scanner)
high osv/GHSA-hm5p-x4rq-38w4 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-hm5p-x4rq-38w4 Dependencies (osv-scanner)
high osv/GHSA-hxqx-xwvh-44m2 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-hxqx-xwvh-44m2 Dependencies (osv-scanner)
high osv/GHSA-j6w9-fv6q-3q52 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-j6w9-fv6q-3q52 Dependencies (osv-scanner)
high osv/GHSA-jc36-42cf-vqwj Gemfile.lock [email protected] (RubyGems) is affected by GHSA-jc36-42cf-vqwj Dependencies (osv-scanner)
high osv/GHSA-jphg-qwrw-7w9g Gemfile.lock [email protected] (RubyGems) is affected by GHSA-jphg-qwrw-7w9g Dependencies (osv-scanner)
high osv/GHSA-jw9f-hh49-cvp9 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-jw9f-hh49-cvp9 Dependencies (osv-scanner)
high osv/GHSA-mrxw-mxhj-p664 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-mrxw-mxhj-p664 Dependencies (osv-scanner)
high osv/GHSA-mxw3-3hh2-x2mh Gemfile.lock [email protected] (RubyGems) is affected by GHSA-mxw3-3hh2-x2mh Dependencies (osv-scanner)
high osv/GHSA-p543-xpfm-54cp Gemfile.lock [email protected] (RubyGems) is affected by GHSA-p543-xpfm-54cp Dependencies (osv-scanner)
high osv/GHSA-pf6m-fxpq-fg8v Gemfile.lock [email protected] (RubyGems) is affected by GHSA-pf6m-fxpq-fg8v Dependencies (osv-scanner)
high osv/GHSA-pp92-crg2-gfv9 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-pp92-crg2-gfv9 Dependencies (osv-scanner)
high osv/GHSA-pr3h-jjhj-573x Gemfile.lock [email protected] (RubyGems) is affected by GHSA-pr3h-jjhj-573x Dependencies (osv-scanner)
high osv/GHSA-qp49-3pvw-x4m5 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-qp49-3pvw-x4m5 Dependencies (osv-scanner)
high osv/GHSA-r58r-74gx-6wx3 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-r58r-74gx-6wx3 Dependencies (osv-scanner)
high osv/GHSA-v4f8-2847-rwm7 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-v4f8-2847-rwm7 Dependencies (osv-scanner)
high osv/GHSA-v569-hp3g-36wr Gemfile.lock [email protected] (RubyGems) is affected by GHSA-v569-hp3g-36wr Dependencies (osv-scanner)
high osv/GHSA-v6gp-9mmm-c6p5 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-v6gp-9mmm-c6p5 Dependencies (osv-scanner)
high osv/GHSA-vmfx-gcfq-wvm2 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-vmfx-gcfq-wvm2 Dependencies (osv-scanner)
high osv/GHSA-w9pc-fmgc-vxvw Gemfile.lock [email protected] (RubyGems) is affected by GHSA-w9pc-fmgc-vxvw Dependencies (osv-scanner)
high osv/GHSA-wpv5-97wm-hp9c Gemfile.lock [email protected] (RubyGems) is affected by GHSA-wpv5-97wm-hp9c Dependencies (osv-scanner)
high osv/GHSA-ww4x-rwq6-qpgf Gemfile.lock [email protected] (RubyGems) is affected by GHSA-ww4x-rwq6-qpgf Dependencies (osv-scanner)
high osv/GHSA-x2fm-93ww-ggvx Gemfile.lock [email protected] (RubyGems) is affected by GHSA-x2fm-93ww-ggvx Dependencies (osv-scanner)
high osv/GHSA-xh29-r2w5-wx8m Gemfile.lock [email protected] (RubyGems) is affected by GHSA-xh29-r2w5-wx8m Dependencies (osv-scanner)
medium osv/GHSA-22f2-v57c-j9cx Gemfile.lock [email protected] (RubyGems) is affected by GHSA-22f2-v57c-j9cx Dependencies (osv-scanner)
medium osv/GHSA-286v-pcf5-25rc Gemfile.lock [email protected] (RubyGems) is affected by GHSA-286v-pcf5-25rc Dependencies (osv-scanner)
medium osv/GHSA-2j26-frm8-cmj9 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-2j26-frm8-cmj9 Dependencies (osv-scanner)
medium osv/GHSA-2qc6-mcvw-92cw Gemfile.lock [email protected] (RubyGems) is affected by GHSA-2qc6-mcvw-92cw Dependencies (osv-scanner)
medium osv/GHSA-33pp-3763-mrfp Gemfile.lock [email protected] (RubyGems) is affected by GHSA-33pp-3763-mrfp Dependencies (osv-scanner)
medium osv/GHSA-353f-x4gh-cqq8 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-353f-x4gh-cqq8 Dependencies (osv-scanner)
medium osv/GHSA-4hm9-844j-jmxp Gemfile.lock [email protected] (RubyGems) is affected by GHSA-4hm9-844j-jmxp Dependencies (osv-scanner)
medium osv/GHSA-54rr-7fvw-6x8f Gemfile.lock [email protected] (RubyGems) is affected by GHSA-54rr-7fvw-6x8f Dependencies (osv-scanner)
medium osv/GHSA-5pq7-52mg-hr42 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-5pq7-52mg-hr42 Dependencies (osv-scanner)
medium osv/GHSA-5prr-v3j2-97mh Gemfile.lock [email protected] (RubyGems) is affected by GHSA-5prr-v3j2-97mh Dependencies (osv-scanner)
medium osv/GHSA-5r2p-j47h-mhpg Gemfile.lock [email protected] (RubyGems) is affected by GHSA-5r2p-j47h-mhpg Dependencies (osv-scanner)
medium osv/GHSA-5w6v-399v-w3cc Gemfile.lock [email protected] (RubyGems) is affected by GHSA-5w6v-399v-w3cc Dependencies (osv-scanner)
medium osv/GHSA-62qp-3fxm-9wxf Gemfile.lock [email protected] (RubyGems) is affected by GHSA-62qp-3fxm-9wxf Dependencies (osv-scanner)
medium osv/GHSA-688c-3x49-6rqj Gemfile.lock [email protected] (RubyGems) is affected by GHSA-688c-3x49-6rqj Dependencies (osv-scanner)
medium osv/GHSA-6r34-94wq-jhrc Gemfile.lock [email protected] (RubyGems) is affected by GHSA-6r34-94wq-jhrc Dependencies (osv-scanner)
medium osv/GHSA-7g2v-jj9q-g3rg Gemfile.lock [email protected] (RubyGems) is affected by GHSA-7g2v-jj9q-g3rg Dependencies (osv-scanner)
medium osv/GHSA-7mqq-6cf9-v2qp Gemfile.lock [email protected] (RubyGems) is affected by GHSA-7mqq-6cf9-v2qp Dependencies (osv-scanner)
medium osv/GHSA-7rrm-v45f-jp64 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-7rrm-v45f-jp64 Dependencies (osv-scanner)
medium osv/GHSA-882p-jqgm-f45g Gemfile.lock [email protected] (RubyGems) is affected by GHSA-882p-jqgm-f45g Dependencies (osv-scanner)
medium osv/GHSA-89vf-4333-qx8v Gemfile.lock [email protected] (RubyGems) is affected by GHSA-89vf-4333-qx8v Dependencies (osv-scanner)
medium osv/GHSA-8cgq-6mh2-7j6v Gemfile.lock [email protected] (RubyGems) is affected by GHSA-8cgq-6mh2-7j6v Dependencies (osv-scanner)
medium osv/GHSA-9c2j-593q-3g82 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-9c2j-593q-3g82 Dependencies (osv-scanner)
medium osv/GHSA-9fh3-vh3h-q4g3 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-9fh3-vh3h-q4g3 Dependencies (osv-scanner)
medium osv/GHSA-cg4j-q9v8-6v38 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-cg4j-q9v8-6v38 Dependencies (osv-scanner)
medium osv/GHSA-fq42-c5rg-92c2 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-fq42-c5rg-92c2 Dependencies (osv-scanner)
medium osv/GHSA-h835-75hw-pj89 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-h835-75hw-pj89 Dependencies (osv-scanner)
medium osv/GHSA-hrqr-hxpp-chr3 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-hrqr-hxpp-chr3 Dependencies (osv-scanner)
medium osv/GHSA-hxx2-7vcw-mqr3 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-hxx2-7vcw-mqr3 Dependencies (osv-scanner)
medium osv/GHSA-j6gc-792m-qgm2 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-j6gc-792m-qgm2 Dependencies (osv-scanner)
medium osv/GHSA-j96r-xvjq-r9pg Gemfile.lock [email protected] (RubyGems) is affected by GHSA-j96r-xvjq-r9pg Dependencies (osv-scanner)
medium osv/GHSA-jmhh-w7xp-wg39 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-jmhh-w7xp-wg39 Dependencies (osv-scanner)
medium osv/GHSA-jppv-gw3r-w3q8 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-jppv-gw3r-w3q8 Dependencies (osv-scanner)
medium osv/GHSA-jxjr-5h69-qw3w Gemfile.lock [email protected] (RubyGems) is affected by GHSA-jxjr-5h69-qw3w Dependencies (osv-scanner)
medium osv/GHSA-m27g-v28p-f9fx Gemfile.lock [email protected] (RubyGems) is affected by GHSA-m27g-v28p-f9fx Dependencies (osv-scanner)
medium osv/GHSA-mvxr-6m87-mv2q Gemfile.lock [email protected] (RubyGems) is affected by GHSA-mvxr-6m87-mv2q Dependencies (osv-scanner)
medium osv/GHSA-pj73-v5mw-pm9j Gemfile.lock [email protected] (RubyGems) is affected by GHSA-pj73-v5mw-pm9j Dependencies (osv-scanner)
medium osv/GHSA-pxvg-2qj5-37jq Gemfile.lock [email protected] (RubyGems) is affected by GHSA-pxvg-2qj5-37jq Dependencies (osv-scanner)
medium osv/GHSA-q2ww-5357-x388 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-q2ww-5357-x388 Dependencies (osv-scanner)
medium osv/GHSA-q4qf-9j86-f5mh Gemfile.lock [email protected] (RubyGems) is affected by GHSA-q4qf-9j86-f5mh Dependencies (osv-scanner)
medium osv/GHSA-q86f-fmqf-qrf6 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-q86f-fmqf-qrf6 Dependencies (osv-scanner)
medium osv/GHSA-qv7j-4883-hwh7 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-qv7j-4883-hwh7 Dependencies (osv-scanner)
medium osv/GHSA-qv8p-v9qw-wc7g Gemfile.lock [email protected] (RubyGems) is affected by GHSA-qv8p-v9qw-wc7g Dependencies (osv-scanner)
medium osv/GHSA-r5hc-9xx5-97rw Gemfile.lock [email protected] (RubyGems) is affected by GHSA-r5hc-9xx5-97rw Dependencies (osv-scanner)
medium osv/GHSA-r657-rxjc-j557 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-r657-rxjc-j557 Dependencies (osv-scanner)
medium osv/GHSA-r95h-9x8f-r3f7 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-r95h-9x8f-r3f7 Dependencies (osv-scanner)
medium osv/GHSA-rgr4-9jh5-j4j6 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-rgr4-9jh5-j4j6 Dependencies (osv-scanner)
medium osv/GHSA-v2fc-qm4h-8hqv Gemfile.lock [email protected] (RubyGems) is affected by GHSA-v2fc-qm4h-8hqv Dependencies (osv-scanner)
medium osv/GHSA-v3rr-cph9-2g2q Gemfile.lock [email protected] (RubyGems) is affected by GHSA-v3rr-cph9-2g2q Dependencies (osv-scanner)
medium osv/GHSA-v9v4-7jp6-8c73 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-v9v4-7jp6-8c73 Dependencies (osv-scanner)
medium osv/GHSA-vgpv-f759-9wx3 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-vgpv-f759-9wx3 Dependencies (osv-scanner)
medium osv/GHSA-vpfw-47h7-xj4g Gemfile.lock [email protected] (RubyGems) is affected by GHSA-vpfw-47h7-xj4g Dependencies (osv-scanner)
medium osv/GHSA-vr8q-g5c7-m54m Gemfile.lock [email protected] (RubyGems) is affected by GHSA-vr8q-g5c7-m54m Dependencies (osv-scanner)
medium osv/GHSA-vvfq-8hwr-qm4m Gemfile.lock [email protected] (RubyGems) is affected by GHSA-vvfq-8hwr-qm4m Dependencies (osv-scanner)
medium osv/GHSA-wfpw-mmfh-qq69 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-wfpw-mmfh-qq69 Dependencies (osv-scanner)
medium osv/GHSA-whrj-4476-wvmp Gemfile.lock [email protected] (RubyGems) is affected by GHSA-whrj-4476-wvmp Dependencies (osv-scanner)
medium osv/GHSA-wvg4-6p58-3gh3 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-wvg4-6p58-3gh3 Dependencies (osv-scanner)
medium osv/GHSA-wx95-c6cv-8532 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-wx95-c6cv-8532 Dependencies (osv-scanner)
medium osv/GHSA-x7rv-cr6v-4vm4 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-x7rv-cr6v-4vm4 Dependencies (osv-scanner)
medium osv/GHSA-x8cg-fq8g-mxfx Gemfile.lock [email protected] (RubyGems) is affected by GHSA-x8cg-fq8g-mxfx Dependencies (osv-scanner)
medium osv/GHSA-xc9x-jj77-9p9j Gemfile.lock [email protected] (RubyGems) is affected by GHSA-xc9x-jj77-9p9j Dependencies (osv-scanner)
medium osv/GHSA-xgr2-v94m-rc9g Gemfile.lock [email protected] (RubyGems) is affected by GHSA-xgr2-v94m-rc9g Dependencies (osv-scanner)
medium osv/GHSA-xj5v-6v4g-jfw6 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-xj5v-6v4g-jfw6 Dependencies (osv-scanner)
medium osv/GHSA-xjqg-9jvg-fgx2 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-xjqg-9jvg-fgx2 Dependencies (osv-scanner)
medium osv/GHSA-xxx9-3xcr-gjj3 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-xxx9-3xcr-gjj3 Dependencies (osv-scanner)
medium opengrep/ruby.rails.security.audit.xss.templates.alias-for-html-safe app/views/authorized.erb:2 The syntax `<%== ... %>` is an alias for `html_safe`. This means the content inside these tags will be rendered as raw HTML. This may expose your application to cross-site scripting. If you need raw HTML, prefer using the more explicit... Static analysis (opengrep)
medium opengrep/ruby.rails.security.audit.xss.templates.var-in-script-tag app/views/authorized.erb:2 Detected a template variable used in a script tag. Although template variables are HTML escaped, HTML escaping does not always prevent cross-site scripting (XSS) attacks when used directly in JavaScript. If you need to do this, use... Static analysis (opengrep)
medium opengrep/ruby.rails.security.audit.xss.templates.var-in-script-tag app/views/index.erb:9 Detected a template variable used in a script tag. Although template variables are HTML escaped, HTML escaping does not always prevent cross-site scripting (XSS) attacks when used directly in JavaScript. If you need to do this, use... Static analysis (opengrep)
medium opengrep/ruby.rails.security.audit.xss.templates.var-in-script-tag app/views/mobile.erb:22 Detected a template variable used in a script tag. Although template variables are HTML escaped, HTML escaping does not always prevent cross-site scripting (XSS) attacks when used directly in JavaScript. If you need to do this, use... Static analysis (opengrep)
medium opengrep/ruby.rails.security.audit.xss.templates.alias-for-html-safe app/views/post_body.erb:31 The syntax `<%== ... %>` is an alias for `html_safe`. This means the content inside these tags will be rendered as raw HTML. This may expose your application to cross-site scripting. If you need raw HTML, prefer using the more explicit... Static analysis (opengrep)
medium opengrep/ruby.rails.security.audit.xss.templates.alias-for-html-safe app/views/setup.erb:3 The syntax `<%== ... %>` is an alias for `html_safe`. This means the content inside these tags will be rendered as raw HTML. This may expose your application to cross-site scripting. If you need raw HTML, prefer using the more explicit... Static analysis (opengrep)
medium opengrep/ruby.rails.security.audit.xss.templates.var-in-href app/views/spider_page.erb:11 Detected a template variable used in an anchor tag with the 'href' attribute. This allows a malicious actor to input the 'javascript:' URI and is subject to cross- site scripting (XSS) attacks. If using a relative URL, start with a... Static analysis (opengrep)
medium opengrep/ruby.rails.security.audit.xss.templates.var-in-href app/views/spider_page.erb:15 Detected a template variable used in an anchor tag with the 'href' attribute. This allows a malicious actor to input the 'javascript:' URI and is subject to cross- site scripting (XSS) attacks. If using a relative URL, start with a... Static analysis (opengrep)
medium opengrep/ruby.rails.security.audit.xss.templates.alias-for-html-safe app/views/spider_page.erb:22 The syntax `<%== ... %>` is an alias for `html_safe`. This means the content inside these tags will be rendered as raw HTML. This may expose your application to cross-site scripting. If you need raw HTML, prefer using the more explicit... Static analysis (opengrep)
medium opengrep/ruby.lang.security.weak-hashes-md5 lib/gravatar.rb:5 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.lang.security.dangerous-subshell lib/tasks/release.rb:14 Detected non-static command inside `...`. 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. [confidence low] Static analysis (opengrep)
medium opengrep/ruby.lang.security.dangerous-subshell lib/tasks/release.rb:27 Detected non-static command inside `...`. 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. [confidence low] Static analysis (opengrep)
low osv/GHSA-3w22-6jfg-527w Gemfile.lock [email protected] (RubyGems) is affected by GHSA-3w22-6jfg-527w Dependencies (osv-scanner)
low osv/GHSA-3xg8-cc8f-9wv2 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-3xg8-cc8f-9wv2 Dependencies (osv-scanner)
low osv/GHSA-5v8h-3h3q-446p Gemfile.lock [email protected] (RubyGems) is affected by GHSA-5v8h-3h3q-446p Dependencies (osv-scanner)
low osv/GHSA-8678-w3jw-xfc2 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-8678-w3jw-xfc2 Dependencies (osv-scanner)
low osv/GHSA-9cv2-cfxc-v4v2 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-9cv2-cfxc-v4v2 Dependencies (osv-scanner)
low osv/GHSA-mr3q-g2mv-mr4q Gemfile.lock [email protected] (RubyGems) is affected by GHSA-mr3q-g2mv-mr4q Dependencies (osv-scanner)
low osv/GHSA-p67v-3w7g-wjg7 Gemfile.lock [email protected] (RubyGems) is affected by GHSA-p67v-3w7g-wjg7 Dependencies (osv-scanner)
low osv/GHSA-p8x9-v4hv-2w4g Gemfile.lock [email protected] (RubyGems) is affected by GHSA-p8x9-v4hv-2w4g Dependencies (osv-scanner)
low osv/GHSA-phwj-rprq-35pp Gemfile.lock [email protected] (RubyGems) is affected by GHSA-phwj-rprq-35pp Dependencies (osv-scanner)
low osv/GHSA-v995-44v6-5fqm Gemfile.lock [email protected] (RubyGems) is affected by GHSA-v995-44v6-5fqm Dependencies (osv-scanner)
low osv/GHSA-wjv4-x9w8-wm3h Gemfile.lock [email protected] (RubyGems) is affected by GHSA-wjv4-x9w8-wm3h Dependencies (osv-scanner)

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 provenanceskipped—0
Coding styleAI provenanceok—0
Commit velocityAI provenanceokprov-40
Complexity (lizard)Code qualityoklizard 1.25.10
DocumentationCode qualityok—0
Duplication (jscpd)Code qualityokrepotrust-dup-w60
LintCode qualityokopengrep 1.33.1; rules f1d2b562b4140
Tests and CICode qualityok—0
Type safetyCode qualityskipped—0
CI workflows (zizmor)Securityskipped—0
Dependencies (osv-scanner)Securityokosv-scanner version: 2.7.1132
Release downloadsSecurityok—0
Security postureSecurityok—0
Package registriesSecurityskipped—0no registry dependencies declared
Static analysis (opengrep)Securityokopengrep 1.33.1; rules f1d2b562b41412
OpenSSF ScorecardSecurityskipped—0no published OpenSSF Scorecard result for this repo
Secrets (gitleaks)Securityokgitleaks 8.30.10

Score history

Scores from different scoring versions aren't directly comparable.

ScoredCommitScoringAI provenanceQualitySecurity
2026-11-14793f00fad23dprov-5+qual-2+sec-20%6252
2026-11-14793f00fad23dprov-4+qual-2+sec-20%6252

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/maccman/monocle/ai.svg)](https://repotrust.synapticcyber.com/r/github.com/maccman/monocle/)
[![RepoTrust quality](https://repotrust.synapticcyber.com/badge/github.com/maccman/monocle/quality.svg)](https://repotrust.synapticcyber.com/r/github.com/maccman/monocle/)
[![RepoTrust security](https://repotrust.synapticcyber.com/badge/github.com/maccman/monocle/security.svg)](https://repotrust.synapticcyber.com/r/github.com/maccman/monocle/)
Full text report
  • Repository: https://github.com/maccman/monocle
  • Commit: 793f00fad23d3f84cf945f84fceacc4796bf5bf7
  • Generated: 2026-11-14T14:52:06+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) 0 none-detected 44% 100%
Code quality 62 weak 90% 100%
Security 52 weak 85% 100%

AI provenance

No AI attribution or AI-consistent velocity signals detected.

  • Explicitly attributed share (lower bound): 0.0%
  • Unattributed share in AI-consistent velocity bursts: 0.0%
  • Estimated AI-generated share: 0.0%
Month Lines added Attributed to AI
2013-09 3,453 0%
2013-11 92 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 weak: test-to-source ratio 0.00, no CI test run detected; 0% of function code in complex or long functions; 5% duplicated lines. Weakest area: testing.

Area Score
Complexity (lizard) 100
Duplication 73
Code smells (Opengrep) 100
Tests and CI 0
Documentation 65
Type safety n/a
Process (Scorecard review/maintenance) n/a
  • Functions: 156; mean complexity 1.8, 90th percentile 3; 0 complex and 0 long functions
  • Duplicated lines: 5.2% of 1,998 compared
  • Tests: 0 test lines for 3,311 source lines (ratio 0.00); CI test commands: none detected; 0% of recent source commits also change tests
  • Docs missing or thin: contributing, changelog

Security

Security posture is weak: 132 known vulnerabilities in 20 dependencies. Weakest area: posture.

Area Score
Secrets (gitleaks, tree + history) 100
Static analysis (Opengrep) 63
Vulnerable dependencies (OSV) 7
CI workflows (zizmor) n/a
Posture (policy, updates, signing, lockfiles) 0
OpenSSF Scorecard n/a
  • Known vulnerabilities: 132 in 20 packages (critical 7, high 50, medium 39, low 11)

  • Posture checks passed: lockfiles; missing: security policy, dependency updates, signed commits

Top findings

Severity Finding Location
critical osv/GHSA-vx9g-377x-xwxq: [email protected] (RubyGems) is affected by GHSA-vx9g-377x-xwxq Gemfile.lock
critical osv/GHSA-cr5j-953j-xw5p: [email protected] (RubyGems) is affected by GHSA-cr5j-953j-xw5p Gemfile.lock
critical osv/GHSA-fr52-4hqw-p27f: [email protected] (RubyGems) is affected by GHSA-fr52-4hqw-p27f Gemfile.lock
critical osv/GHSA-qxcg-xjjg-66mj: [email protected] (RubyGems) is affected by GHSA-qxcg-xjjg-66mj Gemfile.lock
critical osv/GHSA-pm55-qfxr-h247: [email protected] (RubyGems) is affected by GHSA-pm55-qfxr-h247 Gemfile.lock
critical osv/GHSA-wq4h-7r42-5hrr: [email protected] (RubyGems) is affected by GHSA-wq4h-7r42-5hrr Gemfile.lock
critical osv/GHSA-34r7-q49f-h37c: [email protected] (RubyGems) is affected by GHSA-34r7-q49f-h37c Gemfile.lock
high osv/GHSA-8474-xrp6-wh69: [email protected] (RubyGems) is affected by GHSA-8474-xrp6-wh69 Gemfile.lock
high osv/GHSA-hm5p-x4rq-38w4: [email protected] (RubyGems) is affected by GHSA-hm5p-x4rq-38w4 Gemfile.lock
high osv/GHSA-34hf-g744-jw64: [email protected] (RubyGems) is affected by GHSA-34hf-g744-jw64 Gemfile.lock
high osv/GHSA-jphg-qwrw-7w9g: [email protected] (RubyGems) is affected by GHSA-jphg-qwrw-7w9g Gemfile.lock
high osv/GHSA-c32j-vqhx-rx3x: [email protected] (RubyGems) is affected by GHSA-c32j-vqhx-rx3x Gemfile.lock
high osv/GHSA-242x-7cm6-4w8j: [email protected] (RubyGems) is affected by GHSA-242x-7cm6-4w8j Gemfile.lock
high osv/GHSA-2rr5-8q37-2w7h: [email protected] (RubyGems) is affected by GHSA-2rr5-8q37-2w7h Gemfile.lock
high osv/GHSA-59gp-qqm7-cw4j: [email protected] (RubyGems) is affected by GHSA-59gp-qqm7-cw4j Gemfile.lock
high osv/GHSA-6qvp-r6r3-9p7h: [email protected] (RubyGems) is affected by GHSA-6qvp-r6r3-9p7h Gemfile.lock
high osv/GHSA-7553-jr98-vx47: [email protected] (RubyGems) is affected by GHSA-7553-jr98-vx47 Gemfile.lock
high osv/GHSA-7hp2-xwpj-95jq: [email protected] (RubyGems) is affected by GHSA-7hp2-xwpj-95jq Gemfile.lock
high osv/GHSA-8c56-cpmw-89x7: [email protected] (RubyGems) is affected by GHSA-8c56-cpmw-89x7 Gemfile.lock
high osv/GHSA-c4rq-3m3g-8wgx: [email protected] (RubyGems) is affected by GHSA-c4rq-3m3g-8wgx Gemfile.lock
high osv/GHSA-cf46-6xxh-pc75: [email protected] (RubyGems) is affected by GHSA-cf46-6xxh-pc75 Gemfile.lock
high osv/GHSA-cgx6-hpwq-fhv5: [email protected] (RubyGems) is affected by GHSA-cgx6-hpwq-fhv5 Gemfile.lock
high osv/GHSA-crjr-9rc5-ghw8: [email protected] (RubyGems) is affected by GHSA-crjr-9rc5-ghw8 Gemfile.lock
high osv/GHSA-gx8x-g87m-h5q6: [email protected] (RubyGems) is affected by GHSA-gx8x-g87m-h5q6 Gemfile.lock
high osv/GHSA-jc36-42cf-vqwj: [email protected] (RubyGems) is affected by GHSA-jc36-42cf-vqwj Gemfile.lock

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

  • Source lines: 3,311; test lines: 0
Language Lines
Ruby 2,496
SQL 765
JavaScript 50