RepoTrust

Leaderboard github.com

BeyondDimension/SteamTools

🛠「Watt Toolkit」是一个开源跨平台的多功能 Steam 工具箱。

  • View repository ↗
  • C#
  • ★ 27,569
  • commit fc6f13d01cfe
  • scored 2026-11-14
  • scoring prov-5+qual-2+sec-2

AI provenance

2%

explicit

Confidence
95%
Coverage
100%

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

Code quality

62/100

weak

Confidence
90%
Coverage
100%

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

Security

60/100

weak

Confidence
85%
Coverage
100%

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

AI provenance

2% explicit

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

How the score is built

  • Explicitly attributed share2%
  • Unattributed share in AI-pace bursts12%
  • Estimated AI-generated share2%
  • AI tool configuration files1
  • Work sessions at AI pace25
  • Releases at AI pace0
  • Coding-style index (1.0+ means possible)0.11

Attributed AI tools

ToolCommitsLines addedFirst seenLast seen
GitHub Copilot coding agent4512,8392026-03-112026-11-05
OpenAI Codex2872026-06-252026-11-06

Lines added per month all AI-attributed share

  1. 2020-0949,863 · 0% AI
  2. 2020-1111,821 · 0% AI
  3. 2020-1216,157 · 0% AI
  4. 2021-0152,953 · 0% AI
  5. 2021-0259,689 · 0% AI
  6. 2021-0366,971 · 0% AI
  7. 2021-04125,150 · 0% AI
  8. 2021-0520,443 · 0% AI
  9. 2021-0621,842 · 0% AI
  10. 2021-0715,254 · 0% AI
  11. 2021-0814,241 · 0% AI
  12. 2021-095,756 · 0% AI
  13. 2021-1021,486 · 0% AI
  14. 2021-1128,388 · 0% AI
  15. 2021-1210,541 · 0% AI
  16. 2022-014,355 · 0% AI
  17. 2022-024,027 · 0% AI
  18. 2022-034,954 · 0% AI
  19. 2022-047,895 · 0% AI
  20. 2022-0552,474 · 0% AI
  21. 2022-0613,861 · 0% AI
  22. 2022-078,652 · 0% AI
  23. 2022-084,353 · 0% AI
  24. 2022-0916 · 0% AI
  25. 2022-1064 · 0% AI
  26. 2022-11239 · 0% AI
  27. 2022-122,645 · 0% AI
  28. 2023-01439 · 0% AI
  29. 2023-0249,300 · 0% AI
  30. 2023-036,280 · 0% AI
  31. 2023-041,634 · 0% AI
  32. 2023-0516,429 · 0% AI
  33. 2023-0614,582 · 0% AI
  34. 2023-0733,978 · 0% AI
  35. 2023-0814,220 · 0% AI
  36. 2023-099,832 · 0% AI
  37. 2023-10263 · 0% AI
  38. 2023-114,945 · 0% AI
  39. 2023-121,331 · 0% AI
  40. 2024-0187 · 0% AI
  41. 2024-025,161 · 0% AI
  42. 2024-031,102 · 0% AI
  43. 2024-041,872 · 0% AI
  44. 2024-0547 · 0% AI
  45. 2024-061,104 · 0% AI
  46. 2024-072,636 · 0% AI
  47. 2024-084,584 · 0% AI
  48. 2024-091,060 · 0% AI
  49. 2024-1052 · 0% AI
  50. 2024-11459 · 0% AI
  51. 2024-1250 · 0% AI
  52. 2025-01206 · 0% AI
  53. 2025-028 · 0% AI
  54. 2025-03254 · 0% AI
  55. 2025-051 · 0% AI
  56. 2026-01383 · 0% AI
  57. 2026-02392 · 0% AI
  58. 2026-03648 · 0% AI
  59. 2026-0685 · 100% AI
  60. 2026-07152 · 100% AI
  61. 2026-08476 · 100% AI
  62. 2026-1011,706 · 100% AI
  63. 2026-116,227 · 8% AI

