RepoTrust

Leaderboard github.com

spr-networks/bitchat-plugin

Vibe Coded Bitchat Plugin for Linux using bluer #rust #linux #bitchat #bluetooth #mesh

  • View repository ↗
  • Rust
  • ★ 20
  • commit 9e366c497fc8
  • scored 2026-11-13
  • scoring prov-4+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

55/100

weak

Confidence
90%
Coverage
100%

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

Security

74/100

adequate

Confidence
85%
Coverage
100%

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

Scores

Pillar Score Signal Confidence Coverage
AI provenance (estimated AI-generated share) 0 none-detected 44% 100%
Code quality 55 weak 90% 100%
Security 74 adequate 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%

  • Stylometry index: 1.32 per 1,000 lines (narrated steps 1, placeholders 0, assistant phrasing 0, emoji 22). Reported as a signal, not scored.

Month Lines added Attributed to AI
2025-08 9,826 0%

Evidence

  • step-by-step narration comment: // First, try to parse as a packet to check message type (src/mesh/blu)

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

Area Score
Complexity (lizard) 30
Duplication 73
Code smells (Opengrep) 100
Tests and CI 34
Documentation 65
Type safety n/a
Process (Scorecard review/maintenance) n/a
  • Functions: 291; mean complexity 4.5, 90th percentile 7; 13 complex and 5 long functions
  • Duplicated lines: 5.2% of 6,277 compared
  • Tests: 715 test lines for 9,067 source lines (ratio 0.08); CI test commands: none detected; 33% of recent source commits also change tests
  • Docs missing or thin: contributing, changelog

Most complex functions:

Security

Security posture is adequate: 11 known vulnerabilities in 10 dependencies; 1 high-severity SAST findings. Weakest area: posture.

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

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

Top findings

Severity Finding Location
high opengrep/dockerfile.security.missing-user: By not specifying a USER, a program in the container may run as 'root'. This is a security hazard. If an attacker can control a process running as root, they may have control over the container. Ensure that the last USER in a Dockerfile is a USER other than 'root'. [confidence medium] Dockerfile:51
high osv/GHSA-vvp9-7p8x-rfvv: lz4_flex@0.11.5 (crates.io) is affected by RUSTSEC-2026-0041, GHSA-vvp9-7p8x-rfvv Cargo.lock
medium osv/RUSTSEC-2026-0190: anyhow@1.0.98 (crates.io) is affected by RUSTSEC-2026-0190 Cargo.lock
medium osv/GHSA-434x-w66g-qw3r: bytes@1.10.1 (crates.io) is affected by RUSTSEC-2026-0007, GHSA-434x-w66g-qw3r Cargo.lock
medium osv/RUSTSEC-2026-0253: lru@0.12.5 (crates.io) is affected by RUSTSEC-2026-0253 Cargo.lock
medium osv/RUSTSEC-2024-0436: paste@1.0.15 (crates.io) is affected by RUSTSEC-2024-0436 Cargo.lock
medium osv/RUSTSEC-2026-0441: pin-utils@0.1.0 (crates.io) is affected by RUSTSEC-2026-0441 Cargo.lock
medium osv/GHSA-cq8v-f236-94qc: rand@0.8.5 (crates.io) is affected by RUSTSEC-2026-0097, GHSA-cq8v-f236-94qc Cargo.lock
medium osv/GHSA-qx2v-8332-m4fv: slab@0.4.10 (crates.io) is affected by RUSTSEC-2025-0047, GHSA-qx2v-8332-m4fv Cargo.lock
medium osv/GHSA-r6v5-fh4h-64xc: time@0.3.41 (crates.io) is affected by RUSTSEC-2026-0009, GHSA-r6v5-fh4h-64xc Cargo.lock
medium osv/RUSTSEC-2026-0386: tokio@1.46.1 (crates.io) is affected by RUSTSEC-2026-0386 Cargo.lock
low gitleaks/generic-api-key: Possible generic-api-key secret in history (commit 51cdd4c005); removed from the current tree but still retrievable bitchat-data/state.json:4
low opengrep/rust.lang.security.unsafe-usage: Detected 'unsafe' usage, please audit for secure usage [confidence high] src/tui/tui_logger.rs:106
low osv/GHSA-rhfx-m35p-ff5j: lru@0.12.5 (crates.io) is affected by RUSTSEC-2026-0002, GHSA-rhfx-m35p-ff5j 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

  • Source lines: 9,067; test lines: 715
Language Lines
Rust 9,782

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