RepoTrust

Leaderboard github.com

jantzent/crabpack

A fast, portable tool (with Python bindings) for packaging virtual environments for distribution. Rust implementation of venv-pack that can be used both via CLI and as a Python module.

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

AI provenance

100%

explicit

Confidence
75%
Coverage
100%

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

Code quality

74/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

100% explicit

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

How the score is built

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

Attributed AI tools

ToolCommitsLines addedFirst seenLast seen
OpenAI Codex182,2532025-09-232025-10-28

Lines added per month all AI-attributed share

  1. 2025-091,967 · 100% AI
  2. 2025-10286 · 100% AI

Findings in AI-attributed lines vs the rest

From git blame: 2,152 lines trace to AI-attributed commits, 0 to others. Too few lines in one group for a fair comparison. Reported, not scored.

Findings per 1,000 linesAI-attributedOtherRatio
Code quality0.47——
Security0.00——

Evidence by analyzer

Explicit AI attributionok19 items
attributed_commit_share
94.7%
attributed_commits
18
attributed_loc
2,253
attributed_loc_share
100.0%
commits
19
effective_loc
2,253
tools_detected
1
AI tool configurationok
artifacts
0
tools_configured
0
workflow_agents
0
Commit velocityok
excluded_import_loc
0
flagged_loc
0
flagged_loc_share
0.0%
flagged_units
0
max_loc_per_hour
369.25
measured_loc
2,253
median_loc_per_hour
55.66
pr_timed_units
0
pre_ai_era_burst_loc
0
pre_ai_era_bursts
0
pre_ai_era_measured_loc
0
work_units
8
Release velocityok
flagged_releases
0
max_loc_per_day
3.80
releases
3
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,152
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
2,152
blame_failures
0
files_blamed
9
other_lines
0
quality:ai_findings
1
quality:ai_per_kloc
0.47
quality:other_findings
0
security:ai_findings
0
security:ai_per_kloc
0
security:other_findings
0

Code quality

74 adequate

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

How the score is built

  • Complexity72
  • Duplication100
  • Lint and smells71
  • Tests and CI74
  • Documentation65
  • Type safety40
  • Review processnot measured

Evidence by analyzer

Complexity (lizard)ok2 items
complex_functions
1
function_nloc
1,582
functions
110
long_functions
1
many_param_functions
1
mean_ccn
3.62
p90_ccn
10
risky_nloc_share
11.2%
Duplication (jscpd)ok
compared_lines
1,499
duplicated_lines
0
duplicated_share
0.0%
files
9
Lintok
category:best-practice
1
findings
1
scanned_lines
2,152
weighted_findings
3
Tests and CIok6 items
  • CI config: .github/workflows/auto-release.yml .github/workflows/auto-release.yml
  • CI config: .github/workflows/python-ci.yml .github/workflows/python-ci.yml
  • CI config: .github/workflows/release.yml .github/workflows/release.yml
  • CI config: .github/workflows/rust-ci.yml .github/workflows/rust-ci.yml
  • CI runs tests (pytest, go test, cargo test)
  • CI runs linters (clippy, rustfmt, cargo fmt)
check:ci_present
yes
check:ci_runs_lint
yes
check:ci_runs_tests
yes
check:has_tests
yes
check:test_ratio
no
check:tests_cochange
no
ci_files
4
cochange_commits
11
cochange_share
18.2%
source_lines
2,152
test_lines
57
test_ratio
0.03
Documentationok2 items
  • README.md README.md
  • LICENSE LICENSE
check:changelog
no
check:contributing
no
check:license
yes
check:readme
yes
readme_lines
88
Type safetyok
check:low_escape_density
yes
check:strict_config
no
escapes
0
escapes_per_kloc
0

Security

62 weak

Security posture is weak: 15 known vulnerabilities in 6 dependencies; 14 high-severity workflow issues. Weakest area: posture.

How the score is built

  • Secrets100
  • Static analysis (SAST)100
  • Vulnerable dependencies51
  • CI workflows4
  • Security posture0
  • OpenSSF Scorecardnot measured

Evidence by analyzer

OpenSSF Scorecardskipped

no published OpenSSF Scorecard result for this repo

