Leaderboard github.com
Devolutions/UniGetUI
UniGetUI: The Graphical Interface for your package managers. Could be terribly described as a package manager manager to manage your package managers
AI provenance
26%
explicit
- Confidence
- 95%
- Coverage
- 100%
Estimated share of AI-generated code. Explicit attribution is a lower bound.
Code quality
81/100
strong
- Confidence
- 90%
- Coverage
- 100%
Complexity, duplication, lint density, tests, CI, docs and review process.
Security
58/100
weak
- Confidence
- 85%
- Coverage
- 100%
Secrets, static analysis, vulnerable dependencies, CI and supply-chain posture.
AI provenance
26% explicit
Explicit AI attribution on 26% of first-party code added; an estimated 26% including velocity signals.
How the score is built
- Explicitly attributed share26%
- Unattributed share in AI-pace bursts9%
- Estimated AI-generated share26%
- AI tool configuration files3
- Work sessions at AI pace18
- Releases at AI pace0
- Coding-style index (1.0+ means possible)0.04
Attributed AI tools
| Tool | Commits | Lines added | First seen | Last seen |
|---|---|---|---|---|
| GitHub Copilot coding agent | 41 | 145,483 | 2025-06-15 | 2026-11-13 |
| Claude Code | 52 | 71,309 | 2026-05-12 | 2026-11-13 |
| Jules | 2 | 702 | 2025-07-07 | 2025-07-07 |
| OpenAI Codex | 1 | 6 | 2026-04-22 | 2026-04-22 |
Lines added per month all AI-attributed share
- 2021-061,521 · 0% AI
- 2021-07812 · 0% AI
- 2021-0923 · 0% AI
- 2021-10188 · 0% AI
- 2022-053,174 · 0% AI
- 2022-06777 · 0% AI
- 2022-07406 · 0% AI
- 2022-082,706 · 0% AI
- 2022-094,717 · 0% AI
- 2022-103,665 · 0% AI
- 2022-11825 · 0% AI
- 2022-122,266 · 0% AI
- 2023-0116,512 · 0% AI
- 2023-021,289 · 0% AI
- 2023-03515 · 0% AI
- 2023-044,027 · 0% AI
- 2023-0516,527 · 0% AI
- 2023-069,252 · 0% AI
- 2023-07601 · 0% AI
- 2023-08298 · 0% AI
- 2023-0915,361 · 0% AI
- 2023-102,867 · 0% AI
- 2023-113,177 · 0% AI
- 2023-126,254 · 0% AI
- 2024-0132,749 · 0% AI
- 2024-0214,749 · 0% AI
- 2024-0361,456 · 0% AI
- 2024-0412,183 · 0% AI
- 2024-054,210 · 0% AI
- 2024-068,101 · 0% AI
- 2024-0710,363 · 0% AI
- 2024-083,471 · 0% AI
- 2024-094,145 · 0% AI
- 2024-101,620 · 0% AI
- 2024-115,466 · 0% AI
- 2024-125,246 · 0% AI
- 2025-012,213 · 0% AI
- 2025-0211,353 · 0% AI
- 2025-033,534 · 0% AI
- 2025-042,378 · 0% AI
- 2025-051,985 · 0% AI
- 2025-063,833 · 0% AI
- 2025-076,909 · 10% AI
- 2025-08350 · 0% AI
- 2025-091,154 · 0% AI
- 2025-10420 · 0% AI
- 2025-110 · 0% AI
- 2025-120 · 0% AI
- 2026-01239 · 0% AI
- 2026-0221 · 0% AI
- 2026-0348,452 · 0% AI
- 2026-0421,376 · 37% AI
- 2026-0522,631 · 63% AI
- 2026-067,147 · 0% AI
- 2026-0711,063 · 0% AI
- 2026-0815,704 · 8% AI
- 2026-0961,622 · 53% AI
- 2026-1064,050 · 48% AI
- 2026-1192,560 · 84% AI
Findings in AI-attributed lines vs the rest
From git blame: 95,933 lines trace to AI-attributed commits, 110,864 to others. Reported, not scored.
| Findings per 1,000 lines | AI-attributed | Other | Ratio |
|---|---|---|---|
| Code quality | 0.82 | 1.09 | 0.75× |
| Security | 0.08 | 0.03 | 3.07× |
Evidence by analyzer
Explicit AI attributionok29 items
- Claude Code: 52 attributed commits, 71,309 lines added
- GitHub Copilot coding agent: 41 attributed commits, 145,483 lines added
- Jules: 2 attributed commits, 702 lines added
- OpenAI Codex: 1 attributed commits, 6 lines added
- GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot'
- Claude Code: PR description attribution
- GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot'
- Claude Code: PR description attribution
- GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot'
- Claude Code: PR description attribution
- Claude Code: PR description attribution
- Claude Code: PR description attribution
- Claude Code: PR description attribution
- Claude Code: PR description attribution
- Claude Code: PR description attribution
- Claude Code: PR description attribution
- Claude Code: PR description attribution
- Claude Code: trailer 'Co-authored-by: Claude'
- GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot'
- Claude Code: PR description attribution
- Claude Code: PR description attribution
- Claude Code: PR description attribution
- Claude Code: PR description attribution
- Claude Code: PR description attribution
- Claude Code: PR description attribution
- Claude Code: PR description attribution
- GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot'
- Claude Code: PR description attribution
- Claude Code: PR description attribution
- attributed_commit_share
- 1.5%
- attributed_commits
- 93
- attributed_loc
- 164,915
- attributed_loc_share
- 25.7%
- commits
- 6,308
- effective_loc
- 640,513
- tools_detected
- 4
AI tool configurationok3 items
- .claude/skills (claude-code configuration)
- CLAUDE.md (claude-code configuration)
- AGENTS.md (generic-agent configuration)
- artifacts
- 3
- earliest_adoption
- 2026-03-10
- tools_configured
- 2
- workflow_agents
- 0
Commit velocityok15 items
- 18,565 lines of first-party code in ~4.5h (4,149 lines/hour, 3 commit session)
- 1,029 lines of first-party code in ~0.5h (1,945 lines/hour, PR #5570)
- 3,609 lines of first-party code in ~3.0h (1,199 lines/hour, 7 commit session)
- 1,347 lines of first-party code in ~1.2h (1,082 lines/hour, 5 commit session)
- 3,883 lines of first-party code in ~4.0h (971 lines/hour, 1 commit session)
- 1,212 lines of first-party code in ~1.3h (962 lines/hour, 1 commit session)
- 1,617 lines of first-party code in ~1.8h (917 lines/hour, 1 commit session)
- 3,895 lines of first-party code in ~4.5h (870 lines/hour, 4 commit session)
- 2,193 lines of first-party code in ~2.7h (798 lines/hour, 1 commit session)
- 5,200 lines of first-party code in ~6.6h (784 lines/hour, 15 commit session)
- 1,459 lines of first-party code in ~1.9h (749 lines/hour, 3 commit session)
- 3,326 lines of first-party code in ~4.9h (676 lines/hour, 5 commit session)
- 1,482 lines of first-party code in ~2.3h (654 lines/hour, 4 commit session)
- 4,199 lines of first-party code in ~7.2h (580 lines/hour, PR #5330)
- 3,446 lines of first-party code in ~6.1h (561 lines/hour, PR #5620)
- excluded_import_loc
- 278,044
- flagged_loc
- 62,842
- flagged_loc_share
- 17.3%
- flagged_units
- 18
- max_loc_per_hour
- 4,148.86
- measured_loc
- 362,361
- median_loc_per_hour
- 65
- pr_timed_units
- 466
- pre_ai_era_burst_loc
- 0
- pre_ai_era_bursts
- 0
- pre_ai_era_measured_loc
- 1,521
- work_units
- 2,137
Release velocityok
- flagged_releases
- 0
- max_loc_per_day
- 3,752.70
- releases
- 99
Coding styleok3 items
- assistant-style phrasing left in code: /// <param name="Name">Skill name (as requested, or as installed when resolved).</param>
- step-by-step narration comment: // first, ascending).
- assistant-style phrasing left in code: "Cannot update vcpkg port files as requested: the VCPKG_ROOT environment variable or custom vcpkg root setting was not s
- count:assistant_voice
- 2
- count:emoji_in_code
- 8
- count:narrated_steps
- 1
- count:placeholder
- 0
- files:assistant_voice
- 2
- files:emoji_in_code
- 8
- files:narrated_steps
- 1
- files:placeholder
- 0
- index
- 0.04
- lines_scanned
- 206,797
- per_kloc:assistant_voice
- 0.01
- per_kloc:emoji_in_code
- 0.04
- per_kloc:narrated_steps
- 0.01
- per_kloc:placeholder
- 0
Findings in AI-written linesok
- ai_lines
- 95,933
- blame_failures
- 0
- files_blamed
- 1,009
- other_lines
- 110,864
- quality:ai_findings
- 79
- quality:ai_per_kloc
- 0.82
- quality:other_findings
- 121
- quality:other_per_kloc
- 1.09
- quality:ratio
- 0.75
- security:ai_findings
- 8
- security:ai_per_kloc
- 0.08
- security:other_findings
- 3
- security:other_per_kloc
- 0.03
- security:ratio
- 3.07
Code quality
81 strong
Code quality is strong: test-to-source ratio 0.53, CI runs tests; 16% of function code in complex or long functions; 5% duplicated lines. Weakest area: complexity.
How the score is built
- Complexity62
- Duplication76
- Lint and smells83
- Tests and CI100
- Documentation80
- Type safetynot measured
- Review processnot measured
Evidence by analyzer
Complexity (lizard)ok10 items
- CoreTools::CreateRelaunchStartInfo in src/UniGetUI.Core.Tools/Tools.cs: complexity 279, 1699 lines
- AddCommand::RunInner in src/UniGetUI.AgentSkills.Cli/AddRun.cs: complexity 120, 436 lines
- SearchMultiselect::Run<T> in src/UniGetUI.AgentSkills.Cli/SearchMultiselect.cs: complexity 95, 290 lines
- struct::IsWide in src/UniGetUI.AgentSkills.Cli/Ui.cs: complexity 69, 12 lines
- CargoBinaryResolver::ResolveAsync in src/UniGetUI.PackageEngine.Managers.Cargo/CargoBinaryResolver.cs: complexity 63, 117 lines
- PolicyEditorSessionViewModel::SaveCoreAsync in src/UniGetUI.Avalonia/ViewModels/Pages/SettingsPages/PolicyEditor/PolicyEditorSessionViewModel.cs: complexity 59, 266 lines
- NpmPkgDetailsHelper::GetDetails_UnSafe in src/UniGetUI.PackageEngine.Managers.Npm/Helpers/NpmPkgDetailsHelper.cs: complexity 56, 128 lines
- SkippedSkill::UpdateGlobalSkills in src/UniGetUI.AgentSkills.Cli/Update.cs: complexity 55, 158 lines
- BunPkgDetailsHelper::GetDetails_UnSafe in src/UniGetUI.PackageEngine.Managers.Bun/Helpers/BunPkgDetailsHelper.cs: complexity 51, 87 lines
- ScoopPkgDetailsHelper::GetDetails_UnSafe in src/UniGetUI.PackageEngine.Managers.Scoop/Helpers/ScoopPkgDetailsHelper.cs: complexity 50, 153 lines
- complex_functions
- 229
- function_nloc
- 144,466
- functions
- 9,488
- long_functions
- 94
- many_param_functions
- 19
- mean_ccn
- 3.59
- p90_ccn
- 8
- risky_nloc_share
- 16.0%
Duplication (jscpd)ok10 items
- 6+ duplicated lines: .agents/skills/translation-diff-export/scripts/export-translation-diff.ps1:101 and scripts/translation/Get-TranslationStatus.ps1:104
- 6+ duplicated lines: .agents/skills/translation-diff-translate/scripts/write-translation-handoff.ps1:38 and scripts/translation/Languages/TranslationJsonTools.ps1:26
- 6+ duplicated lines: .agents/skills/translation-review/scripts/review-translation-json.ps1:350 and .agents/skills/translation-review/scripts/review-translation-json.ps1:379
- 6+ duplicated lines: .agents/skills/translation-source-sync/scripts/set-translation-boundary-order.ps1:1 and scripts/translation/Set-TranslationBoundaryOrder.ps1:1
- 6+ duplicated lines: .agents/skills/translation-status/scripts/get-translation-status.ps1:1 and scripts/translation/Get-TranslationStatus.ps1:1
- 6+ duplicated lines: scripts/export-icon-database-gallery.ps1:51 and scripts/update-icons.ps1:54
- 6+ duplicated lines: scripts/refresh-integrity-tree.ps1:9 and scripts/verify-integrity-tree.ps1:13
- 6+ duplicated lines: scripts/translation/Export-TranslationBoundaryAlignment.ps1:6 and scripts/translation/Export-TranslationKeyDiff.ps1:7
- 6+ duplicated lines: scripts/translation/Export-TranslationBoundaryAlignment.ps1:9 and scripts/translation/Remove-UnusedTranslations.ps1:7
- 6+ duplicated lines: scripts/translation/Export-TranslationBoundaryAlignment.ps1:10 and scripts/translation/Set-TranslationBoundaryOrder.ps1:12
- compared_lines
- 130,374
- duplicated_lines
- 6,049
- duplicated_share
- 4.6%
- files
- 1,009
Lintok
- category:best-practice
- 596
- findings
- 596
- scanned_lines
- 194,871
- weighted_findings
- 149
Tests and CIok12 items
- CI config: .github/workflows/agent-eval.yml
.github/workflows/agent-eval.yml - CI config: .github/workflows/agent-implement-ticket.yml
.github/workflows/agent-implement-ticket.yml - CI config: .github/workflows/build-release.yml
.github/workflows/build-release.yml - CI config: .github/workflows/cli-headless-e2e.yml
.github/workflows/cli-headless-e2e.yml - CI config: .github/workflows/codeql.yml
.github/workflows/codeql.yml - CI config: .github/workflows/desktop-smoke.yml
.github/workflows/desktop-smoke.yml - CI config: .github/workflows/dotnet-test.yml
.github/workflows/dotnet-test.yml - CI config: .github/workflows/issue-triage.lock.yml
.github/workflows/issue-triage.lock.yml - CI config: .github/workflows/pr-labeler.yml
.github/workflows/pr-labeler.yml - CI config: .github/workflows/translation-sync.yml
.github/workflows/translation-sync.yml - CI runs tests (dotnet test, unittest)
- CI runs linters (shellcheck, dotnet format)
- 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
- 11
- cochange_commits
- 229
- cochange_share
- 69.0%
- source_lines
- 206,797
- test_lines
- 110,525
- test_ratio
- 0.53
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
- 184
Type safetyskipped
Security
58 weak
Security posture is weak: 0 possible secret(s) in the tree, 4 only in history; 3 high-severity SAST findings; 75 high-severity workflow issues. Weakest area: ci actions.
How the score is built
- Secrets44
- Static analysis (SAST)99
- Vulnerable dependenciesnot measured
- CI workflows0
- Security posture100
- 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
- 4
- secrets_low_confidence
- 5
- secrets_nonprod
- 0
Static analysis (opengrep)ok
- findings
- 11
- findings_high
- 3
- findings_low
- 0
- findings_medium
- 8
- parse_errors
- 4
- scanned_lines
- 194,871
- weighted_findings
- 7.05
Dependencies (osv-scanner)skipped
CI workflows (zizmor)ok
- findings
- 129
- findings_high
- 75
- findings_low
- 42
- findings_medium
- 12
- penalty
- 923.80
- workflows
- 11
Security postureok3 items
- Security policy: https://github.com/Devolutions/UniGetUI/security/policy
https://github.com/Devolutions/UniGetUI/security/policy - Dependency updates: .github/dependabot.yml
.github/dependabot.yml - Dependency updates: .github/renovate.json
.github/renovate.json
- check:dependency_updates
- yes
- check:lockfiles
- yes
- check:security_policy
- yes
- check:signed_commits
- yes
- signed_commit_share
- 100.0%
- unpinned_manifests
- 0
Release downloadsok6 items
- release v2026.3.4 ships UniGetUI.arm64.zip (111 downloads)
- release v2026.3.4 ships UniGetUI.Installer.arm64.exe (194 downloads)
- release v2026.3.4 ships UniGetUI.Installer.exe (73116 downloads)
- release v2026.3.4 ships UniGetUI.Installer.x64.exe (1876 downloads)
- release v2026.3.4 ships UniGetUI.linux-arm64.deb (59 downloads)
- links directly to a downloadable archive or installer
README.md
- binary_assets
- 150
- signals
- 2
- suspicious
- 0
Findings
78 high24 medium233 low14 info
| Severity | Rule | Location | Message | Tool |
|---|---|---|---|---|
| high | zizmor/unpinned-uses |
.github/actions/desktop-session-cleanup/action.yml:25 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/actions/desktop-session/action.yml:118 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/github-env |
.github/actions/desktop-session/action.yml:224 | dangerous use of environment file [confidence low] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/actions/desktop-session/action.yml:92 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/actions/unigetui-build/action.yml:21 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/actions/unigetui-build/action.yml:27 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/github-env |
.github/actions/unigetui-desktop/action.yml:52 | dangerous use of environment file [confidence low] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-eval.yml:115 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-eval.yml:37 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-eval.yml:91 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-eval.yml:97 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/dangerous-triggers |
.github/workflows/agent-implement-ticket.yml:108 | use of fundamentally insecure workflow trigger [confidence medium] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-implement-ticket.yml:142 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-implement-ticket.yml:168 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-implement-ticket.yml:187 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-implement-ticket.yml:204 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-implement-ticket.yml:210 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-implement-ticket.yml:240 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-implement-ticket.yml:256 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-implement-ticket.yml:298 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-implement-ticket.yml:304 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-implement-ticket.yml:361 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-implement-ticket.yml:377 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-implement-ticket.yml:505 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-implement-ticket.yml:536 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-implement-ticket.yml:542 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-implement-ticket.yml:552 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/agent-implement-ticket.yml:572 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/build-release.yml:1009 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/build-release.yml:1047 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/build-release.yml:171 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/build-release.yml:187 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/build-release.yml:192 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/build-release.yml:200 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/build-release.yml:456 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/build-release.yml:507 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/build-release.yml:510 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/build-release.yml:515 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/build-release.yml:64 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/build-release.yml:644 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/template-injection |
.github/workflows/build-release.yml:70 | code injection via template expansion [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/build-release.yml:818 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/build-release.yml:834 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/template-injection |
.github/workflows/build-release.yml:90 | code injection via template expansion [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/build-release.yml:942 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/cli-headless-e2e.yml:180 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/cli-headless-e2e.yml:64 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/cli-headless-e2e.yml:67 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/cli-headless-e2e.yml:72 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/cli-headless-e2e.yml:77 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/cli-headless-e2e.yml:82 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/codeql.yml:56 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/codeql.yml:60 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/codeql.yml:88 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/desktop-smoke.yml:50 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/dotnet-test.yml:100 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/dotnet-test.yml:117 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/dotnet-test.yml:120 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/dotnet-test.yml:125 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/dotnet-test.yml:48 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/dotnet-test.yml:51 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/dotnet-test.yml:56 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/dotnet-test.yml:92 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/dotnet-test.yml:95 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/pr-labeler.yml:22 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/pr-labeler.yml:25 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/dangerous-triggers |
.github/workflows/pr-labeler.yml:4 | use of fundamentally insecure workflow trigger [confidence medium] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/translation-sync.yml:102 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/translation-sync.yml:116 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/translation-sync.yml:176 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/translation-sync.yml:184 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/translation-sync.yml:203 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/translation-sync.yml:209 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/translation-sync.yml:55 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | zizmor/unpinned-uses |
.github/workflows/translation-validation.yml:36 | unpinned action reference [confidence high] | CI workflows (zizmor) |
| high | opengrep/javascript.browser.security.insecure-document-method |
src/SharedAssets/Assets/Symbols/Font/demo-files/demo.js:18 | User controlled data in methods like `innerHTML`, `outerHTML` or `document.write` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] | Static analysis (opengrep) |
| high | opengrep/javascript.browser.security.insecure-innerhtml |
src/SharedAssets/Assets/Symbols/Font/demo-files/demo.js:18 | User controlled data in a `testDrive.innerHTML` is an anti-pattern that can lead to XSS vulnerabilities [confidence low] | Static analysis (opengrep) |
| high | opengrep/csharp.lang.security.injections.os-command-injection |
src/UniGetUI.Core.Tools/Tools.cs:1477 | The software constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it... | Static analysis (opengrep) |
| medium | zizmor/dependabot-cooldown |
.github/dependabot.yml:3 | insufficient cooldown in Dependabot updates [confidence high] | CI workflows (zizmor) |
| medium | zizmor/secrets-inherit |
.github/workflows/agent-eval.yml:69 | secrets unconditionally inherited by called workflow [confidence high] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/build-release.yml:1 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/build-release.yml:1001 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/build-release.yml:47 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/cli-headless-e2e.yml:25 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/dotnet-test.yml:1 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/dotnet-test.yml:113 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/dotnet-test.yml:162 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/dotnet-test.yml:44 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/dotnet-test.yml:85 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | zizmor/excessive-permissions |
.github/workflows/translation-validation.yml:31 | overly broad permissions [confidence medium] | CI workflows (zizmor) |
| medium | gitleaks/aws-access-token |
WebBasedData/screenshot-database-v2.json:2085 | Possible aws-access-token secret in history (commit 1bded53a95); removed from the current tree but still retrievable | Secrets (gitleaks) |
| medium | gitleaks/jwt |
WebBasedData/screenshot-database-v2.json:2085 | Possible jwt secret in history (commit 1bded53a95); removed from the current tree but still retrievable | Secrets (gitleaks) |
| medium | gitleaks/sourcegraph-access-token |
WebBasedData/screenshot-database-v2.json:3273 | Possible sourcegraph-access-token secret in history (commit 40eab0f7a8); removed from the current tree but still retrievable | Secrets (gitleaks) |
| medium | gitleaks/sourcegraph-access-token |
WebBasedData/screenshot-database.json:4884 | Possible sourcegraph-access-token secret in history (commit fc1a50a718); removed from the current tree but still retrievable | Secrets (gitleaks) |
| medium | opengrep/csharp.lang.security.filesystem.unsafe-path-combine |
src/UniGetUI.Extensions.GitRepositories.Tests/GitSandbox.cs:81 | String argument file 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/UniGetUI.Extensions.GitRepositories.Tests/GitSandbox.cs:81 | String argument repository 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/UniGetUI.Extensions.Xcode.Tests/Local/FakeXcodeBundle.cs:18 | String argument directory 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/UniGetUI.Extensions.Xcode.Tests/Local/FakeXcodeBundle.cs:18 | String argument name 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/UniGetUI.Extensions.Xcode.Tests/Local/FakeXcodeBundle.cs:23 | String argument directory 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/UniGetUI.Extensions.Xcode.Tests/Local/FakeXcodeBundle.cs:23 | String argument name 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/UniGetUI.Extensions.Xcode.Tests/Local/FakeXcodeBundle.cs:24 | String argument directory 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/UniGetUI.Extensions.Xcode.Tests/Local/FakeXcodeBundle.cs:24 | String argument name 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/Shared/AutoUpdater.Helpers.cs:20 | 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/Shared/SharedPreUiCommandDispatcher.cs:445 | 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/UniGetUI.AgentSkills.Cli/AddHelpers.cs:223 | 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/UniGetUI.AgentSkills.Cli/AddHelpers.cs:226 | 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/UniGetUI.AgentSkills.Cli/AddHelpers.cs:235 | 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/UniGetUI.AgentSkills.Cli/AddHelpers.cs:236 | 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/UniGetUI.AgentSkills.Cli/AddHelpers.cs:270 | 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/UniGetUI.AgentSkills.Cli/AddHelpers.cs:289 | 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/UniGetUI.AgentSkills.Cli/AddRun.cs:157 | 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/UniGetUI.AgentSkills.Cli/AddRun.cs:374 | 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/UniGetUI.AgentSkills.Cli/AddRun.cs:380 | 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/UniGetUI.AgentSkills.Cli/AddRun.cs:423 | 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/UniGetUI.AgentSkills.Cli/AddRun.cs:430 | 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/UniGetUI.AgentSkills.Cli/AddRun.cs:431 | 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/UniGetUI.AgentSkills.Cli/AddRun.cs:449 | 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/UniGetUI.AgentSkills.Cli/AddRun.cs:478 | 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/UniGetUI.AgentSkills.Cli/AddWellKnown.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/UniGetUI.AgentSkills.Cli/AddWellKnown.cs:68 | 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/UniGetUI.AgentSkills.Cli/InstallLock.cs:14 | 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/UniGetUI.AgentSkills.Cli/InstallLock.cs:30 | 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/UniGetUI.AgentSkills.Cli/InstallLock.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/UniGetUI.AgentSkills.Cli/InstallLock.cs:48 | 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/UniGetUI.AgentSkills.Cli/Remove.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/UniGetUI.AgentSkills.Cli/Remove.cs:37 | 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/UniGetUI.AgentSkills.Cli/Remove.cs:65 | 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/UniGetUI.AgentSkills.Cli/Remove.cs:66 | 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/UniGetUI.AgentSkills.Cli/Remove.cs:80 | 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/UniGetUI.AgentSkills.Cli/Sync.cs:131 | 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/UniGetUI.AgentSkills.Cli/Sync.cs:146 | 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/UniGetUI.AgentSkills.Cli/Sync.cs:178 | 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/UniGetUI.AgentSkills.Cli/Sync.cs:194 | 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/UniGetUI.AgentSkills.Cli/Sync.cs:201 | 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/UniGetUI.AgentSkills.Cli/Sync.cs:202 | 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/UniGetUI.Avalonia/Infrastructure/AppExtensions.cs:65 | 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/UniGetUI.Avalonia/Infrastructure/AvaloniaAutoUpdater.cs:234 | 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/UniGetUI.Avalonia/Infrastructure/AvaloniaAutoUpdater.cs:243 | 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/UniGetUI.Avalonia/Infrastructure/AvaloniaAutoUpdater.cs:275 | 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/UniGetUI.Avalonia/Infrastructure/AvaloniaAutoUpdater.cs:286 | 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/UniGetUI.Avalonia/Infrastructure/AvaloniaAutoUpdater.cs:298 | 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/UniGetUI.Avalonia/Infrastructure/AvaloniaAutoUpdater.cs:357 | 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/UniGetUI.Avalonia/Infrastructure/AvaloniaBootstrapper.cs:107 | 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/UniGetUI.Avalonia/Infrastructure/AvaloniaBootstrapper.cs:428 | 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/UniGetUI.Avalonia/Infrastructure/AvaloniaBootstrapper.cs:435 | 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/UniGetUI.Avalonia/Infrastructure/AvaloniaBootstrapper.cs:442 | 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/UniGetUI.Avalonia/Infrastructure/AvaloniaBootstrapper.cs:446 | 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/UniGetUI.Avalonia/Infrastructure/AvaloniaPackageOperationHelper.cs:123 | 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/UniGetUI.Avalonia/Infrastructure/AvaloniaPackageOperationHelper.cs:69 | 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/UniGetUI.Avalonia/Infrastructure/BitmapLoader.cs:22 | 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/UniGetUI.Avalonia/Infrastructure/ElevatorLoader.cs:167 | 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/UniGetUI.Avalonia/Infrastructure/ElevatorLoader.cs:177 | 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/UniGetUI.Avalonia/Infrastructure/ElevatorLoader.cs:184 | 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/UniGetUI.Avalonia/Infrastructure/ElevatorLoader.cs:63 | 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/UniGetUI.Avalonia/Infrastructure/ElevatorLoader.cs:73 | 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/UniGetUI.Avalonia/Infrastructure/ElevatorLoader.cs:84 | 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/UniGetUI.Avalonia/Infrastructure/GHAuthApiRunner.cs:29 | 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/UniGetUI.Avalonia/Infrastructure/GHAuthApiRunner.cs:82 | 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/UniGetUI.Avalonia/Infrastructure/GitHubAuthService.cs:159 | 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/UniGetUI.Avalonia/Infrastructure/LinuxDisplayScaling.cs:81 | 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/UniGetUI.Avalonia/Infrastructure/LinuxDisplayScaling.cs:86 | 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/UniGetUI.Avalonia/Infrastructure/LinuxInstallLocation.cs:21 | 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/UniGetUI.Avalonia/Infrastructure/LinuxInstallLocation.cs:34 | 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/UniGetUI.Avalonia/Infrastructure/MacBundleLocation.cs:26 | 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/UniGetUI.Avalonia/Infrastructure/MacBundleLocation.cs:39 | 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/UniGetUI.Avalonia/Infrastructure/MacBundleLocation.cs:74 | 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/UniGetUI.Avalonia/Infrastructure/MacGlassWindowHelper.cs:99 | 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/UniGetUI.Avalonia/Infrastructure/MaintenanceScheduler.cs:145 | 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/UniGetUI.Avalonia/Infrastructure/MaintenanceScheduler.cs:202 | 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/UniGetUI.Avalonia/Infrastructure/MaintenanceScheduler.cs:321 | 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/UniGetUI.Avalonia/Infrastructure/MaintenanceScheduler.cs:333 | 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/UniGetUI.Avalonia/Infrastructure/ManualInstallHelper.cs:37 | 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/UniGetUI.Avalonia/Infrastructure/MemoryTrimmer.cs:65 | 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/UniGetUI.Avalonia/Infrastructure/OperationHistoryActionService.cs:183 | 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/UniGetUI.Avalonia/Infrastructure/PackageLinkHandler.cs:52 | 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/UniGetUI.Avalonia/Infrastructure/ProcessEnvironmentConfigurator.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/UniGetUI.Avalonia/Infrastructure/ProcessEnvironmentConfigurator.cs:58 | 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/UniGetUI.Avalonia/Infrastructure/SingleInstanceRedirector.cs:124 | 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/UniGetUI.Avalonia/Infrastructure/SingleInstanceRedirector.cs:177 | 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/UniGetUI.Avalonia/Infrastructure/SingleInstanceRedirector.cs:80 | 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/UniGetUI.Avalonia/Infrastructure/StartupArgumentProcessor.cs:19 | 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/UniGetUI.Avalonia/Infrastructure/StartupArgumentProcessor.cs:37 | 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/UniGetUI.Avalonia/Infrastructure/StartupArgumentProcessor.cs:66 | 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/UniGetUI.Avalonia/Infrastructure/StartupArgumentProcessor.cs:72 | 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/UniGetUI.Avalonia/Infrastructure/StartupArgumentProcessor.cs:78 | 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/UniGetUI.Avalonia/Infrastructure/StartupArgumentProcessor.cs:84 | 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/UniGetUI.Avalonia/Infrastructure/SystemRestartService.cs:189 | 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/UniGetUI.Avalonia/Infrastructure/SystemRestartService.cs:205 | 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/UniGetUI.Avalonia/Infrastructure/SystemRestartService.cs:216 | 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/UniGetUI.Avalonia/Infrastructure/SystemRestartService.cs:222 | 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/UniGetUI.Avalonia/Infrastructure/SystemRestartService.cs:230 | 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/UniGetUI.Avalonia/Infrastructure/Win32ToastNotifier.cs:126 | 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/UniGetUI.Avalonia/Infrastructure/WindowsAvaloniaRenderingPolicy.cs:55 | 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/UniGetUI.Avalonia/Models/PackageCollections.cs:401 | 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/UniGetUI.Avalonia/Models/PackageCollections.cs:561 | 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/UniGetUI.Avalonia/Models/PackageCollections.cs:683 | 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/UniGetUI.Avalonia/Models/PackageCollections.cs:835 | 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/UniGetUI.Avalonia/Models/PackageCollections.cs:974 | 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/UniGetUI.Avalonia/ViewModels/DialogPages/CatalogEditorViewModel.cs:298 | 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/UniGetUI.Avalonia/ViewModels/DialogPages/CatalogEditorViewModel.cs:342 | 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/UniGetUI.Avalonia/ViewModels/DialogPages/InstallOptionsViewModel.cs:490 | 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/UniGetUI.Avalonia/ViewModels/DialogPages/InstallOptionsViewModel.cs:502 | 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/UniGetUI.Avalonia/ViewModels/DialogPages/InstallOptionsViewModel.cs:528 | 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/UniGetUI.Avalonia/ViewModels/DialogPages/InstallOptionsViewModel.cs:601 | 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/UniGetUI.Avalonia/ViewModels/DialogPages/InstallOptionsViewModel.cs:668 | 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/UniGetUI.Avalonia/ViewModels/DialogPages/InstallOptionsViewModel.cs:701 | 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/UniGetUI.Avalonia/ViewModels/DialogPages/ManageAutoUpdatesViewModel.cs:328 | 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/UniGetUI.Avalonia/ViewModels/DialogPages/ManageAutoUpdatesViewModel.cs:353 | 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/UniGetUI.Avalonia/ViewModels/DialogPages/ManageIgnoredUpdatesViewModel.cs:230 | 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/UniGetUI.Avalonia/ViewModels/DialogPages/PackageDetailsViewModel.cs:341 | 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/UniGetUI.Avalonia/ViewModels/DialogPages/PackageDetailsViewModel.cs:386 | 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/UniGetUI.Avalonia/ViewModels/DialogPages/PkgFeedEditorViewModel.cs:117 | 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/UniGetUI.Avalonia/ViewModels/MainWindowViewModel.cs:832 | 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/UniGetUI.Avalonia/ViewModels/MainWindowViewModel.cs:983 | 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/UniGetUI.Avalonia/ViewModels/Pages/GitRepositoriesViewModel.cs:312 | 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/UniGetUI.Avalonia/ViewModels/Pages/GitRepositoriesViewModel.cs:757 | 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/UniGetUI.Avalonia/ViewModels/Pages/GitRepositoriesViewModel.cs:768 | 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/UniGetUI.Avalonia/ViewModels/Pages/GitRepositoriesViewModel.cs:779 | 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/UniGetUI.Avalonia/ViewModels/Pages/GitRepositoriesViewModel.cs:843 | 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/UniGetUI.Avalonia/ViewModels/Pages/GitRepositoriesViewModel.cs:891 | 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/UniGetUI.Avalonia/ViewModels/Pages/GitRepositoriesViewModel.cs:905 | 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/UniGetUI.Avalonia/ViewModels/Pages/GitRepositoriesViewModel.cs:932 | 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/UniGetUI.Avalonia/ViewModels/Pages/ManagerHealthViewModel.cs:128 | 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/UniGetUI.Avalonia/ViewModels/Pages/SettingsPages/GeneralViewModel.cs:48 | 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/UniGetUI.Avalonia/ViewModels/Pages/SettingsPages/PackageManagerViewModel.cs:251 | 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/UniGetUI.Avalonia/ViewModels/Pages/SettingsPages/SourceManagerCardViewModel.cs:84 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeAccountViewModel.cs:152 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeAccountViewModel.cs:181 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeAccountViewModel.cs:211 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeAccountViewModel.cs:71 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeSimulatorRuntimesViewModel.cs:188 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeSimulatorRuntimesViewModel.cs:210 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeSimulatorRuntimesViewModel.cs:243 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeViewModel.cs:1084 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeViewModel.cs:1138 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeViewModel.cs:1182 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeViewModel.cs:1207 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeViewModel.cs:1824 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeViewModel.cs:1833 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeViewModel.cs:1860 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeViewModel.cs:2256 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeViewModel.cs:2296 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeViewModel.cs:2321 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeViewModel.cs:2350 | 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/UniGetUI.Avalonia/ViewModels/Pages/XcodeViewModel.cs:677 | 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/UniGetUI.Avalonia/ViewModels/SoftwarePages/SoftwareCatalogViewModel.cs:382 | 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/UniGetUI.Avalonia/ViewModels/SoftwarePages/SoftwareCatalogViewModel.cs:738 | 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/UniGetUI.Avalonia/ViewModels/SoftwarePages/SoftwareCatalogViewModel.cs:761 | 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/UniGetUI.Avalonia/ViewModels/SoftwarePages/SoftwareCatalogViewModel.cs:909 | 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/UniGetUI.Avalonia/Views/DialogPages/MissingDependencyDialog.axaml.cs:161 | 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/UniGetUI.Avalonia/Views/DialogPages/MissingDependencyDialog.axaml.cs:171 | 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/UniGetUI.Avalonia/Views/DialogPages/MissingDependencyDialog.axaml.cs:213 | 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/UniGetUI.Avalonia/Views/DialogPages/MissingDependencyDialog.axaml.cs:228 | 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/UniGetUI.Avalonia/Views/DialogPages/MissingDependencyDialog.axaml.cs:250 | 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/UniGetUI.Avalonia/Views/DialogPages/MissingDependencyDialog.axaml.cs:279 | 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/UniGetUI.Avalonia/Views/DialogPages/NotionSignInDialog.axaml.cs:126 | 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/UniGetUI.Avalonia/Views/DialogPages/PackageDetailsWindow.axaml.cs:1011 | 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/UniGetUI.Avalonia/Views/MainWindow.axaml.cs:1018 | 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/UniGetUI.Avalonia/Views/MainWindow.axaml.cs:1196 | 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/UniGetUI.Avalonia/Views/MainWindow.axaml.cs:1245 | 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/UniGetUI.Avalonia/Views/MainWindow.axaml.cs:763 | 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/UniGetUI.Avalonia/Views/MainWindow.axaml.cs:816 | 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/UniGetUI.Avalonia/Views/SoftwarePages/CatalogEditorPage.cs:365 | 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/UniGetUI.Avalonia/Views/SoftwarePages/PackageBundlesPage.cs:280 | 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/UniGetUI.Avalonia/Views/SoftwarePages/PackageBundlesPage.cs:336 | 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/UniGetUI.Avalonia/Views/SoftwarePages/PackageBundlesPage.cs:572 | 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/UniGetUI.Avalonia/Views/SoftwarePages/PackageBundlesPage.cs:584 | 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/UniGetUI.Core.Data/CoreCredentialStore.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/UniGetUI.Core.Data/CoreCredentialStore.cs:61 | 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/UniGetUI.Core.Data/CoreCredentialStore.cs:92 | 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/UniGetUI.Core.Data/CoreData.cs:176 | 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/UniGetUI.Core.Data/CoreData.cs:202 | 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/UniGetUI.Core.Data/CoreData.cs:209 | 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/UniGetUI.Core.Data/CoreData.cs:217 | 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/UniGetUI.Core.Data/CoreData.cs:222 | 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/UniGetUI.Core.Data/CoreData.cs:227 | 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/UniGetUI.Core.Data/CoreData.cs:34 | 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/UniGetUI.Core.Data/CoreData.cs:703 | 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/UniGetUI.Core.IconStore/IconCacheEngine.cs:178 | 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/UniGetUI.Core.IconStore/IconCacheEngine.cs:243 | 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/UniGetUI.Core.IconStore/IconCacheEngine.cs:252 | 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/UniGetUI.Core.IconStore/IconCacheEngine.cs:296 | 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/UniGetUI.Core.IconStore/IconCacheEngine.cs:302 | 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/UniGetUI.Core.IconStore/IconCacheEngine.cs:349 | 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/UniGetUI.Core.IconStore/IconCacheEngine.cs:357 | 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/UniGetUI.Core.IconStore/IconCacheEngine.cs:364 | 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/UniGetUI.Core.IconStore/IconCacheEngine.cs:381 | 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/UniGetUI.Core.IconStore/IconCacheEngine.cs:401 | 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/UniGetUI.Core.IconStore/IconCacheEngine.cs:421 | 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/UniGetUI.Core.IconStore/IconCacheEngine.cs:439 | 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/UniGetUI.Core.IconStore/IconCacheEngine.cs:460 | 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/UniGetUI.Core.LanguageEngine/LanguageData.cs:126 | 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/UniGetUI.Core.LanguageEngine/LanguageEngine.cs:161 | 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/UniGetUI.Core.LanguageEngine/LanguageEngine.cs:176 | 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/UniGetUI.Core.LanguageEngine/LanguageEngine.cs:187 | 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/UniGetUI.Core.LanguageEngine/LanguageEngine.cs:248 | 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/UniGetUI.Core.LanguageEngine/LanguageEngine.cs:64 | 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/UniGetUI.Core.LanguageEngine/LanguageEngine.cs:84 | 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/UniGetUI.Core.Logger/AppPaths.cs:155 | 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/UniGetUI.Core.Logger/AppPaths.cs:189 | 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/UniGetUI.Core.Logger/AppPaths.cs:362 | 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/UniGetUI.Core.SecureSettings/SecureGHTokenManager.cs:52 | 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/self-repository |
.github/workflows/agent-eval.yml:69 | use GitHub's dedicated self-repository syntax [confidence high] | CI workflows (zizmor) |
| low | zizmor/adhoc-packages |
.github/workflows/agent-implement-ticket.yml:217 | ad-hoc installation of packages [confidence high] | CI workflows (zizmor) |
| low | zizmor/self-repository |
.github/workflows/agent-implement-ticket.yml:366 | use GitHub's dedicated self-repository syntax [confidence high] | CI workflows (zizmor) |
| low | zizmor/adhoc-packages |
.github/workflows/agent-implement-ticket.yml:384 | ad-hoc installation of packages [confidence high] | CI workflows (zizmor) |
| low | zizmor/self-repository |
.github/workflows/agent-implement-ticket.yml:513 | use GitHub's dedicated self-repository syntax [confidence high] | CI workflows (zizmor) |
| low | zizmor/artipacked |
.github/workflows/agent-implement-ticket.yml:535 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| low | zizmor/artipacked |
.github/workflows/build-release.yml:170 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| low | zizmor/artipacked |
.github/workflows/build-release.yml:506 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| low | zizmor/artipacked |
.github/workflows/build-release.yml:63 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| low | zizmor/artipacked |
.github/workflows/build-release.yml:642 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| low | zizmor/self-repository |
.github/workflows/build-release.yml:653 | use GitHub's dedicated self-repository syntax [confidence high] | CI workflows (zizmor) |
| low | zizmor/self-repository |
.github/workflows/build-release.yml:739 | use GitHub's dedicated self-repository syntax [confidence high] | CI workflows (zizmor) |
| low | zizmor/artipacked |
.github/workflows/build-release.yml:940 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| low | zizmor/self-repository |
.github/workflows/build-release.yml:951 | use GitHub's dedicated self-repository syntax [confidence high] | CI workflows (zizmor) |
| low | zizmor/self-repository |
.github/workflows/build-release.yml:991 | use GitHub's dedicated self-repository syntax [confidence high] | CI workflows (zizmor) |
| low | zizmor/artipacked |
.github/workflows/cli-headless-e2e.yml:63 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| low | zizmor/artipacked |
.github/workflows/codeql.yml:55 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| low | zizmor/artipacked |
.github/workflows/desktop-smoke.yml:49 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| low | zizmor/self-repository |
.github/workflows/desktop-smoke.yml:55 | use GitHub's dedicated self-repository syntax [confidence high] | CI workflows (zizmor) |
| low | zizmor/self-repository |
.github/workflows/desktop-smoke.yml:58 | use GitHub's dedicated self-repository syntax [confidence high] | CI workflows (zizmor) |
| low | zizmor/self-repository |
.github/workflows/desktop-smoke.yml:64 | use GitHub's dedicated self-repository syntax [confidence high] | CI workflows (zizmor) |
| low | zizmor/self-repository |
.github/workflows/desktop-smoke.yml:78 | use GitHub's dedicated self-repository syntax [confidence high] | CI workflows (zizmor) |
| low | zizmor/artipacked |
.github/workflows/dotnet-test.yml:116 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| low | zizmor/artipacked |
.github/workflows/dotnet-test.yml:47 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| low | zizmor/artipacked |
.github/workflows/dotnet-test.yml:91 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| low | zizmor/adhoc-packages |
.github/workflows/translation-sync.yml:123 | ad-hoc installation of packages [confidence high] | CI workflows (zizmor) |
| low | zizmor/artipacked |
.github/workflows/translation-sync.yml:202 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| low | zizmor/artipacked |
.github/workflows/translation-validation.yml:35 | credential persistence through GitHub Actions artifacts [confidence low] | CI workflows (zizmor) |
| low | gitleaks/generic-api-key |
DataAnalysisExpert/workbook_analysis.json:8495 | Possible generic-api-key secret in history (commit c8f13a8d26); removed from the current tree but still retrievable | Secrets (gitleaks) |
| low | gitleaks/generic-api-key |
WebBasedData/screenshot-database-v2.json:3468 | Possible generic-api-key secret in the current tree | Secrets (gitleaks) |
| low | gitleaks/generic-api-key |
WebBasedData/screenshot-database.json:1504 | Possible generic-api-key secret in the current tree | Secrets (gitleaks) |
| low | gitleaks/generic-api-key |
wingetui/__init__.py:42 | Possible generic-api-key secret in history (commit 5aa4462bbc); removed from the current tree but still retrievable | Secrets (gitleaks) |
| low | gitleaks/generic-api-key |
wingetui/__main__.py:50 | Possible generic-api-key secret in history (commit 9bd12b613d); removed from the current tree but still retrievable | Secrets (gitleaks) |
| info | zizmor/template-injection |
.github/workflows/build-release.yml:225 | code injection via template expansion [confidence low] | CI workflows (zizmor) |
| info | zizmor/template-injection |
.github/workflows/build-release.yml:325 | code injection via template expansion [confidence low] | CI workflows (zizmor) |
| info | zizmor/template-injection |
.github/workflows/build-release.yml:395 | code injection via template expansion [confidence low] | CI workflows (zizmor) |
| info | zizmor/template-injection |
.github/workflows/build-release.yml:453 | code injection via template expansion [confidence low] | CI workflows (zizmor) |
| info | zizmor/template-injection |
.github/workflows/build-release.yml:551 | code injection via template expansion [confidence low] | CI workflows (zizmor) |
| info | zizmor/template-injection |
.github/workflows/build-release.yml:662 | code injection via template expansion [confidence low] | CI workflows (zizmor) |
| info | zizmor/template-injection |
.github/workflows/build-release.yml:665 | code injection via template expansion [confidence low] | CI workflows (zizmor) |
| info | zizmor/template-injection |
.github/workflows/build-release.yml:755 | code injection via template expansion [confidence low] | CI workflows (zizmor) |
| info | zizmor/template-injection |
.github/workflows/build-release.yml:910 | code injection via template expansion [confidence low] | CI workflows (zizmor) |
| info | zizmor/template-injection |
.github/workflows/build-release.yml:911 | code injection via template expansion [confidence low] | CI workflows (zizmor) |
| info | zizmor/template-injection |
.github/workflows/build-release.yml:912 | code injection via template expansion [confidence low] | CI workflows (zizmor) |
| info | zizmor/template-injection |
.github/workflows/build-release.yml:913 | code injection via template expansion [confidence low] | CI workflows (zizmor) |
| info | zizmor/template-injection |
.github/workflows/build-release.yml:959 | code injection via template expansion [confidence low] | CI workflows (zizmor) |
| info | zizmor/template-injection |
.github/workflows/build-release.yml:962 | 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.
| Analyzer | Pillar | Status | Version | Findings | Note |
|---|---|---|---|---|---|
| AI tool configuration | AI provenance | ok | signatures-v1 | 0 | |
| Explicit AI attribution | AI provenance | ok | signatures-v1 | 0 | |
| Release velocity | AI provenance | ok | prov-5 | 0 | |
| Coding style | AI provenance | ok | — | 0 | |
| Commit velocity | AI provenance | ok | prov-5 | 0 | |
| Findings in AI-written lines | AI provenance | ok | git-blame | 0 | |
| Complexity (lizard) | Code quality | ok | lizard 1.25.1 | 0 | |
| Documentation | Code quality | ok | — | 0 | |
| Duplication (jscpd) | Code quality | ok | repotrust-dup-w6 | 0 | |
| Lint | Code quality | ok | opengrep 1.33.1; rules f1d2b562b414 | 200 | |
| Tests and CI | Code quality | ok | — | 0 | |
| Type safety | Code quality | skipped | — | 0 | |
| CI workflows (zizmor) | Security | ok | zizmor 1.32.0 | 129 | |
| Dependencies (osv-scanner) | Security | skipped | — | 0 | |
| Release downloads | Security | ok | — | 0 | |
| Security posture | Security | ok | — | 0 | |
| Package registries | Security | skipped | — | 0 | no registry dependencies declared |
| Static analysis (opengrep) | Security | ok | opengrep 1.33.1; rules f1d2b562b414 | 11 | |
| OpenSSF Scorecard | Security | skipped | — | 0 | no published OpenSSF Scorecard result for this repo |
| Secrets (gitleaks) | Security | ok | gitleaks 8.30.1 | 9 |
Score history
| Scored | Commit | Scoring | AI provenance | Quality | Security |
|---|---|---|---|---|---|
| 2026-11-14 | da6be7b86100 | prov-5+qual-2+sec-2 | 26% | 81 | 58 |
Full text report
- Repository: https://github.com/Devolutions/UniGetUI
- Commit:
da6be7b86100302a79a208e7ab4d5c6fcd695fd5 - Generated: 2026-11-14T15:23:49+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) | 26 | explicit | 95% | 100% |
| Code quality | 81 | strong | 90% | 100% |
| Security | 58 | weak | 85% | 100% |
AI provenance
Explicit AI attribution on 26% of first-party code added; an estimated 26% including velocity signals.
- Explicitly attributed share (lower bound): 25.8%
- Unattributed share in AI-consistent velocity bursts: 9.1%
- Estimated AI-generated share: 25.8%
| AI tool | Attributed commits | Lines added |
|---|---|---|
| Claude Code | 52 | 71,309 |
| GitHub Copilot coding agent | 41 | 145,483 |
| Jules | 2 | 702 |
| OpenAI Codex | 1 | 6 |
- AI tooling configured in repo: claude-code, generic-agent
Current source lines last changed by AI-attributed commits: 95,933 of 206,797.
| Findings per 1,000 lines | AI-attributed | Other | Ratio |
|---|---|---|---|
| Quality | 0.823 | 1.091 | 0.75x |
| Security | 0.083 | 0.027 | 3.07x |
- Stylometry index: 0.04 per 1,000 lines (narrated steps 1, placeholders 0, assistant phrasing 2, emoji 8). Reported as a signal, not scored.
| Month | Lines added | Attributed to AI |
|---|---|---|
| 2025-10 | 420 | 0% |
| 2026-01 | 239 | 0% |
| 2026-02 | 21 | 0% |
| 2026-03 | 48,452 | 0% |
| 2026-04 | 21,376 | 37% |
| 2026-05 | 22,631 | 63% |
| 2026-06 | 7,147 | 0% |
| 2026-07 | 11,063 | 0% |
| 2026-08 | 15,704 | 8% |
| 2026-09 | 61,622 | 53% |
| 2026-10 | 64,050 | 48% |
| 2026-11 | 92,560 | 84% |
Evidence
- GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot' (da6be7b86100)
- Claude Code: PR description attribution (d2a052af567b)
- GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot' (690c213096ff)
- Claude Code: PR description attribution (0eb83d8c6321)
- GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot' (07300b221576)
- Claude Code: PR description attribution (89862a25a420)
- Claude Code: PR description attribution (02a9e7f55702)
- Claude Code: PR description attribution (f14f21aeca69)
- Claude Code: PR description attribution (ba1efa9febe2)
- Claude Code: PR description attribution (7a023eef0d87)
- Claude Code: PR description attribution (312625587403)
- Claude Code: PR description attribution (78fdd77f0372)
- Claude Code: PR description attribution (d10a636abf1c)
- Claude Code: trailer 'Co-authored-by: Claude' (b0cf6ab87929)
- GitHub Copilot coding agent: trailer 'Co-authored-by: Copilot' (97614e2636c3)
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.53, CI runs tests; 16% of function code in complex or long functions; 5% duplicated lines. Weakest area: complexity.
| Area | Score |
|---|---|
| Complexity (lizard) | 62 |
| Duplication | 76 |
| Code smells (Opengrep) | 83 |
| Tests and CI | 100 |
| Documentation | 80 |
| Type safety | n/a |
| Process (Scorecard review/maintenance) | n/a |
- Functions: 9,488; mean complexity 3.6, 90th percentile 8; 229 complex and 94 long functions
- Duplicated lines: 4.6% of 130,374 compared
- Tests: 110,525 test lines for 206,797 source lines (ratio 0.53); CI test commands: dotnet test, unittest; 69% of recent source commits also change tests
- Docs missing or thin: changelog
Most complex functions:
- CoreTools::CreateRelaunchStartInfo in src/UniGetUI.Core.Tools/Tools.cs: complexity 279, 1699 lines
- AddCommand::RunInner in src/UniGetUI.AgentSkills.Cli/AddRun.cs: complexity 120, 436 lines
- SearchMultiselect::Run<T> in src/UniGetUI.AgentSkills.Cli/SearchMultiselect.cs: complexity 95, 290 lines
- struct::IsWide in src/UniGetUI.AgentSkills.Cli/Ui.cs: complexity 69, 12 lines
- CargoBinaryResolver::ResolveAsync in src/UniGetUI.PackageEngine.Managers.Cargo/CargoBinaryResolver.cs: complexity 63, 117 lines
Security
Security posture is weak: 0 possible secret(s) in the tree, 4 only in history; 3 high-severity SAST findings; 75 high-severity workflow issues. Weakest area: ci actions.
| Area | Score |
|---|---|
| Secrets (gitleaks, tree + history) | 44 |
| Static analysis (Opengrep) | 99 |
| Vulnerable dependencies (OSV) | n/a |
| CI workflows (zizmor) | 0 |
| Posture (policy, updates, signing, lockfiles) | 100 |
| OpenSSF Scorecard | n/a |
- Posture checks passed: security policy, dependency updates, signed commits, lockfiles; missing: none
Top findings
| Severity | Finding | Location |
|---|---|---|
| high | opengrep/javascript.browser.security.insecure-document-method: User controlled data in methods like innerHTML, outerHTML or document.write is an anti-pattern that can lead to XSS vulnerabilities [confidence low] |
src/SharedAssets/Assets/Symbols/Font/demo-files/demo.js:18 |
| high | opengrep/javascript.browser.security.insecure-innerhtml: User controlled data in a testDrive.innerHTML is an anti-pattern that can lead to XSS vulnerabilities [confidence low] |
src/SharedAssets/Assets/Symbols/Font/demo-files/demo.js:18 |
| high | opengrep/csharp.lang.security.injections.os-command-injection: The software constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component. [confidence low] |
src/UniGetUI.Core.Tools/Tools.cs:1477 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/actions/desktop-session/action.yml:92 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/actions/desktop-session/action.yml:118 |
| high | zizmor/github-env: dangerous use of environment file [confidence low] |
.github/actions/desktop-session/action.yml:224 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/actions/desktop-session-cleanup/action.yml:25 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/actions/unigetui-build/action.yml:21 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/actions/unigetui-build/action.yml:27 |
| high | zizmor/github-env: dangerous use of environment file [confidence low] |
.github/actions/unigetui-desktop/action.yml:52 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/agent-eval.yml:37 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/agent-eval.yml:91 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/agent-eval.yml:97 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/agent-eval.yml:115 |
| high | zizmor/dangerous-triggers: use of fundamentally insecure workflow trigger [confidence medium] |
.github/workflows/agent-implement-ticket.yml:108 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/agent-implement-ticket.yml:142 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/agent-implement-ticket.yml:168 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/agent-implement-ticket.yml:187 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/agent-implement-ticket.yml:204 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/agent-implement-ticket.yml:210 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/agent-implement-ticket.yml:240 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/agent-implement-ticket.yml:256 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/agent-implement-ticket.yml:298 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/agent-implement-ticket.yml:304 |
| high | zizmor/unpinned-uses: unpinned action reference [confidence high] |
.github/workflows/agent-implement-ticket.yml:361 |
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
- binary-release-asset: release v2026.3.4 ships UniGetUI.arm64.zip (111 downloads)
- binary-release-asset: release v2026.3.4 ships UniGetUI.Installer.arm64.exe (194 downloads)
- binary-release-asset: release v2026.3.4 ships UniGetUI.Installer.exe (73116 downloads)
- binary-release-asset: release v2026.3.4 ships UniGetUI.Installer.x64.exe (1876 downloads)
- binary-release-asset: release v2026.3.4 ships UniGetUI.linux-arm64.deb (59 downloads)
- readme-download-lure: links directly to a downloadable archive or installer
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: 206,797; test lines: 110,525
| Language | Lines |
|---|---|
| C# | 305,366 |
| PowerShell | 11,835 |
| Objective-C | 91 |
| JavaScript | 30 |