RepoTrust

Leaderboard github.com

garin1000/Ars-Magica-Character-Generator

A desktop tool to create Ars Magica RPG characters according to Ars Magica 5e / Definitve Edition

  • View repository ↗
  • Rust
  • ★ 7
  • commit 01bc400a396f
  • scored 2026-11-14
  • scoring prov-5+qual-2+sec-2

AI provenance

97%

explicit

Confidence
95%
Coverage
100%

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

Code quality

87/100

strong

Confidence
90%
Coverage
100%

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

Security

64/100

weak

Confidence
85%
Coverage
100%

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

AI provenance

97% explicit

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

How the score is built

  • Explicitly attributed share97%
  • Unattributed share in AI-pace bursts3%
  • Estimated AI-generated share97%
  • AI tool configuration files3
  • Work sessions at AI pace56
  • Releases at AI pace1
  • Coding-style index (1.0+ means possible)0.03

Attributed AI tools

ToolCommitsLines addedFirst seenLast seen
Claude Code966292,9192026-06-212026-10-08

Lines added per month all AI-attributed share

  1. 2026-0619,269 · 100% AI
  2. 2026-0749,009 · 90% AI
  3. 2026-0867,905 · 95% AI
  4. 2026-09118,886 · 99% AI
  5. 2026-1047,095 · 100% AI

Findings in AI-attributed lines vs the rest

From git blame: 119,613 lines trace to AI-attributed commits, 4,961 to others. Reported, not scored.

Findings per 1,000 linesAI-attributedOtherRatio
Code quality0.020.00—
Security0.540.00—

Evidence by analyzer

Explicit AI attributionok26 items
attributed_commit_share
96.8%
attributed_commits
966
attributed_loc
292,919
attributed_loc_share
96.9%
commits
998
effective_loc
302,164
tools_detected
1
AI tool configurationok3 items
artifacts
3
earliest_adoption
2026-06-21
tools_configured
1
workflow_agents
0
Commit velocityok15 items
excluded_import_loc
25,166
flagged_loc
150,722
flagged_loc_share
54.4%
flagged_units
56
max_loc_per_hour
2,679.72
measured_loc
276,998
median_loc_per_hour
317.48
pr_timed_units
0
pre_ai_era_burst_loc
0
pre_ai_era_bursts
0
pre_ai_era_measured_loc
0
work_units
262
Release velocityok1 item
flagged_releases
1
max_loc_per_day
5,455.80
releases
2
Coding styleok3 items
count:assistant_voice
0
count:emoji_in_code
0
count:narrated_steps
3
count:placeholder
0
files:assistant_voice
0
files:emoji_in_code
0
files:narrated_steps
3
files:placeholder
0
index
0.03
lines_scanned
104,374
per_kloc:assistant_voice
0
per_kloc:emoji_in_code
0
per_kloc:narrated_steps
0.03
per_kloc:placeholder
0
Findings in AI-written linesok
ai_lines
119,613
blame_failures
0
files_blamed
200
other_lines
4,961
quality:ai_findings
2
quality:ai_per_kloc
0.02
quality:other_findings
0
quality:other_per_kloc
0
security:ai_findings
64
security:ai_per_kloc
0.54
security:other_findings
0
security:other_per_kloc
0

Code quality

87 strong

Code quality is strong: test-to-source ratio 0.96, CI runs tests; 8% of function code in complex or long functions; 7% duplicated lines. Weakest area: duplication.

How the score is built

  • Complexity80
  • Duplication65
  • Lint and smells100
  • Tests and CI100
  • Documentation80
  • Type safety97
  • Review processnot measured

Evidence by analyzer

Complexity (lizard)ok10 items
complex_functions
20
function_nloc
60,228
functions
4,270
long_functions
23
many_param_functions
1
mean_ccn
2.02
p90_ccn
4
risky_nloc_share
7.6%
Duplication (jscpd)ok10 items
compared_lines
99,879
duplicated_lines
7,274
duplicated_share
7.3%
files
200
Lintok
category:correctness
2
findings
2
scanned_lines
124,574
weighted_findings
0.50
Tests and CIok4 items
  • CI config: .github/workflows/ci.yml .github/workflows/ci.yml
  • CI config: .github/workflows/release.yml .github/workflows/release.yml
  • CI runs tests (npm run test, go test, cargo test, vitest)
  • CI runs linters (clippy, cargo fmt)
check:ci_present
yes
check:ci_runs_lint
yes
check:ci_runs_tests
yes
check:has_tests
yes
check:test_ratio
yes
check:tests_cochange
yes
ci_files
2
cochange_commits
163
cochange_share
83.4%
source_lines
124,574
test_lines
119,585
test_ratio
0.96
Documentationok3 items
  • README.md README.md
  • LICENSE LICENSE
  • CONTRIBUTING.md CONTRIBUTING.md
check:changelog
no
check:contributing
yes
check:license
yes
check:readme
yes
readme_lines
433
Type safetyok1 item
  • TypeScript strict type checking: ui/tsconfig.json ui/tsconfig.json
check:low_escape_density
yes
check:strict_config
no
escapes
3
escapes_per_kloc
0.22

Security

64 weak

Security posture is weak: 127 known vulnerabilities in 39 dependencies; 2 high-severity workflow issues. Weakest area: posture.

