RepoTrust

ajay-sainy/GemOfGemma

On-device AI assistant powered by Gemma 4. Chat, see, and control your phone — entirely offline. Vibe coded with GitHub Copilot.

https://github.com/ajay-sainy/GemOfGemma · commit e1c006e63797 · 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 43% 100%
Code quality 53 weak 90% 100%
Security 63 weak 85% 100%

AI provenance

No AI attribution or AI-consistent velocity signals detected.

Month Lines added Attributed to AI
2026-04 9,870 0%
2026-05 265 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; 15% of function code in complex or long functions; 13% duplicated lines. Weakest area: testing.

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

Most complex functions:

Security

Security posture is weak: 15 high-severity workflow issues. Weakest area: posture.

Area Score
Secrets (gitleaks, tree + history) 94
Static analysis (Opengrep) 100
Vulnerable dependencies (OSV) n/a
CI workflows (zizmor) 5
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/release.yml:18
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/release.yml:21
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/release.yml:27
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/release.yml:123
high zizmor/cache-poisoning: runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low] .github/workflows/release.yml:27
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/squad-heartbeat.yml:32
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/squad-heartbeat.yml:55
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/squad-heartbeat.yml:107
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/squad-issue-assign.yml:17
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/squad-issue-assign.yml:20
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/squad-issue-assign.yml:119
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/squad-triage.yml:16
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/squad-triage.yml:19
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/sync-squad-labels.yml:18
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/sync-squad-labels.yml:21
medium zizmor/artipacked: credential persistence through GitHub Actions artifacts [confidence low] .github/workflows/release.yml:17
medium zizmor/artipacked: credential persistence through GitHub Actions artifacts [confidence low] .github/workflows/squad-heartbeat.yml:32
medium zizmor/artipacked: credential persistence through GitHub Actions artifacts [confidence low] .github/workflows/squad-issue-assign.yml:17
medium zizmor/artipacked: credential persistence through GitHub Actions artifacts [confidence low] .github/workflows/squad-triage.yml:16
medium zizmor/artipacked: credential persistence through GitHub Actions artifacts [confidence low] .github/workflows/sync-squad-labels.yml:18
low gitleaks/private-key: Possible private-key secret in the current tree (test/docs/example file) .squad/templates/skills/secret-handling/SKILL.md:48
low gitleaks/private-key: Possible private-key secret in the current tree (test/docs/example file) .copilot/skills/secret-handling/SKILL.md:48
info zizmor/superfluous-actions: action functionality is already included by the runner [confidence high] .github/workflows/release.yml:123

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
Kotlin 9,117
JavaScript 543
PowerShell 222
Shell 208

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