RepoTrust

Leaderboard github.com

MathiasDevelopes/otpuac

Gate Windows UAC prompts behind OTP

  • View repository ↗
  • Rust
  • ★ 0
  • commit b1a44f36e1b3
  • scored 2026-11-14
  • scoring prov-5+qual-2+sec-2

AI provenance

16%

explicit

Confidence
77%
Coverage
100%

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

Code quality

75/100

adequate

Confidence
90%
Coverage
100%

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

Security

62/100

weak

Confidence
85%
Coverage
100%

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

AI provenance

16% explicit

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

How the score is built

  • Explicitly attributed share16%
  • Unattributed share in AI-pace bursts18%
  • Estimated AI-generated share16%
  • AI tool configuration files1
  • Work sessions at AI pace1
  • Releases at AI pace0
  • Coding-style index (1.0+ means possible)0.00

Attributed AI tools

ToolCommitsLines addedFirst seenLast seen
Claude Code111,5212026-10-022026-10-03

Lines added per month all AI-attributed share

  1. 2026-067,911 · 0% AI
  2. 2026-101,521 · 100% AI

Findings in AI-attributed lines vs the rest

From git blame: 1,098 lines trace to AI-attributed commits, 1,829 to others. Reported, not scored.

Findings per 1,000 linesAI-attributedOtherRatio
Code quality0.000.00—
Security10.937.651.43×

Evidence by analyzer

Explicit AI attributionok12 items
attributed_commit_share
39.3%
attributed_commits
11
attributed_loc
1,521
attributed_loc_share
16.1%
commits
28
effective_loc
9,432
tools_detected
1
AI tool configurationok1 item
artifacts
1
earliest_adoption
2026-06-23
tools_configured
1
workflow_agents
0
Commit velocityok1 item
excluded_import_loc
5,262
flagged_loc
1,721
flagged_loc_share
41.3%
flagged_units
1
max_loc_per_hour
1,589.84
measured_loc
4,170
median_loc_per_hour
304
pr_timed_units
10
pre_ai_era_burst_loc
0
pre_ai_era_bursts
0
pre_ai_era_measured_loc
0
work_units
15
Release velocityok
flagged_releases
0
max_loc_per_day
443.70
releases
1
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
2,927
per_kloc:assistant_voice
0
per_kloc:emoji_in_code
0
per_kloc:narrated_steps
0
per_kloc:placeholder
0
Findings in AI-written linesok
ai_lines
1,098
blame_failures
0
files_blamed
29
other_lines
1,829
quality:ai_findings
0
quality:ai_per_kloc
0
quality:other_findings
0
quality:other_per_kloc
0
security:ai_findings
12
security:ai_per_kloc
10.93
security:other_findings
14
security:other_per_kloc
7.65
security:ratio
1.43

Code quality

75 adequate

Code quality is adequate: test-to-source ratio 0.00, CI runs tests; 0% of function code in complex or long functions; 2% duplicated lines. Weakest area: testing.

How the score is built

  • Complexity100
  • Duplication90
  • Lint and smells100
  • Tests and CI35
  • Documentation65
  • Type safetynot measured
  • Review processnot measured

Evidence by analyzer

Complexity (lizard)ok
complex_functions
0
function_nloc
1,842
functions
166
long_functions
0
many_param_functions
0
mean_ccn
2.34
p90_ccn
5
risky_nloc_share
0.0%
Duplication (jscpd)ok2 items
compared_lines
1,963
duplicated_lines
36
duplicated_share
1.8%
files
29
Lintok
findings
0
scanned_lines
2,741
weighted_findings
0
Tests and CIok3 items
  • CI config: .github/workflows/release.yml .github/workflows/release.yml
  • CI config: .github/workflows/rust.yml .github/workflows/rust.yml
  • CI runs tests (go test, cargo test)