How the score is built

  • Secrets100
  • Static analysis (SAST)96
  • Vulnerable dependencies2
  • CI workflows85
  • Security posture0
  • OpenSSF Scorecardnot measured

Evidence by analyzer

OpenSSF Scorecardskipped

no published OpenSSF Scorecard result for this repo

Package registriesok
checked
31
declared
31
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
64
findings_high
0
findings_low
2
findings_medium
62
parse_errors
12
scanned_lines
124,574
weighted_findings
16
Dependencies (osv-scanner)ok
penalty
241
vulnerabilities
127
vulnerable_packages
39
vulns_critical
3
vulns_high
50
vulns_low
9
vulns_medium
56
vulns_unknown
9
CI workflows (zizmor)ok
findings
5
findings_high
2
findings_low
1
findings_medium
2
penalty
9.60
workflows
2
Security postureok2 items
  • crates/arm-app/Cargo.toml has no lockfile alongside it (unpinned dependencies) crates/arm-app/Cargo.toml
  • crates/arm-rules/Cargo.toml has no lockfile alongside it (unpinned dependencies) crates/arm-rules/Cargo.toml
check:dependency_updates
no
check:lockfiles
no
check:security_policy
no
check:signed_commits
no
signed_commit_share
0.0%
unpinned_manifests
2
Release downloadsok5 items
binary_assets
20
signals
1
suspicious
0

Findings

3 critical52 high129 medium13 low1 info

