RepoTrust

rayhatfield/mac-media-keys

macOS menu bar app to forward media keys to a specific application

https://github.com/rayhatfield/mac-media-keys · commit 3a6d73e2a1ef · 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) 88 explicit 83% 100%
Code quality 65 adequate 90% 100%
Security 81 adequate 85% 100%

AI provenance

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

AI tool Attributed commits Lines added
Claude Code 26 2,624

Current source lines last changed by AI-attributed commits: 2,325 of 2,649.

Too few lines in one group to compare finding densities.

Month Lines added Attributed to AI
2026-02 1,142 100%
2026-05 178 33%
2026-06 526 54%
2026-07 1,079 100%
2026-08 38 100%
2026-09 22 100%

Evidence

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.00, no CI test run detected; 7% of function code in complex or long functions; 1% duplicated lines. Weakest area: testing.

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

Most complex functions:

Security

Security posture is adequate: 1 high-severity workflow issues. Weakest area: posture.

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

Top findings

Severity Finding Location
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/update-homebrew-cask.yml:48
medium zizmor/artipacked: credential persistence through GitHub Actions artifacts [confidence low] .github/workflows/update-homebrew-cask.yml:47
medium zizmor/excessive-permissions: overly broad permissions [confidence medium] .github/workflows/update-homebrew-cask.yml:14
info zizmor/template-injection: code injection via template expansion [confidence low] .github/workflows/update-homebrew-cask.yml:44
info zizmor/template-injection: code injection via template expansion [confidence low] .github/workflows/update-homebrew-cask.yml:57
info zizmor/template-injection: code injection via template expansion [confidence low] .github/workflows/update-homebrew-cask.yml:58
info zizmor/template-injection: code injection via template expansion [confidence low] .github/workflows/update-homebrew-cask.yml:70

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

Language Lines
Swift 2,493
Shell 136
JavaScript 20

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