check:ci_present
yes
check:ci_runs_lint
no
check:ci_runs_tests
yes
check:has_tests
no
check:test_ratio
no
check:tests_cochange
no
ci_files
2
cochange_commits
20
cochange_share
0.0%
source_lines
2,927
test_lines
0
test_ratio
0
Documentationok2 items
  • README.md README.md
  • LICENSE LICENSE
check:changelog
no
check:contributing
no
check:license
yes
check:readme
yes
readme_lines
49
Type safetyskipped

Security

62 weak

Security posture is weak: 1 known vulnerabilities in 1 dependencies; 12 high-severity workflow issues. Weakest area: ci actions.

How the score is built

  • Secrets100
  • Static analysis (SAST)44
  • Vulnerable dependencies95
  • CI workflows9
  • Security posture20
  • OpenSSF Scorecardnot measured

Evidence by analyzer

OpenSSF Scorecardskipped

no published OpenSSF Scorecard result for this repo

Package registriesok
checked
11
declared
11
lookup_errors
0
missing
0
recent
0
Secrets (gitleaks)ok
secrets_current
0
secrets_history
0
secrets_low_confidence
0
secrets_nonprod
0
Static analysis (opengrep)ok
findings
26
findings_high
0
findings_low
26
findings_medium
0
parse_errors
0
scanned_lines
2,741
weighted_findings
6.50
Dependencies (osv-scanner)ok
penalty
3
vulnerabilities
1
vulnerable_packages
1
vulns_critical
0
vulns_high
0
vulns_low
0
vulns_medium
0
vulns_unknown
1
CI workflows (zizmor)ok
findings
21
findings_high
12
findings_low
6
findings_medium
3
penalty
143.70
workflows
2
Security postureok3 items
  • crates/otpuac-core/Cargo.toml has no lockfile alongside it (unpinned dependencies) crates/otpuac-core/Cargo.toml
  • crates/otpuac-provider/Cargo.toml has no lockfile alongside it (unpinned dependencies) crates/otpuac-provider/Cargo.toml
  • crates/otpuac-setup/Cargo.toml has no lockfile alongside it (unpinned dependencies) crates/otpuac-setup/Cargo.toml
check:dependency_updates
no
check:lockfiles
no
check:security_policy
no
check:signed_commits
yes
signed_commit_share
50.0%
unpinned_manifests
3
Release downloadsok4 items
binary_assets
4
signals
1
suspicious
0

Findings

12 high4 medium29 low3 info