Findings in AI-attributed lines vs the rest

From git blame: 9,366 lines trace to AI-attributed commits, 109,771 to others. Reported, not scored.

Findings per 1,000 linesAI-attributedOtherRatio
Code quality0.000.100.00×
Security0.000.020.00×

Evidence by analyzer

Explicit AI attributionok27 items
attributed_commit_share
1.0%
attributed_commits
47
attributed_loc
12,926
attributed_loc_share
1.6%
commits
4,901
effective_loc
816,075
tools_detected
2
AI tool configurationok1 item
artifacts
1
earliest_adoption
2026-10-28
tools_configured
1
workflow_agents
0
Commit velocityok15 items
excluded_import_loc
208,274
flagged_loc
104,443
flagged_loc_share
17.3%
flagged_units
25
max_loc_per_hour
13,047.47
measured_loc
604,877
median_loc_per_hour
62.65
pr_timed_units
9
pre_ai_era_burst_loc
166,619
pre_ai_era_bursts
16
pre_ai_era_measured_loc
269,836
work_units
2,806
Release velocityok
flagged_releases
0
max_loc_per_day
3,982.80
releases
73
Coding styleok5 items
count:assistant_voice
0
count:emoji_in_code
14
count:narrated_steps
5
count:placeholder
0
files:assistant_voice
0
files:emoji_in_code
11
files:narrated_steps
2
files:placeholder
0
index
0.11
lines_scanned
105,453
per_kloc:assistant_voice
0
per_kloc:emoji_in_code
0.13
per_kloc:narrated_steps
0.05
per_kloc:placeholder
0
Findings in AI-written linesok
ai_lines
9,366
blame_failures
0
files_blamed
980
other_lines
109,771
quality:ai_findings
0
quality:ai_per_kloc
0
quality:other_findings
11
quality:other_per_kloc
0.10
quality:ratio
0
security:ai_findings
0
security:ai_per_kloc
0
security:other_findings
2
security:other_per_kloc
0.02
security:ratio
0

Code quality

62 weak

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

How the score is built

  • Complexity63
  • Duplication69
  • Lint and smells99
  • Tests and CI35
  • Documentation65
  • Type safetynot measured
  • Review processnot measured

Evidence by analyzer

Complexity (lizard)ok10 items
complex_functions
70
function_nloc
50,165
functions
3,527
long_functions
27
many_param_functions
10
mean_ccn
3.23
p90_ccn
7
risky_nloc_share
15.6%
Duplication (jscpd)ok10 items
compared_lines
76,508
duplicated_lines
4,656
duplicated_share
6.1%
files
980
Lintok
category:best-practice
11
findings
11
scanned_lines
118,735
weighted_findings
2.75
Tests and CIok5 items
  • CI config: .github/workflows/dotnet.yml .github/workflows/dotnet.yml
  • CI config: .github/workflows/publish.yml .github/workflows/publish.yml
  • CI config: .github/workflows/sync-gitee.yml .github/workflows/sync-gitee.yml
  • CI config: .github/workflows/xamarin.yml .github/workflows/xamarin.yml
  • CI runs tests (dotnet test, unittest)
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
4
cochange_commits
227
cochange_share
0.0%
source_lines
119,137
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
97
Type safetyskipped

Security

60 weak

Security posture is weak: 24 high-severity workflow issues. Weakest area: ci actions.

How the score is built

  • Secrets72
  • Static analysis (SAST)100
  • Vulnerable dependenciesnot measured
  • CI workflows0
  • Security posture40
  • OpenSSF Scorecardnot measured

Evidence by analyzer

OpenSSF Scorecardskipped

no published OpenSSF Scorecard result for this repo

Package registriesskipped

no registry dependencies declared

