RepoTrust

benedictbrady/prop-amm

https://github.com/benedictbrady/prop-amm · commit 47dd714c50c5 · scored 2026-11-13 · scoring prov-4+qual-2+sec-2

unreviewed-ai-risk

RepoTrust ai badge RepoTrust quality badge RepoTrust security badge

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

Scores

Unreviewed AI code risk: a large share of this code is explicitly AI-attributed, and its tests or review process are weak while quality or security scores are low.

Pillar Score Signal Confidence Coverage
AI provenance (estimated AI-generated share) 100 explicit 70% 100%
Code quality 58 weak 90% 100%
Security 62 weak 85% 100%

AI provenance

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

AI tool Attributed commits Lines added
Claude Code 1 4,474

Current source lines last changed by AI-attributed commits: 4,196 of 4,196.

Too few lines in one group to compare finding densities.

Month Lines added Attributed to AI
2026-01 4,474 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 weak: test-to-source ratio 0.07, no CI test run detected; 23% of function code in complex or long functions; 8% duplicated lines. Weakest area: testing.

Area Score
Complexity (lizard) 50
Duplication 63
Code smells (Opengrep) 100
Tests and CI 33
Documentation 40
Type safety 100
Process (Scorecard review/maintenance) n/a

Most complex functions:

Security

Security posture is weak: 37 known vulnerabilities in 28 dependencies. Weakest area: posture.

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

Top findings

Severity Finding Location
high osv/GHSA-82j2-j2ch-gfr8: [email protected] (crates.io) is affected by RUSTSEC-2026-0104, GHSA-82j2-j2ch-gfr8 Cargo.lock
high osv/GHSA-3gc7-fjrx-p6mg: [email protected] (npm) is affected by GHSA-3gc7-fjrx-p6mg client/package-lock.json
high osv/GHSA-w5hq-g745-h8pq: [email protected] (npm) is affected by GHSA-w5hq-g745-h8pq client/package-lock.json
high osv/GHSA-96hv-2xvq-fx4p: [email protected] (npm) is affected by GHSA-96hv-2xvq-fx4p client/package-lock.json
high osv/GHSA-96hv-2xvq-fx4p: [email protected] (npm) is affected by GHSA-96hv-2xvq-fx4p client/package-lock.json
medium osv/GHSA-g98v-hv3f-hcfr: [email protected] (crates.io) is affected by RUSTSEC-2021-0145, GHSA-g98v-hv3f-hcfr Cargo.lock
medium osv/RUSTSEC-2024-0375: [email protected] (crates.io) is affected by RUSTSEC-2024-0375 Cargo.lock
medium osv/RUSTSEC-2025-0141: [email protected] (crates.io) is affected by RUSTSEC-2025-0141 Cargo.lock
medium osv/GHSA-fjx5-qpf4-xjf2: [email protected] (crates.io) is affected by GHSA-fjx5-qpf4-xjf2 Cargo.lock
medium osv/GHSA-434x-w66g-qw3r: [email protected] (crates.io) is affected by RUSTSEC-2026-0007, GHSA-434x-w66g-qw3r Cargo.lock
medium osv/RUSTSEC-2024-0388: [email protected] (crates.io) is affected by RUSTSEC-2024-0388 Cargo.lock
medium osv/GHSA-w5vr-6qhr-36cc: [email protected] (crates.io) is affected by RUSTSEC-2022-0093, GHSA-w5vr-6qhr-36cc Cargo.lock
medium osv/RUSTSEC-2026-0258: [email protected] (crates.io) is affected by RUSTSEC-2026-0258 Cargo.lock
medium osv/RUSTSEC-2025-0161: [email protected] (crates.io) is affected by RUSTSEC-2025-0161 Cargo.lock
medium osv/RUSTSEC-2026-0186: [email protected] (crates.io) is affected by RUSTSEC-2026-0186 Cargo.lock
medium osv/RUSTSEC-2024-0436: [email protected] (crates.io) is affected by RUSTSEC-2024-0436 Cargo.lock
medium osv/RUSTSEC-2026-0441: [email protected] (crates.io) is affected by RUSTSEC-2026-0441 Cargo.lock
medium osv/GHSA-cq8v-f236-94qc: [email protected] (crates.io) is affected by RUSTSEC-2026-0097, GHSA-cq8v-f236-94qc Cargo.lock
medium osv/GHSA-cq8v-f236-94qc: [email protected] (crates.io) is affected by RUSTSEC-2026-0097, GHSA-cq8v-f236-94qc Cargo.lock
medium osv/GHSA-c8m5-c952-6cm4: [email protected] (crates.io) is affected by RUSTSEC-2026-0346, GHSA-c8m5-c952-6cm4 Cargo.lock
medium osv/RUSTSEC-2025-0134: [email protected] (crates.io) is affected by RUSTSEC-2025-0134 Cargo.lock
medium osv/RUSTSEC-2026-0382: [email protected] (crates.io) is affected by RUSTSEC-2026-0382 Cargo.lock
medium osv/GHSA-7gcf-g7xr-8hxj: [email protected] (crates.io) is affected by GHSA-7gcf-g7xr-8hxj Cargo.lock
medium osv/RUSTSEC-2026-0191: [email protected] (crates.io) is affected by RUSTSEC-2026-0191 Cargo.lock
medium osv/RUSTSEC-2026-0386: [email protected] (crates.io) is affected by RUSTSEC-2026-0386 Cargo.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

Language Lines
Rust 3,376
TypeScript 1,098

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