SeverityRuleLocationMessageTool
high zizmor/unpinned-uses .github/workflows/release.yml:100 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/template-injection .github/workflows/release.yml:115 code injection via template expansion [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/release.yml:29 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/template-injection .github/workflows/release.yml:36 code injection via template expansion [confidence high] CI workflows (zizmor)
high zizmor/template-injection .github/workflows/release.yml:38 code injection via template expansion [confidence high] CI workflows (zizmor)
high zizmor/cache-poisoning .github/workflows/release.yml:53 runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/release.yml:53 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/rust.yml:18 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/rust.yml:20 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/rust.yml:43 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/rust.yml:45 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/rust.yml:65 unpinned action reference [confidence high] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/rust.yml:1 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/rust.yml:13 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/rust.yml:34 overly broad permissions [confidence medium] CI workflows (zizmor)
medium osv/RUSTSEC-2026-0385 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2026-0385 Dependencies (osv-scanner)
low zizmor/artipacked .github/workflows/release.yml:28 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
low zizmor/artipacked .github/workflows/rust.yml:18 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
low zizmor/artipacked .github/workflows/rust.yml:43 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
low opengrep/rust.lang.security.temp-dir crates/otpuac-core/src/vault.rs:189 temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary... Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-core/src/win.rs:105 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-core/src/win.rs:42 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-core/src/win.rs:54 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-core/src/win.rs:63 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-core/src/win.rs:65 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-core/src/win.rs:71 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-core/src/win.rs:85 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-core/src/win.rs:91 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.temp-dir crates/otpuac-setup/src/install.rs:158 temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary... Static analysis (opengrep)
low opengrep/rust.lang.security.current-exe crates/otpuac-setup/src/main.rs:73 current_exe should not be used for security operations. From the docs: "The output of this function should not be trusted for anything that might have security implications. Basically, if users can run the executable, they can change... Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-setup/src/platform/windows.rs:18 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-setup/src/platform/windows/account.rs:114 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-setup/src/platform/windows/account.rs:129 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-setup/src/platform/windows/account.rs:144 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-setup/src/platform/windows/account.rs:155 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-setup/src/platform/windows/account.rs:162 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-setup/src/platform/windows/account.rs:30 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-setup/src/platform/windows/account.rs:61 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-setup/src/platform/windows/account.rs:88 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-setup/src/platform/windows/registry.rs:16 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-setup/src/platform/windows/registry.rs:26 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-setup/src/platform/windows/registry.rs:47 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-setup/src/platform/windows/registry.rs:50 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-setup/src/platform/windows/security.rs:19 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
low opengrep/rust.lang.security.unsafe-usage crates/otpuac-setup/src/platform/windows/security.rs:31 Detected 'unsafe' usage, please audit for secure usage [confidence high] Static analysis (opengrep)
info zizmor/template-injection .github/workflows/release.yml:116 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/release.yml:73 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/release.yml:78 code injection via template expansion [confidence low] CI workflows (zizmor)

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-40
Coding styleAI provenanceok—0
Commit velocityAI provenanceokprov-40
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 f1d2b562b4140
Tests and CICode qualityok—0
Type safetyCode qualityskipped—0
CI workflows (zizmor)Securityokzizmor 1.32.021
Dependencies (osv-scanner)Securityokosv-scanner version: 2.7.11
Release downloadsSecurityok—0
Security postureSecurityok—0
Package registriesSecurityok—0
Static analysis (opengrep)Securityokopengrep 1.33.1; rules f1d2b562b41426
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-14b1a44f36e1b3prov-5+qual-2+sec-216%7562
2026-11-14b1a44f36e1b3prov-4+qual-2+sec-216%7562

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

Scores

Pillar Score Signal Confidence Coverage
AI provenance (estimated AI-generated share) 16 explicit 77% 100%
Code quality 75 adequate 90% 100%
Security 62 weak 85% 100%

AI provenance

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

  • Explicitly attributed share (lower bound): 16.1%
  • Unattributed share in AI-consistent velocity bursts: 18.2%
  • Estimated AI-generated share: 16.1%
AI tool Attributed commits Lines added
Claude Code 11 1,521
  • AI tooling configured in repo: generic-agent

Current source lines last changed by AI-attributed commits: 1,098 of 2,927.

Findings per 1,000 lines AI-attributed Other Ratio
Quality 0.0 0.0 n/a
Security 10.929 7.654 1.43x
Month Lines added Attributed to AI
2026-06 7,911 0%
2026-10 1,521 100%

Evidence

  • Claude Code: trailer 'Co-Authored-By: Claude' (b1a44f36e1b3)
  • Claude Code: trailer 'Co-Authored-By: Claude' (9d7fa0c5b9cd)
  • Claude Code: trailer 'Co-authored-by: Claude' (ba8ba1fa0f5d)
  • Claude Code: trailer 'Co-authored-by: Claude' (e074e384d285)
  • Claude Code: trailer 'Co-authored-by: Claude' (f837b58cfb9c)
  • Claude Code: trailer 'Co-authored-by: Claude' (6853d53201bd)
  • Claude Code: trailer 'Co-authored-by: Claude' (46c4ce988904)
  • Claude Code: trailer 'Co-authored-by: Claude' (1099ecf4b996)
  • Claude Code: trailer 'Co-authored-by: Claude' (3b1ee7fa66d9)
  • Claude Code: trailer 'Co-authored-by: Claude' (e93cec473c86)
  • Claude Code: trailer 'Co-authored-by: Claude' (6a25c76cc78e)
  • AGENTS.md (generic-agent configuration) (AGENTS.md)
  • 1,721 lines of first-party code in ~1.1h (1,590 lines/hour, 1 commit session) (50b2ec2d6ba4)

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, CI runs tests; 0% of function code in complex or long functions; 2% duplicated lines. Weakest area: testing.

Area Score
Complexity (lizard) 100
Duplication 90
Code smells (Opengrep) 100
Tests and CI 35
Documentation 65
Type safety n/a
Process (Scorecard review/maintenance) n/a
  • Functions: 166; mean complexity 2.3, 90th percentile 5; 0 complex and 0 long functions
  • Duplicated lines: 1.8% of 1,963 compared
  • Tests: 0 test lines for 2,927 source lines (ratio 0.00); CI test commands: go test, cargo test; 0% of recent source commits also change tests
  • Docs missing or thin: contributing, changelog

Security

Security posture is weak: 1 known vulnerabilities in 1 dependencies; 12 high-severity workflow issues. Weakest area: ci actions.

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

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

Top findings

Severity Finding Location
high zizmor/template-injection: code injection via template expansion [confidence high] .github/workflows/release.yml:36
high zizmor/template-injection: code injection via template expansion [confidence high] .github/workflows/release.yml:38
high zizmor/template-injection: code injection via template expansion [confidence high] .github/workflows/release.yml:115
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/release.yml:29
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/release.yml:53
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/release.yml:100
high zizmor/cache-poisoning: runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low] .github/workflows/release.yml:53
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/rust.yml:18
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/rust.yml:20
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/rust.yml:43
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/rust.yml:45
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/rust.yml:65
medium osv/RUSTSEC-2026-0385: [email protected] (crates.io) is affected by RUSTSEC-2026-0385 Cargo.lock
medium zizmor/excessive-permissions: overly broad permissions [confidence medium] .github/workflows/rust.yml:1
medium zizmor/excessive-permissions: overly broad permissions [confidence medium] .github/workflows/rust.yml:13
medium zizmor/excessive-permissions: overly broad permissions [confidence medium] .github/workflows/rust.yml:34
low opengrep/rust.lang.security.temp-dir: temp_dir should not be used for security operations. From the docs: 'The temporary directory may be shared among users, or between processes with different privileges; thus, the creation of any files or directories in the temporary directory must use a secure method to create a uniquely named file. [confidence high] crates/otpuac-core/src/vault.rs:189
low opengrep/rust.lang.security.unsafe-usage: Detected 'unsafe' usage, please audit for secure usage [confidence high] crates/otpuac-core/src/win.rs:42
low opengrep/rust.lang.security.unsafe-usage: Detected 'unsafe' usage, please audit for secure usage [confidence high] crates/otpuac-core/src/win.rs:54
low opengrep/rust.lang.security.unsafe-usage: Detected 'unsafe' usage, please audit for secure usage [confidence high] crates/otpuac-core/src/win.rs:63
low opengrep/rust.lang.security.unsafe-usage: Detected 'unsafe' usage, please audit for secure usage [confidence high] crates/otpuac-core/src/win.rs:65
low opengrep/rust.lang.security.unsafe-usage: Detected 'unsafe' usage, please audit for secure usage [confidence high] crates/otpuac-core/src/win.rs:71
low opengrep/rust.lang.security.unsafe-usage: Detected 'unsafe' usage, please audit for secure usage [confidence high] crates/otpuac-core/src/win.rs:85
low opengrep/rust.lang.security.unsafe-usage: Detected 'unsafe' usage, please audit for secure usage [confidence high] crates/otpuac-core/src/win.rs:91
low opengrep/rust.lang.security.unsafe-usage: Detected 'unsafe' usage, please audit for secure usage [confidence high] crates/otpuac-core/src/win.rs:105

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: 2,927; test lines: 0
Language Lines
Rust 2,741
PowerShell 186