Secrets (gitleaks)ok
secrets_current
0
secrets_history
0
secrets_low_confidence
7
secrets_nonprod
3
Static analysis (opengrep)ok
findings
2
findings_high
0
findings_low
0
findings_medium
2
parse_errors
19
scanned_lines
118,735
weighted_findings
1.20
Dependencies (osv-scanner)skipped
CI workflows (zizmor)ok
findings
72
findings_high
24
findings_low
35
findings_medium
13
penalty
316.20
workflows
4
Security postureok1 item
  • Dependency updates: .github/dependabot.yml .github/dependabot.yml
check:dependency_updates
yes
check:lockfiles
yes
check:security_policy
no
check:signed_commits
no
signed_commit_share
2.5%
unpinned_manifests
0
Release downloadsok5 items
binary_assets
44
signals
1
suspicious
0

Findings

24 high15 medium22 low34 info

SeverityRuleLocationMessageTool
high zizmor/unpinned-uses .github/workflows/dotnet.yml:134 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/dotnet.yml:142 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/dotnet.yml:150 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/dotnet.yml:158 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/dotnet.yml:166 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/dotnet.yml:174 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/dotnet.yml:182 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/dotnet.yml:190 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/dotnet.yml:26 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/dotnet.yml:32 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/dotnet.yml:66 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/publish.yml:116 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/publish.yml:25 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/publish.yml:258 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/publish.yml:262 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/publish.yml:31 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/publish.yml:68 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/publish.yml:76 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/sync-gitee.yml:16 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/xamarin.yml:21 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/xamarin.yml:27 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/xamarin.yml:33 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/xamarin.yml:57 unpinned action reference [confidence high] CI workflows (zizmor)
high zizmor/unpinned-uses .github/workflows/xamarin.yml:66 unpinned action reference [confidence high] CI workflows (zizmor)
medium zizmor/dependabot-cooldown .github/dependabot.yml:17 insufficient cooldown in Dependabot updates [confidence high] CI workflows (zizmor)
medium zizmor/dependabot-cooldown .github/dependabot.yml:8 insufficient cooldown in Dependabot updates [confidence high] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/dotnet.yml:13 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/dotnet.yml:25 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/dotnet.yml:64 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/publish.yml:1 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/publish.yml:14 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/publish.yml:24 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/publish.yml:66 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/publish.yml:74 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/sync-gitee.yml:12 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/excessive-permissions .github/workflows/xamarin.yml:10 overly broad permissions [confidence medium] CI workflows (zizmor)
medium zizmor/artipacked .github/workflows/xamarin.yml:20 credential persistence through GitHub Actions artifacts [confidence low] CI workflows (zizmor)
medium opengrep/csharp.lang.security.filesystem.unsafe-path-combine src/BD.WTTS.Client.Tools.Publish/Helpers/MSIXHelper.cs:251 String argument rootPublicPath is used to read or write data from a file via Path.Combine without direct sanitization via Path.GetFileName. If the path is user-supplied data this can lead to path traversal. [confidence medium] Static analysis (opengrep)
medium opengrep/csharp.lang.security.filesystem.unsafe-path-combine src/BD.WTTS.Client.Tools.Publish/Helpers/MSIXHelper.cs:274 String argument dirPath is used to read or write data from a file via Path.Combine without direct sanitization via Path.GetFileName. If the path is user-supplied data this can lead to path traversal. [confidence medium] Static analysis (opengrep)
low opengrep/csharp.lang.best-practice.structured-logging src/BD.WTTS.Client.Plugins.Accelerator.ReverseProxy/Services.Implementation/HttpServer/Middleware/RequestLoggingMiddleware.cs:49 String interpolation in log message obscures the distinction between variables and the log message. Use structured logging instead, where the variables are passed as additional arguments and the interpolation is performed by the logging... Lint
low opengrep/csharp.lang.best-practice.structured-logging src/BD.WTTS.Client.Plugins.Accelerator.ReverseProxy/Services.Implementation/HttpServer/Middleware/RequestLoggingMiddleware.cs:53 String interpolation in log message obscures the distinction between variables and the log message. Use structured logging instead, where the variables are passed as additional arguments and the interpolation is performed by the logging... Lint
low opengrep/csharp.lang.best-practice.structured-logging src/BD.WTTS.Client.Plugins.Accelerator.ReverseProxy/Services.Implementation/HttpServer/Middleware/RequestLoggingMiddleware.cs:57 String interpolation in log message obscures the distinction between variables and the log message. Use structured logging instead, where the variables are passed as additional arguments and the interpolation is performed by the logging... Lint
low opengrep/csharp.lang.best-practice.structured-logging src/BD.WTTS.Client.Plugins.Accelerator.ReverseProxy/Services.Implementation/PacketIntercept/DnsInterceptor.cs:156 String interpolation in log message obscures the distinction between variables and the log message. Use structured logging instead, where the variables are passed as additional arguments and the interpolation is performed by the logging... Lint
low opengrep/csharp.lang.best-practice.structured-logging src/BD.WTTS.Client.Plugins.Accelerator.ReverseProxy/Services.Implementation/PacketIntercept/TcpInterceptor.cs:49 String interpolation in log message obscures the distinction between variables and the log message. Use structured logging instead, where the variables are passed as additional arguments and the interpolation is performed by the logging... Lint
low opengrep/csharp.lang.best-practice.structured-logging src/BD.WTTS.Client.Plugins.Accelerator.ReverseProxy/Services.Implementation/PacketIntercept/TcpInterceptor.cs:53 String interpolation in log message obscures the distinction between variables and the log message. Use structured logging instead, where the variables are passed as additional arguments and the interpolation is performed by the logging... Lint
low opengrep/csharp.lang.best-practice.structured-logging src/BD.WTTS.Client.Plugins.ArchiSteamFarmPlus/_/ArchiSteamFarm/NLog/ArchiLogger.cs:15 String interpolation in log message obscures the distinction between variables and the log message. Use structured logging instead, where the variables are passed as additional arguments and the interpolation is performed by the logging... Lint
low opengrep/csharp.lang.best-practice.structured-logging src/BD.WTTS.Client.Plugins.ArchiSteamFarmPlus/_/ArchiSteamFarm/NLog/ArchiLogger.cs:25 String interpolation in log message obscures the distinction between variables and the log message. Use structured logging instead, where the variables are passed as additional arguments and the interpolation is performed by the logging... Lint
low opengrep/csharp.lang.best-practice.structured-logging src/BD.WTTS.Client.Plugins.ArchiSteamFarmPlus/_/ArchiSteamFarm/NLog/ArchiLogger.cs:35 String interpolation in log message obscures the distinction between variables and the log message. Use structured logging instead, where the variables are passed as additional arguments and the interpolation is performed by the logging... Lint
low opengrep/csharp.lang.best-practice.structured-logging src/BD.WTTS.Client.Plugins.ArchiSteamFarmPlus/_/ArchiSteamFarm/NLog/ArchiLogger.cs:40 String interpolation in log message obscures the distinction between variables and the log message. Use structured logging instead, where the variables are passed as additional arguments and the interpolation is performed by the logging... Lint
low opengrep/csharp.lang.best-practice.structured-logging src/BD.WTTS.Client.Plugins.ArchiSteamFarmPlus/_/ArchiSteamFarm/NLog/ArchiLogger.cs:45 String interpolation in log message obscures the distinction between variables and the log message. Use structured logging instead, where the variables are passed as additional arguments and the interpolation is performed by the logging... Lint
low zizmor/obfuscation .github/workflows/publish.yml:310 obfuscated usage of GitHub Actions features [confidence high] CI workflows (zizmor)
low gitleaks/generic-api-key Web/app.8ca12835.js:169 Possible generic-api-key secret in history (commit a04b041760); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/generic-api-key Web/uploads/js/steamvac/1.5.js:24 Possible generic-api-key secret in history (commit a04b041760); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/generic-api-key references/Titanium-Web-Proxy/docs/api/Titanium.Web.Proxy.Network.DefaultCertificateDiskCache.html:305 Possible generic-api-key secret in history (commit 798355e342); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/generic-api-key references/Titanium-Web-Proxy/docs/api/Titanium.Web.Proxy.Network.ICertificateCache.html:275 Possible generic-api-key secret in history (commit 798355e342); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/generic-api-key references/Titanium-Web-Proxy/docs/index.json:305 Possible generic-api-key secret in history (commit 798355e342); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/generic-api-key references/Titanium-Web-Proxy/src/Titanium.Web.Proxy/Certificates/DefaultCertificateDiskCache.cs:22 Possible generic-api-key secret in history (commit 798355e342); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/generic-api-key references/Titanium-Web-Proxy/src/Titanium.Web.Proxy/Certificates/ICertificateCache.cs:15 Possible generic-api-key secret in history (commit 798355e342); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/generic-api-key src/BD.WTTS.Client/Services/Implementation/Steam/SteamGridDBWebApiServiceImpl.cs:8 Possible generic-api-key secret in history (commit 931d5654d6); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/generic-api-key src/ST.Blazor.BackManage/Client/wwwroot/data/menu.json:138 Possible generic-api-key secret in history (commit fdb652f09c); removed from the current tree but still retrievable Secrets (gitleaks)
low gitleaks/generic-api-key src/ST.Client/Services/Implementation/SteamGridDBWebApiServiceImpl.cs:13 Possible generic-api-key secret in history (commit add400fbae); removed from the current tree but still retrievable Secrets (gitleaks)
info zizmor/template-injection .github/workflows/publish.yml:124 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:134 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:135 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:142 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:143 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:150 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:151 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:158 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:159 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:166 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:167 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:174 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:175 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:182 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:183 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:190 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:191 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:198 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:199 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:206 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:207 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:214 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:215 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:222 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:223 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:230 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:231 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:238 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:239 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:246 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:247 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:254 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/template-injection .github/workflows/publish.yml:255 code injection via template expansion [confidence low] CI workflows (zizmor)
info zizmor/superfluous-actions .github/workflows/publish.yml:262 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-50
Coding styleAI provenanceok—0
Commit velocityAI provenanceokprov-50
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 f1d2b562b41411
Tests and CICode qualityok—0
Type safetyCode qualityskipped—0
CI workflows (zizmor)Securityokzizmor 1.32.072
Dependencies (osv-scanner)Securityskipped—0
Release downloadsSecurityok—0
Security postureSecurityok—0
Package registriesSecurityskipped—0no registry dependencies declared
Static analysis (opengrep)Securityokopengrep 1.33.1; rules f1d2b562b4142
OpenSSF ScorecardSecurityskipped—0no published OpenSSF Scorecard result for this repo
Secrets (gitleaks)Securityokgitleaks 8.30.110