Package registriesok
checked
20
declared
20
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
0
findings_high
0
findings_low
0
findings_medium
0
parse_errors
0
scanned_lines
2,152
weighted_findings
0
Dependencies (osv-scanner)ok
penalty
40
vulnerabilities
15
vulnerable_packages
6
vulns_critical
2
vulns_high
4
vulns_low
1
vulns_medium
3
vulns_unknown
5
CI workflows (zizmor)ok
findings
28
findings_high
14
findings_low
4
findings_medium
10
penalty
186
workflows
4
Security postureok
check:dependency_updates
no
check:lockfiles
yes
check:security_policy
no
check:signed_commits
no
signed_commit_share
5.3%
unpinned_manifests
0
Release downloadsok
binary_assets
0
signals
0
suspicious
0

Findings

2 critical19 high18 medium1 low4 info

SeverityRuleLocationMessageTool
critical osv/GHSA-m665-v7pm-7grj Cargo.lock [email protected] (crates.io) is affected by GHSA-m665-v7pm-7grj Dependencies (osv-scanner)
critical osv/RUSTSEC-2026-0369 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2026-0369 Dependencies (osv-scanner)
high opengrep/python.lang.best-practice.arbitrary-sleep python/crabpack/progress.py:109 time.sleep() call; did you mean to leave this in? Lint
high zizmor/unpinned-uses .github/workflows/auto-release.yml:17 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/python-ci.yml:20 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/python-ci.yml:22 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/release.yml:29 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/release.yml:31 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/release.yml:38 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/release.yml:48 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/release.yml:50 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/release.yml:58 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/release.yml:74 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/release.yml:80 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/release.yml:85 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/rust-ci.yml:17 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/rust-ci.yml:19 unpinned action reference [confidence high] CI workflows (zizmor)
high osv/GHSA-36hh-v3qg-5jq4 Cargo.lock [email protected] (crates.io) is affected by GHSA-36hh-v3qg-5jq4 Dependencies (osv-scanner)
high osv/GHSA-gchp-q4r4-x4ff Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2026-0068, GHSA-gchp-q4r4-x4ff Dependencies (osv-scanner)
high osv/RUSTSEC-2026-0367 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2026-0367 Dependencies (osv-scanner)
high osv/RUSTSEC-2026-0429 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2026-0429 Dependencies (osv-scanner)
medium zizmor/artipacked .github/workflows/auto-release.yml:16 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/python-ci.yml:19 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/python-ci.yml:9 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/release.yml:1 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/release.yml:28 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/release.yml:43 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/release.yml:47 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/release.yml:8 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/rust-ci.yml:16 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/rust-ci.yml:9 overly broad permissions [confidence medium] CI workflows (zizmor)
medium osv/GHSA-3pv8-6f4r-ffg2 Cargo.lock [email protected] (crates.io) is affected by GHSA-3pv8-6f4r-ffg2 Dependencies (osv-scanner)
medium osv/GHSA-8hxf-qr8p-62x4 Cargo.lock [email protected] (crates.io) is affected by GHSA-8hxf-qr8p-62x4 Dependencies (osv-scanner)
medium osv/GHSA-chgr-c6px-7xpp Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2026-0177, GHSA-chgr-c6px-7xpp Dependencies (osv-scanner)
medium osv/GHSA-j4xf-2g29-59ph Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2026-0067, GHSA-j4xf-2g29-59ph Dependencies (osv-scanner)
medium osv/RUSTSEC-2025-0119 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2025-0119 Dependencies (osv-scanner)
medium osv/RUSTSEC-2026-0190 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2026-0190 Dependencies (osv-scanner)
medium osv/RUSTSEC-2026-0368 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2026-0368 Dependencies (osv-scanner)
medium osv/RUSTSEC-2026-0486 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2026-0486 Dependencies (osv-scanner)
low osv/GHSA-pph8-gcv7-4qj5 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2025-0020, GHSA-pph8-gcv7-4qj5 Dependencies (osv-scanner)
info zizmor/template-injection .github/workflows/auto-release.yml:71 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/auto-release.yml:73 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/auto-release.yml:73 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/auto-release.yml:82 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 f1d2b562b4141
Tests and CICode qualityok—0
Type safetyCode qualityok—0
CI workflows (zizmor)Securityokzizmor 1.32.028
Dependencies (osv-scanner)Securityokosv-scanner version: 2.7.115
Release downloadsSecurityok—0
Security postureSecurityok—0
Package registriesSecurityok—0
Static analysis (opengrep)Securityokopengrep 1.33.1; rules f1d2b562b4140
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-14816093e21f98prov-5+qual-2+sec-2100%7462
2026-11-14816093e21f98prov-4+qual-2+sec-2100%7462

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/jantzent/crabpack/ai.svg)](https://repotrust.synapticcyber.com/r/github.com/jantzent/crabpack/)
[![RepoTrust quality](https://repotrust.synapticcyber.com/badge/github.com/jantzent/crabpack/quality.svg)](https://repotrust.synapticcyber.com/r/github.com/jantzent/crabpack/)
[![RepoTrust security](https://repotrust.synapticcyber.com/badge/github.com/jantzent/crabpack/security.svg)](https://repotrust.synapticcyber.com/r/github.com/jantzent/crabpack/)
Full text report
  • Repository: https://github.com/jantzent/crabpack
  • Commit: 816093e21f989dae01d9ef2e975e4b74ad90751e
  • Generated: 2026-11-14T14:52:05+00:00
  • Scorer 0.1.0, scoring prov-5+qual-2+sec-2, report schema v2

Scores

Pillar Score Signal Confidence Coverage
AI provenance (estimated AI-generated share) 100 explicit 75% 100%
Code quality 74 adequate 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.

  • Explicitly attributed share (lower bound): 100.0%
  • Unattributed share in AI-consistent velocity bursts: 0.0%
  • Estimated AI-generated share: 100.0%
AI tool Attributed commits Lines added
OpenAI Codex 18 2,253

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

Too few lines in one group to compare finding densities.

Month Lines added Attributed to AI
2025-09 1,967 100%
2025-10 286 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.03, CI runs tests; 11% of function code in complex or long functions; 0% duplicated lines. Weakest area: type safety.

Area Score
Complexity (lizard) 72
Duplication 100
Code smells (Opengrep) 71
Tests and CI 74
Documentation 65
Type safety 40
Process (Scorecard review/maintenance) n/a
  • Functions: 110; mean complexity 3.6, 90th percentile 10; 1 complex and 1 long functions
  • Duplicated lines: 0.0% of 1,499 compared
  • Tests: 57 test lines for 2,152 source lines (ratio 0.03); CI test commands: pytest, go test, cargo test; 18% of recent source commits also change tests
  • Docs missing or thin: contributing, changelog

Most complex functions:

Security

Security posture is weak: 15 known vulnerabilities in 6 dependencies; 14 high-severity workflow issues. Weakest area: posture.

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

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

Top findings

Severity Finding Location
critical osv/RUSTSEC-2026-0369: [email protected] (crates.io) is affected by RUSTSEC-2026-0369 Cargo.lock
critical osv/GHSA-m665-v7pm-7grj: [email protected] (crates.io) is affected by GHSA-m665-v7pm-7grj Cargo.lock
high osv/GHSA-36hh-v3qg-5jq4: [email protected] (crates.io) is affected by GHSA-36hh-v3qg-5jq4 Cargo.lock
high osv/GHSA-gchp-q4r4-x4ff: [email protected] (crates.io) is affected by RUSTSEC-2026-0068, GHSA-gchp-q4r4-x4ff Cargo.lock
high osv/RUSTSEC-2026-0367: [email protected] (crates.io) is affected by RUSTSEC-2026-0367 Cargo.lock
high osv/RUSTSEC-2026-0429: [email protected] (crates.io) is affected by RUSTSEC-2026-0429 Cargo.lock
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/auto-release.yml:17
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/python-ci.yml:20
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/python-ci.yml:22
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:31
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/release.yml:38
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/release.yml:48
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/release.yml:50
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/release.yml:58
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/release.yml:74
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/release.yml:80
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/release.yml:85
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/rust-ci.yml:17
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/rust-ci.yml:19
medium osv/RUSTSEC-2026-0190: [email protected] (crates.io) is affected by RUSTSEC-2026-0190 Cargo.lock
medium osv/RUSTSEC-2025-0119: [email protected] (crates.io) is affected by RUSTSEC-2025-0119 Cargo.lock
medium osv/GHSA-chgr-c6px-7xpp: [email protected] (crates.io) is affected by RUSTSEC-2026-0177, GHSA-chgr-c6px-7xpp Cargo.lock
medium osv/RUSTSEC-2026-0486: [email protected] (crates.io) is affected by RUSTSEC-2026-0486 Cargo.lock
medium osv/GHSA-j4xf-2g29-59ph: [email protected] (crates.io) is affected by RUSTSEC-2026-0067, GHSA-j4xf-2g29-59ph 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: 2,152; test lines: 57
Language Lines
Rust 1,996
Python 213