SeverityRuleLocationMessageTool
critical osv/GHSA-5gmw-xhrv-c9v3 ui/package-lock.json [email protected] (npm) is affected by GHSA-5gmw-xhrv-c9v3 Dependencies (osv-scanner)
critical osv/GHSA-5xrq-8626-4rwp ui/package-lock.json [email protected] (npm) is affected by GHSA-5xrq-8626-4rwp Dependencies (osv-scanner)
critical osv/GHSA-85c8-ppgw-ccpr ui/package-lock.json [email protected] (npm) is affected by GHSA-85c8-ppgw-ccpr Dependencies (osv-scanner)
high zizmor/cache-poisoning .github/workflows/release.yml:57 runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low] CI workflows (zizmor)
high zizmor/cache-poisoning .github/workflows/release.yml:60 runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low] CI workflows (zizmor)
high osv/RUSTSEC-2026-0194 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2026-0194 Dependencies (osv-scanner)
high osv/RUSTSEC-2026-0195 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2026-0195 Dependencies (osv-scanner)
high osv/GHSA-2883-xcg3-v3hh ui/package-lock.json [email protected] (npm) is affected by GHSA-2883-xcg3-v3hh Dependencies (osv-scanner)
high osv/GHSA-28wg-ghj8-5hjv ui/package-lock.json [email protected] (npm) is affected by GHSA-28wg-ghj8-5hjv Dependencies (osv-scanner)
high osv/GHSA-2m5v-pch6-74hx ui/package-lock.json [email protected] (npm) is affected by GHSA-2m5v-pch6-74hx Dependencies (osv-scanner)
high osv/GHSA-2m5v-pch6-74hx ui/package-lock.json [email protected] (npm) is affected by GHSA-2m5v-pch6-74hx Dependencies (osv-scanner)
high osv/GHSA-2v37-7h3g-55p8 ui/package-lock.json [email protected] (npm) is affected by GHSA-2v37-7h3g-55p8 Dependencies (osv-scanner)
high osv/GHSA-3jxr-9vmj-r5cp ui/package-lock.json [email protected] (npm) is affected by GHSA-3jxr-9vmj-r5cp Dependencies (osv-scanner)
high osv/GHSA-3jxr-9vmj-r5cp ui/package-lock.json [email protected] (npm) is affected by GHSA-3jxr-9vmj-r5cp Dependencies (osv-scanner)
high osv/GHSA-3jxr-9vmj-r5cp ui/package-lock.json [email protected] (npm) is affected by GHSA-3jxr-9vmj-r5cp Dependencies (osv-scanner)
high osv/GHSA-4cwx-7wf7-3272 ui/package-lock.json [email protected] (npm) is affected by GHSA-4cwx-7wf7-3272 Dependencies (osv-scanner)
high osv/GHSA-4w7w-5xrc-9h26 ui/package-lock.json [email protected] (npm) is affected by GHSA-4w7w-5xrc-9h26 Dependencies (osv-scanner)
high osv/GHSA-52cp-r559-cp3m ui/package-lock.json [email protected] (npm) is affected by GHSA-52cp-r559-cp3m Dependencies (osv-scanner)
high osv/GHSA-587h-7wmj-h5pm ui/package-lock.json [email protected] (npm) is affected by GHSA-587h-7wmj-h5pm Dependencies (osv-scanner)
high osv/GHSA-587h-7wmj-h5pm ui/package-lock.json [email protected] (npm) is affected by GHSA-587h-7wmj-h5pm Dependencies (osv-scanner)
high osv/GHSA-5c6j-r48x-rmvq ui/package-lock.json [email protected] (npm) is affected by GHSA-5c6j-r48x-rmvq Dependencies (osv-scanner)
high osv/GHSA-5p4m-2wfm-xmqj ui/package-lock.json [email protected] (npm) is affected by GHSA-5p4m-2wfm-xmqj Dependencies (osv-scanner)
high osv/GHSA-68fv-2mgg-jv7q ui/package-lock.json [email protected] (npm) is affected by GHSA-68fv-2mgg-jv7q Dependencies (osv-scanner)
high osv/GHSA-6j4f-fj2g-mc7p ui/package-lock.json [email protected] (npm) is affected by GHSA-6j4f-fj2g-mc7p Dependencies (osv-scanner)
high osv/GHSA-6j4f-fj2g-mc7p ui/package-lock.json [email protected] (npm) is affected by GHSA-6j4f-fj2g-mc7p Dependencies (osv-scanner)
high osv/GHSA-6j4f-fj2g-mc7p ui/package-lock.json [email protected] (npm) is affected by GHSA-6j4f-fj2g-mc7p Dependencies (osv-scanner)
high osv/GHSA-7pqw-9j4j-h8q3 ui/package-lock.json [email protected] (npm) is affected by GHSA-7pqw-9j4j-h8q3 Dependencies (osv-scanner)
high osv/GHSA-834v-8h66-3h79 ui/package-lock.json [email protected] (npm) is affected by GHSA-834v-8h66-3h79 Dependencies (osv-scanner)
high osv/GHSA-8r6m-32jq-jx6q ui/package-lock.json [email protected] (npm) is affected by GHSA-8r6m-32jq-jx6q Dependencies (osv-scanner)
high osv/GHSA-c475-qrg2-pj4r ui/package-lock.json [email protected] (npm) is affected by GHSA-c475-qrg2-pj4r Dependencies (osv-scanner)
high osv/GHSA-c8p4-j97h-3vg8 ui/package-lock.json [email protected] (npm) is affected by GHSA-c8p4-j97h-3vg8 Dependencies (osv-scanner)
high osv/GHSA-ggr8-5vv4-36mx ui/package-lock.json [email protected] (npm) is affected by GHSA-ggr8-5vv4-36mx Dependencies (osv-scanner)
high osv/GHSA-j22f-vq7h-c4qm ui/package-lock.json [email protected] (npm) is affected by GHSA-j22f-vq7h-c4qm Dependencies (osv-scanner)
high osv/GHSA-jmr9-qjv8-65gv ui/package-lock.json [email protected] (npm) is affected by GHSA-jmr9-qjv8-65gv Dependencies (osv-scanner)
high osv/GHSA-mcm9-63f2-9j32 ui/package-lock.json [email protected] (npm) is affected by GHSA-mcm9-63f2-9j32 Dependencies (osv-scanner)
high osv/GHSA-mh99-v99m-4gvg ui/package-lock.json [email protected] (npm) is affected by GHSA-mh99-v99m-4gvg Dependencies (osv-scanner)
high osv/GHSA-mh99-v99m-4gvg ui/package-lock.json [email protected] (npm) is affected by GHSA-mh99-v99m-4gvg Dependencies (osv-scanner)
high osv/GHSA-mh99-v99m-4gvg ui/package-lock.json [email protected] (npm) is affected by GHSA-mh99-v99m-4gvg Dependencies (osv-scanner)
high osv/GHSA-mwp4-54f8-5fhr ui/package-lock.json [email protected] (npm) is affected by GHSA-mwp4-54f8-5fhr Dependencies (osv-scanner)
high osv/GHSA-qhr7-859c-m2p7 ui/package-lock.json [email protected] (npm) is affected by GHSA-qhr7-859c-m2p7 Dependencies (osv-scanner)
high osv/GHSA-qhr7-859c-m2p7 ui/package-lock.json [email protected] (npm) is affected by GHSA-qhr7-859c-m2p7 Dependencies (osv-scanner)
high osv/GHSA-qhr7-859c-m2p7 ui/package-lock.json [email protected] (npm) is affected by GHSA-qhr7-859c-m2p7 Dependencies (osv-scanner)
high osv/GHSA-qrxm-fqhp-jwvm ui/package-lock.json [email protected] (npm) is affected by GHSA-qrxm-fqhp-jwvm Dependencies (osv-scanner)
high osv/GHSA-qrxm-fqhp-jwvm ui/package-lock.json [email protected] (npm) is affected by GHSA-qrxm-fqhp-jwvm Dependencies (osv-scanner)
high osv/GHSA-r28c-9q8g-f849 ui/package-lock.json [email protected] (npm) is affected by GHSA-r28c-9q8g-f849 Dependencies (osv-scanner)
high osv/GHSA-r9w8-h9r3-54w4 ui/package-lock.json [email protected] (npm) is affected by GHSA-r9w8-h9r3-54w4 Dependencies (osv-scanner)
high osv/GHSA-rfgv-xxqx-mfg5 ui/package-lock.json [email protected] (npm) is affected by GHSA-rfgv-xxqx-mfg5 Dependencies (osv-scanner)
high osv/GHSA-rfgv-xxqx-mfg5 ui/package-lock.json [email protected] (npm) is affected by GHSA-rfgv-xxqx-mfg5 Dependencies (osv-scanner)
high osv/GHSA-rgw5-rvv9-x895 ui/package-lock.json [email protected] (npm) is affected by GHSA-rgw5-rvv9-x895 Dependencies (osv-scanner)
high osv/GHSA-rgw5-rvv9-x895 ui/package-lock.json [email protected] (npm) is affected by GHSA-rgw5-rvv9-x895 Dependencies (osv-scanner)
high osv/GHSA-rgw5-rvv9-x895 ui/package-lock.json [email protected] (npm) is affected by GHSA-rgw5-rvv9-x895 Dependencies (osv-scanner)
high osv/GHSA-w293-vg96-wgc3 ui/package-lock.json [email protected] (npm) is affected by GHSA-w293-vg96-wgc3 Dependencies (osv-scanner)
high osv/GHSA-x5rw-q4pp-hg5g ui/package-lock.json [email protected] (npm) is affected by GHSA-x5rw-q4pp-hg5g Dependencies (osv-scanner)
high osv/GHSA-xjj6-f33q-929c ui/package-lock.json [email protected] (npm) is affected by GHSA-xjj6-f33q-929c Dependencies (osv-scanner)
high osv/GHSA-xjj6-f33q-929c ui/package-lock.json [email protected] (npm) is affected by GHSA-xjj6-f33q-929c Dependencies (osv-scanner)
medium zizmor/artipacked .github/workflows/ci.yml:21 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/release.yml:31 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium osv/GHSA-wrw7-89jp-8q8g Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2024-0429, GHSA-wrw7-89jp-8q8g Dependencies (osv-scanner)
medium osv/RUSTSEC-2024-0370 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2024-0370 Dependencies (osv-scanner)
medium osv/RUSTSEC-2025-0075 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2025-0075 Dependencies (osv-scanner)
medium osv/RUSTSEC-2025-0080 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2025-0080 Dependencies (osv-scanner)
medium osv/RUSTSEC-2025-0081 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2025-0081 Dependencies (osv-scanner)
medium osv/RUSTSEC-2025-0098 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2025-0098 Dependencies (osv-scanner)
medium osv/RUSTSEC-2025-0100 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2025-0100 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-0386 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2026-0386 Dependencies (osv-scanner)
medium osv/RUSTSEC-2026-0486 Cargo.lock [email protected] (crates.io) is affected by RUSTSEC-2026-0486 Dependencies (osv-scanner)
medium opengrep/bash.lang.security.ifs-tampering scripts/appimage/wayland-compat-hook.sh:38 The special variable IFS affects how splitting takes place when expanding unquoted variables. Don't set it globally. Prefer a dedicated utility such as 'cut' or 'awk' if you need to split input data. If you must use 'read', set IFS... Static analysis (opengrep)
medium opengrep/bash.lang.security.ifs-tampering scripts/appimage/wayland-compat-hook.sh:45 The special variable IFS affects how splitting takes place when expanding unquoted variables. Don't set it globally. Prefer a dedicated utility such as 'cut' or 'awk' if you need to split input data. If you must use 'read', set IFS... Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/helpers.js:298 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/helpers.js:317 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/helpers.js:435 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/helpers.js:545 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/helpers.js:550 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/helpers.js:550 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/helpers.js:558 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/helpers.js:558 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/helpers.js:562 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/helpers.js:562 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/helpers.js:799 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/helpers.js:85 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/companion-editor.e2e.js:178 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/companion-editor.e2e.js:182 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/companion-editor.e2e.js:427 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/companion-editor.e2e.js:433 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/companion-editor.e2e.js:588 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/d81-features.e2e.js:38 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/grog-wizard-aging.e2e.js:1126 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/grog-wizard-aging.e2e.js:1133 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/grog-wizard-aging.e2e.js:1135 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/grog-wizard-aging.e2e.js:117 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/grog-wizard-aging.e2e.js:125 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/life-stage-childhood.e2e.js:118 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/life-stage-childhood.e2e.js:118 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/life-stage-childhood.e2e.js:132 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/life-stage-childhood.e2e.js:140 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/magus-apprenticeship.e2e.js:142 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/magus-editor.e2e.js:1036 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/magus-editor.e2e.js:208 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/magus-editor.e2e.js:579 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/magus-possessions.e2e.js:1117 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/magus-possessions.e2e.js:437 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/magus-possessions.e2e.js:443 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/magus-possessions.e2e.js:448 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/magus-possessions.e2e.js:471 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/magus-possessions.e2e.js:646 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/magus-possessions.e2e.js:65 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/magus-possessions.e2e.js:652 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/magus-possessions.e2e.js:668 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/magus-possessions.e2e.js:867 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/magus-post-gauntlet.e2e.js:104 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/save-load-fidelity.e2e.js:101 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/save-load-fidelity.e2e.js:202 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/save-load-fidelity.e2e.js:210 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/wizard-flow.e2e.js:555 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/wizard-flow.e2e.js:836 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/specs/wizard-flow.e2e.js:844 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/wizard-walk.js:111 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/wizard-walk.js:126 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/wizard-walk.js:131 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/wizard-walk.js:131 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/wizard-walk.js:136 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/wizard-walk.js:136 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/wizard-walk.js:140 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/wizard-walk.js:140 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.lang.security.audit.unsafe-dynamic-method ui/e2e/wizard-walk.js:311 Using non-static data to retrieve and run functions from the object is dangerous. If the data is user-controlled, it may allow executing arbitrary code. [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/wizard-walk.js:323 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/wizard-walk.js:88 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector ui/e2e/wizard-walk.js:93 User controlled data in a `$(...)` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] Static analysis (opengrep)
medium osv/GHSA-22jq-vg5j-6vgg ui/package-lock.json [email protected] (npm) is affected by GHSA-22jq-vg5j-6vgg Dependencies (osv-scanner)
medium osv/GHSA-2jfj-6hjv-fm6j ui/package-lock.json [email protected] (npm) is affected by GHSA-2jfj-6hjv-fm6j Dependencies (osv-scanner)
medium osv/GHSA-2vr4-cq9g-pvrc ui/package-lock.json [email protected] (npm) is affected by GHSA-2vr4-cq9g-pvrc Dependencies (osv-scanner)
medium osv/GHSA-3g3m-2fjr-6pw4 ui/package-lock.json [email protected] (npm) is affected by GHSA-3g3m-2fjr-6pw4 Dependencies (osv-scanner)
medium osv/GHSA-3wwx-pv8p-q78v ui/package-lock.json [email protected] (npm) is affected by GHSA-3wwx-pv8p-q78v Dependencies (osv-scanner)
medium osv/GHSA-3wwx-pv8p-q78v ui/package-lock.json [email protected] (npm) is affected by GHSA-3wwx-pv8p-q78v Dependencies (osv-scanner)
medium osv/GHSA-3xpg-4rpp-hhhm ui/package-lock.json [email protected] (npm) is affected by GHSA-3xpg-4rpp-hhhm Dependencies (osv-scanner)
medium osv/GHSA-4q55-j62x-fr9h ui/package-lock.json [email protected] (npm) is affected by GHSA-4q55-j62x-fr9h Dependencies (osv-scanner)
medium osv/GHSA-4qv8-2p9j-2685 ui/package-lock.json [email protected] (npm) is affected by GHSA-4qv8-2p9j-2685 Dependencies (osv-scanner)
medium osv/GHSA-4qv8-2p9j-2685 ui/package-lock.json [email protected] (npm) is affected by GHSA-4qv8-2p9j-2685 Dependencies (osv-scanner)
medium osv/GHSA-4w7w-66w2-5vf9 ui/package-lock.json [email protected] (npm) is affected by GHSA-4w7w-66w2-5vf9 Dependencies (osv-scanner)
medium osv/GHSA-4xrf-jv44-h6hh ui/package-lock.json [email protected] (npm) is affected by GHSA-4xrf-jv44-h6hh Dependencies (osv-scanner)
medium osv/GHSA-55wc-3pg8-jfw6 ui/package-lock.json [email protected] (npm) is affected by GHSA-55wc-3pg8-jfw6 Dependencies (osv-scanner)
medium osv/GHSA-5fpq-26gf-qwcr ui/package-lock.json [email protected] (npm) is affected by GHSA-5fpq-26gf-qwcr Dependencies (osv-scanner)
medium osv/GHSA-5pm8-86m8-9m6r ui/package-lock.json [email protected] (npm) is affected by GHSA-5pm8-86m8-9m6r Dependencies (osv-scanner)
medium osv/GHSA-67mh-4wv8-2f99 ui/package-lock.json [email protected] (npm) is affected by GHSA-67mh-4wv8-2f99 Dependencies (osv-scanner)
medium osv/GHSA-698v-4r3x-3vcv ui/package-lock.json [email protected] (npm) is affected by GHSA-698v-4r3x-3vcv Dependencies (osv-scanner)
medium osv/GHSA-698v-4r3x-3vcv ui/package-lock.json [email protected] (npm) is affected by GHSA-698v-4r3x-3vcv Dependencies (osv-scanner)
medium osv/GHSA-82fw-gwwq-j7x9 ui/package-lock.json @vitest/[email protected] (npm) is affected by GHSA-82fw-gwwq-j7x9 Dependencies (osv-scanner)
medium osv/GHSA-82fw-gwwq-j7x9 ui/package-lock.json [email protected] (npm) is affected by GHSA-82fw-gwwq-j7x9 Dependencies (osv-scanner)
medium osv/GHSA-8xcm-r25x-g524 ui/package-lock.json [email protected] (npm) is affected by GHSA-8xcm-r25x-g524 Dependencies (osv-scanner)
medium osv/GHSA-8xcm-r25x-g524 ui/package-lock.json [email protected] (npm) is affected by GHSA-8xcm-r25x-g524 Dependencies (osv-scanner)
medium osv/GHSA-9fm3-97px-rjf6 ui/package-lock.json [email protected] (npm) is affected by GHSA-9fm3-97px-rjf6 Dependencies (osv-scanner)
medium osv/GHSA-9fm3-97px-rjf6 ui/package-lock.json [email protected] (npm) is affected by GHSA-9fm3-97px-rjf6 Dependencies (osv-scanner)
medium osv/GHSA-9rgm-9g3h-6x36 ui/package-lock.json [email protected] (npm) is affected by GHSA-9rgm-9g3h-6x36 Dependencies (osv-scanner)
medium osv/GHSA-f72v-6w45-q472 ui/package-lock.json [email protected] (npm) is affected by GHSA-f72v-6w45-q472 Dependencies (osv-scanner)
medium osv/GHSA-fx2h-pf6j-xcff ui/package-lock.json [email protected] (npm) is affected by GHSA-fx2h-pf6j-xcff Dependencies (osv-scanner)
medium osv/GHSA-fxqj-rqcc-2cmp ui/package-lock.json [email protected] (npm) is affected by GHSA-fxqj-rqcc-2cmp Dependencies (osv-scanner)
medium osv/GHSA-g3hv-75wg-m249 ui/package-lock.json [email protected] (npm) is affected by GHSA-g3hv-75wg-m249 Dependencies (osv-scanner)
medium osv/GHSA-g3hv-75wg-m249 ui/package-lock.json [email protected] (npm) is affected by GHSA-g3hv-75wg-m249 Dependencies (osv-scanner)
medium osv/GHSA-gcqx-w48m-w2h4 ui/package-lock.json [email protected] (npm) is affected by GHSA-gcqx-w48m-w2h4 Dependencies (osv-scanner)
medium osv/GHSA-h3mg-xc3c-68pw ui/package-lock.json [email protected] (npm) is affected by GHSA-h3mg-xc3c-68pw Dependencies (osv-scanner)
medium osv/GHSA-hx4r-w6wj-j8fg ui/package-lock.json [email protected] (npm) is affected by GHSA-hx4r-w6wj-j8fg Dependencies (osv-scanner)
medium osv/GHSA-j6r3-76f7-8jcv ui/package-lock.json [email protected] (npm) is affected by GHSA-j6r3-76f7-8jcv Dependencies (osv-scanner)
medium osv/GHSA-jr45-8vmc-qm54 ui/package-lock.json [email protected] (npm) is affected by GHSA-jr45-8vmc-qm54 Dependencies (osv-scanner)
medium osv/GHSA-m8rv-5g2x-5cg5 ui/package-lock.json [email protected] (npm) is affected by GHSA-m8rv-5g2x-5cg5 Dependencies (osv-scanner)
medium osv/GHSA-m8rv-5g2x-5cg5 ui/package-lock.json [email protected] (npm) is affected by GHSA-m8rv-5g2x-5cg5 Dependencies (osv-scanner)
medium osv/GHSA-pmjh-fq2x-6v4x ui/package-lock.json [email protected] (npm) is affected by GHSA-pmjh-fq2x-6v4x Dependencies (osv-scanner)
medium osv/GHSA-q2hr-2g5m-vwhr ui/package-lock.json [email protected] (npm) is affected by GHSA-q2hr-2g5m-vwhr Dependencies (osv-scanner)
medium osv/GHSA-q2hr-2g5m-vwhr ui/package-lock.json [email protected] (npm) is affected by GHSA-q2hr-2g5m-vwhr Dependencies (osv-scanner)
medium osv/GHSA-q2hr-2g5m-vwhr ui/package-lock.json [email protected] (npm) is affected by GHSA-q2hr-2g5m-vwhr Dependencies (osv-scanner)
medium osv/GHSA-qj8w-gfj5-8c6v ui/package-lock.json [email protected] (npm) is affected by GHSA-qj8w-gfj5-8c6v Dependencies (osv-scanner)
medium osv/GHSA-qxg6-89mg-rqv8 ui/package-lock.json @vitest/[email protected] (npm) is affected by GHSA-qxg6-89mg-rqv8 Dependencies (osv-scanner)
medium osv/GHSA-r4jh-29pc-gfqr ui/package-lock.json [email protected] (npm) is affected by GHSA-r4jh-29pc-gfqr Dependencies (osv-scanner)
medium osv/GHSA-r825-w8mm-5pxw ui/package-lock.json [email protected] (npm) is affected by GHSA-r825-w8mm-5pxw Dependencies (osv-scanner)
medium osv/GHSA-r825-w8mm-5pxw ui/package-lock.json [email protected] (npm) is affected by GHSA-r825-w8mm-5pxw Dependencies (osv-scanner)
medium osv/GHSA-rj75-hqrm-r3gf ui/package-lock.json [email protected] (npm) is affected by GHSA-rj75-hqrm-r3gf Dependencies (osv-scanner)
medium osv/GHSA-rpw4-54j3-4h4q ui/package-lock.json [email protected] (npm) is affected by GHSA-rpw4-54j3-4h4q Dependencies (osv-scanner)
medium osv/GHSA-rq7h-c2jc-7f22 ui/package-lock.json [email protected] (npm) is affected by GHSA-rq7h-c2jc-7f22 Dependencies (osv-scanner)
medium osv/GHSA-rq7h-c2jc-7f22 ui/package-lock.json [email protected] (npm) is affected by GHSA-rq7h-c2jc-7f22 Dependencies (osv-scanner)
medium osv/GHSA-rx4f-c7p8-82vq ui/package-lock.json [email protected] (npm) is affected by GHSA-rx4f-c7p8-82vq Dependencies (osv-scanner)
medium osv/GHSA-rxp7-6hxx-x8q5 ui/package-lock.json [email protected] (npm) is affected by GHSA-rxp7-6hxx-x8q5 Dependencies (osv-scanner)
medium osv/GHSA-v3r7-h72x-cjcm ui/package-lock.json [email protected] (npm) is affected by GHSA-v3r7-h72x-cjcm Dependencies (osv-scanner)
medium osv/GHSA-v3r7-h72x-cjcm ui/package-lock.json [email protected] (npm) is affected by GHSA-v3r7-h72x-cjcm Dependencies (osv-scanner)
medium osv/GHSA-v6wh-96g9-6wx3 ui/package-lock.json [email protected] (npm) is affected by GHSA-v6wh-96g9-6wx3 Dependencies (osv-scanner)
low opengrep/javascript.lang.correctness.missing-template-string-indicator ui/e2e/portable/portable-rules.e2e.js:202 This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'? Lint
low opengrep/javascript.lang.correctness.missing-template-string-indicator ui/e2e/portable/portable-rules.e2e.js:202 This looks like a JavaScript template string. Are you missing a '$' in front of '{...}'? Lint
low opengrep/rust.lang.security.current-exe crates/arm-app/src/commands.rs:294 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.current-exe crates/arm-app/src/commands.rs:526 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 osv/GHSA-2gqq-gqf2-x968 ui/package-lock.json [email protected] (npm) is affected by GHSA-2gqq-gqf2-x968 Dependencies (osv-scanner)
low osv/GHSA-474x-hrwr-fgx4 ui/package-lock.json [email protected] (npm) is affected by GHSA-474x-hrwr-fgx4 Dependencies (osv-scanner)
low osv/GHSA-8436-99hf-9mmv ui/package-lock.json [email protected] (npm) is affected by GHSA-8436-99hf-9mmv Dependencies (osv-scanner)
low osv/GHSA-9jrq-w75r-8gcw ui/package-lock.json [email protected] (npm) is affected by GHSA-9jrq-w75r-8gcw Dependencies (osv-scanner)
low osv/GHSA-9jrq-w75r-8gcw ui/package-lock.json [email protected] (npm) is affected by GHSA-9jrq-w75r-8gcw Dependencies (osv-scanner)
low osv/GHSA-m5mm-p8h7-m29v ui/package-lock.json [email protected] (npm) is affected by GHSA-m5mm-p8h7-m29v Dependencies (osv-scanner)
low osv/GHSA-r53p-7pc4-xj5r ui/package-lock.json [email protected] (npm) is affected by GHSA-r53p-7pc4-xj5r Dependencies (osv-scanner)
low osv/GHSA-r53p-7pc4-xj5r ui/package-lock.json [email protected] (npm) is affected by GHSA-r53p-7pc4-xj5r Dependencies (osv-scanner)
low osv/GHSA-wf3x-273g-mvxv ui/package-lock.json [email protected] (npm) is affected by GHSA-wf3x-273g-mvxv Dependencies (osv-scanner)
info zizmor/superfluous-actions .github/workflows/release.yml:132 action functionality is already included by the runner [confidence high] 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 f1d2b562b4142
Tests and CICode qualityok—0
Type safetyCode qualityok—0
CI workflows (zizmor)Securityokzizmor 1.32.05
Dependencies (osv-scanner)Securityokosv-scanner version: 2.7.1127
Release downloadsSecurityok—0
Security postureSecurityok—0
Package registriesSecurityok—0
Static analysis (opengrep)Securityokopengrep 1.33.1; rules f1d2b562b41464
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-1401bc400a396fprov-5+qual-2+sec-297%8764
2026-11-1401bc400a396fprov-4+qual-2+sec-297%8764

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