Score history

ScoredCommitScoringAI provenanceQualitySecurity
2026-11-14fc6f13d01cfeprov-5+qual-2+sec-22%6260

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

Scores

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

AI provenance

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

  • Explicitly attributed share (lower bound): 1.6%
  • Unattributed share in AI-consistent velocity bursts: 12.1%
  • Estimated AI-generated share: 1.6%
AI tool Attributed commits Lines added
GitHub Copilot coding agent 45 12,839
OpenAI Codex 2 87
  • AI tooling configured in repo: github-copilot

Current source lines last changed by AI-attributed commits: 9,366 of 119,137.

Findings per 1,000 lines AI-attributed Other Ratio
Quality 0.0 0.1 0.0x
Security 0.0 0.018 0.0x
  • Stylometry index: 0.11 per 1,000 lines (narrated steps 5, placeholders 0, assistant phrasing 0, emoji 14). Reported as a signal, not scored.
Month Lines added Attributed to AI
2025-01 206 0%
2025-02 8 0%
2025-03 254 0%
2025-05 1 0%
2026-01 383 0%
2026-02 392 0%
2026-03 648 0%
2026-06 85 100%
2026-07 152 100%
2026-08 476 100%
2026-10 11,706 100%
2026-11 6,227 8%

Evidence

  • OpenAI Codex: on merged branch (5768c34327) (ceac9b65a2e6)
  • GitHub Copilot coding agent: on merged branch (04e0895dad) (11f35fcf36cd)
  • GitHub Copilot coding agent: on merged branch (04e0895dad) (3d855ef204bf)
  • GitHub Copilot coding agent: on merged branch (04e0895dad) (cb4ee35c36eb)
  • GitHub Copilot coding agent: on merged branch (04e0895dad) (76b0a5fc21c6)
  • GitHub Copilot coding agent: on merged branch (04e0895dad) (0918d776fe08)
  • GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot' (788b90335270)
  • GitHub Copilot coding agent: on merged branch (04e0895dad) (4ed8319f7462)
  • GitHub Copilot coding agent: on merged branch (04e0895dad) (9b66636a0ce5)
  • GitHub Copilot coding agent: on merged branch (04e0895dad) (17ab5c2e7582)
  • GitHub Copilot coding agent: on merged branch (04e0895dad) (88bb1bad1654)
  • GitHub Copilot coding agent: on merged branch (04e0895dad) (36ffd2c076fb)
  • GitHub Copilot coding agent: on merged branch (04e0895dad) (cb18e2d99c90)
  • GitHub Copilot coding agent: on merged branch (04e0895dad) (0bb5226be0d9)
  • GitHub Copilot coding agent: on merged branch (04e0895dad) (ea2d8247ad36)

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