Scores

Pillar Score Signal Confidence Coverage
AI provenance (estimated AI-generated share) 97 explicit 95% 100%
Code quality 87 strong 90% 100%
Security 64 weak 85% 100%

AI provenance

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

  • Explicitly attributed share (lower bound): 96.9%
  • Unattributed share in AI-consistent velocity bursts: 2.7%
  • Estimated AI-generated share: 96.9%
AI tool Attributed commits Lines added
Claude Code 966 292,919
  • AI tooling configured in repo: claude-code

Current source lines last changed by AI-attributed commits: 119,613 of 124,574.

Findings per 1,000 lines AI-attributed Other Ratio
Quality 0.017 0.0 n/a
Security 0.535 0.0 n/a
  • Stylometry index: 0.03 per 1,000 lines (narrated steps 3, placeholders 0, assistant phrasing 0, emoji 0). Reported as a signal, not scored.
Month Lines added Attributed to AI
2026-06 19,269 100%
2026-07 49,009 90%
2026-08 67,905 95%
2026-09 118,886 99%
2026-10 47,095 100%

Evidence

  • Claude Code: trailer 'Co-Authored-By: Claude' (01bc400a396f)
  • Claude Code: trailer 'Co-Authored-By: Claude' (f68d725d2100)
  • Claude Code: trailer 'Co-Authored-By: Claude' (15f517e4afcb)
  • Claude Code: trailer 'Co-Authored-By: Claude' (067ad30afd20)
  • Claude Code: trailer 'Co-Authored-By: Claude' (e38d7c61e4c2)
  • Claude Code: trailer 'Co-Authored-By: Claude' (6614d1545fb3)
  • Claude Code: trailer 'Co-Authored-By: Claude' (7989baf12092)
  • Claude Code: trailer 'Co-Authored-By: Claude' (6ca83db3b93c)
  • Claude Code: trailer 'Co-Authored-By: Claude' (1416008494ea)
  • Claude Code: trailer 'Co-Authored-By: Claude' (d661ec9474f7)
  • Claude Code: trailer 'Co-Authored-By: Claude' (e952d60468a2)
  • Claude Code: trailer 'Co-Authored-By: Claude' (4612b235cf03)
  • Claude Code: trailer 'Co-Authored-By: Claude' (c65e4dc1afab)
  • Claude Code: trailer 'Co-Authored-By: Claude' (1f2029e56351)
  • Claude Code: trailer 'Co-Authored-By: Claude' (9ba90c586ceb)

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 strong: test-to-source ratio 0.96, CI runs tests; 8% of function code in complex or long functions; 7% duplicated lines. Weakest area: duplication.

Area Score
Complexity (lizard) 80
Duplication 65
Code smells (Opengrep) 100
Tests and CI 100
Documentation 80
Type safety 97
Process (Scorecard review/maintenance) n/a
  • Functions: 4,270; mean complexity 2.0, 90th percentile 4; 20 complex and 23 long functions
  • Duplicated lines: 7.3% of 99,879 compared
  • Tests: 119,585 test lines for 124,574 source lines (ratio 0.96); CI test commands: npm run test, go test, cargo test, vitest; 83% of recent source commits also change tests
  • Docs missing or thin: changelog

Most complex functions:

Security

Security posture is weak: 127 known vulnerabilities in 39 dependencies; 2 high-severity workflow issues. Weakest area: posture.

Area Score
Secrets (gitleaks, tree + history) 100
Static analysis (Opengrep) 96
Vulnerable dependencies (OSV) 2
CI workflows (zizmor) 85
Posture (policy, updates, signing, lockfiles) 0
OpenSSF Scorecard n/a
  • Known vulnerabilities: 127 in 39 packages (critical 3, high 50, medium 56, low 9)

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

Top findings

Severity Finding Location
critical osv/GHSA-5gmw-xhrv-c9v3: [email protected] (npm) is affected by GHSA-5gmw-xhrv-c9v3 ui/package-lock.json
critical osv/GHSA-85c8-ppgw-ccpr: [email protected] (npm) is affected by GHSA-85c8-ppgw-ccpr ui/package-lock.json
critical osv/GHSA-5xrq-8626-4rwp: [email protected] (npm) is affected by GHSA-5xrq-8626-4rwp ui/package-lock.json
high osv/RUSTSEC-2026-0194: [email protected] (crates.io) is affected by RUSTSEC-2026-0194 Cargo.lock
high osv/RUSTSEC-2026-0195: [email protected] (crates.io) is affected by RUSTSEC-2026-0195 Cargo.lock
high osv/GHSA-c475-qrg2-pj4r: [email protected] (npm) is affected by GHSA-c475-qrg2-pj4r ui/package-lock.json
high osv/GHSA-3jxr-9vmj-r5cp: [email protected] (npm) is affected by GHSA-3jxr-9vmj-r5cp ui/package-lock.json
high osv/GHSA-6j4f-fj2g-mc7p: [email protected] (npm) is affected by GHSA-6j4f-fj2g-mc7p ui/package-lock.json
high osv/GHSA-mh99-v99m-4gvg: [email protected] (npm) is affected by GHSA-mh99-v99m-4gvg ui/package-lock.json
high osv/GHSA-qhr7-859c-m2p7: [email protected] (npm) is affected by GHSA-qhr7-859c-m2p7 ui/package-lock.json
high osv/GHSA-rgw5-rvv9-x895: [email protected] (npm) is affected by GHSA-rgw5-rvv9-x895 ui/package-lock.json
high osv/GHSA-3jxr-9vmj-r5cp: [email protected] (npm) is affected by GHSA-3jxr-9vmj-r5cp ui/package-lock.json
high osv/GHSA-6j4f-fj2g-mc7p: [email protected] (npm) is affected by GHSA-6j4f-fj2g-mc7p ui/package-lock.json
high osv/GHSA-mh99-v99m-4gvg: [email protected] (npm) is affected by GHSA-mh99-v99m-4gvg ui/package-lock.json
high osv/GHSA-qhr7-859c-m2p7: [email protected] (npm) is affected by GHSA-qhr7-859c-m2p7 ui/package-lock.json
high osv/GHSA-rgw5-rvv9-x895: [email protected] (npm) is affected by GHSA-rgw5-rvv9-x895 ui/package-lock.json
high osv/GHSA-3jxr-9vmj-r5cp: [email protected] (npm) is affected by GHSA-3jxr-9vmj-r5cp ui/package-lock.json
high osv/GHSA-6j4f-fj2g-mc7p: [email protected] (npm) is affected by GHSA-6j4f-fj2g-mc7p ui/package-lock.json
high osv/GHSA-mh99-v99m-4gvg: [email protected] (npm) is affected by GHSA-mh99-v99m-4gvg ui/package-lock.json
high osv/GHSA-qhr7-859c-m2p7: [email protected] (npm) is affected by GHSA-qhr7-859c-m2p7 ui/package-lock.json
high osv/GHSA-rgw5-rvv9-x895: [email protected] (npm) is affected by GHSA-rgw5-rvv9-x895 ui/package-lock.json
high osv/GHSA-ggr8-5vv4-36mx: [email protected] (npm) is affected by GHSA-ggr8-5vv4-36mx ui/package-lock.json
high osv/GHSA-j22f-vq7h-c4qm: [email protected] (npm) is affected by GHSA-j22f-vq7h-c4qm ui/package-lock.json
high osv/GHSA-mcm9-63f2-9j32: [email protected] (npm) is affected by GHSA-mcm9-63f2-9j32 ui/package-lock.json
high osv/GHSA-r9w8-h9r3-54w4: [email protected] (npm) is affected by GHSA-r9w8-h9r3-54w4 ui/package-lock.json

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: 124,574; test lines: 119,585
Language Lines
Rust 159,551
TypeScript 58,006
JavaScript 13,236
Svelte 12,020
Shell 700
Python 646