Area Score
Complexity (lizard) 63
Duplication 69
Code smells (Opengrep) 99
Tests and CI 35
Documentation 65
Type safety n/a
Process (Scorecard review/maintenance) n/a
  • Functions: 3,527; mean complexity 3.2, 90th percentile 7; 70 complex and 27 long functions
  • Duplicated lines: 6.1% of 76,508 compared
  • Tests: 0 test lines for 119,137 source lines (ratio 0.00); CI test commands: dotnet test, unittest; 0% of recent source commits also change tests
  • Docs missing or thin: contributing, changelog

Most complex functions:

Security

Security posture is weak: 24 high-severity workflow issues. Weakest area: ci actions.

Area Score
Secrets (gitleaks, tree + history) 72
Static analysis (Opengrep) 100
Vulnerable dependencies (OSV) n/a
CI workflows (zizmor) 0
Posture (policy, updates, signing, lockfiles) 40
OpenSSF Scorecard n/a
  • Posture checks passed: dependency updates, lockfiles; missing: security policy, signed commits

Top findings

Severity Finding Location
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/dotnet.yml:26
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/dotnet.yml:32
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/dotnet.yml:66
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/dotnet.yml:134
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/dotnet.yml:142
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/dotnet.yml:150
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/dotnet.yml:158
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/dotnet.yml:166
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/dotnet.yml:174
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/dotnet.yml:182
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/dotnet.yml:190
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/publish.yml:25
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/publish.yml:31
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/publish.yml:68
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/publish.yml:76
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/publish.yml:116
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/publish.yml:258
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/publish.yml:262
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/sync-gitee.yml:16
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/xamarin.yml:21
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/xamarin.yml:27
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/xamarin.yml:33
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/xamarin.yml:57
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/xamarin.yml:66
medium opengrep/csharp.lang.security.filesystem.unsafe-path-combine: String argument rootPublicPath is used to read or write data from a file via Path.Combine without direct sanitization via Path.GetFileName. If the path is user-supplied data this can lead to path traversal. [confidence medium] src/BD.WTTS.Client.Tools.Publish/Helpers/MSIXHelper.cs:251

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: 119,137; test lines: 0
Language Lines
C# 118,648
PowerShell 402
Shell 87