Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.
22 of your 39 findings came from Repobility's proprietary detections. ✓ Repobility tags below mark them.

godotengine/godot

https://github.com/godotengine/godot · scanned 2026-06-05 05:40 UTC (9 hours, 6 minutes ago) · 10 languages

413 findings (37 legacy + 376 scanner) 11/13 scanners ran 57th percentile · C · large (100-500K LoC) Scanner says 91 (lower by 26)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 9 hours, 6 minutes ago · v2 · 225 findings from 2 sources. Findings combine the legacy security pipeline AND the multi-layer engine (atlas, wiring, flows, ranked) AND verified AI agent contributions.

JSON
Score breakdown â 2026-05-18-v5
Component Sub-score Weight Contribution
structure_score 75.0 0.15 11.25
security_score 100.0 0.25 25.00
testing_score 0.0 0.20 0.00
documentation_score 90.0 0.15 13.50
practices_score 57.0 0.15 8.55
code_quality 66.0 0.10 6.60
Overall 1.00 64.9
security_score may be inflated — optional security scanners were skipped on this fast scan
Severity distribution — click a segment to filter
Active filters: severity: high × excluding tests × Reset all
Scan summary Repository scanned at 90.7/100 with 88.9% coverage. It contains 10124 nodes across 0 cross-layer flows, written primarily in mixed languages. Engine surfaced 188 findings — concentrated in quality (107), software (50), cicd (15). Risk profile is high: 0 critical, 2 high, 26 medium. Recommended next step: open the quality layer findings first — that's where the highest-impact wins live.

Showing 28 of 225 findings. Click TP / FP to vote on a finding's accuracy — votes adjust the confidence weighting and improve detection across the platform.

high Legacy quality quality conf 1.00 ✓ Repobility [MINED108] `self.next_line` used but never assigned in __init__: Method `next_tag` of class `LicenseReader` reads `self.next_line`, but no assignment to it exists in __init__ (and no class-level fallback). This raises AttributeError the first time the method runs against an instance.
Initialize `self.next_line = <default>` in __init__, or add a class-level default.
core/core_builders.py:185 qualitylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout@v6` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate.
Replace with: `uses: actions/checkout@<40-char-sha> # v6` and let Dependabot bump it on a scheduled cadence.
.github/workflows/android_builds.yml:48 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout@v6` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate.
Replace with: `uses: actions/checkout@<40-char-sha> # v6` and let Dependabot bump it on a scheduled cadence.
.github/workflows/web_builds.yml:37 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout@v6` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate.
Replace with: `uses: actions/checkout@<40-char-sha> # v6` and let Dependabot bump it on a scheduled cadence.
.github/workflows/macos_builds.yml:35 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout@v6` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate.
Replace with: `uses: actions/checkout@<40-char-sha> # v6` and let Dependabot bump it on a scheduled cadence.
.github/workflows/windows_builds.yml:60 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout@v6` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate.
Replace with: `uses: actions/checkout@<40-char-sha> # v6` and let Dependabot bump it on a scheduled cadence.
.github/workflows/ios_builds.yml:22 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout@v6` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate.
Replace with: `uses: actions/checkout@<40-char-sha> # v6` and let Dependabot bump it on a scheduled cadence.
.github/workflows/static_checks.yml:23 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout@v6` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate.
Replace with: `uses: actions/checkout@<40-char-sha> # v6` and let Dependabot bump it on a scheduled cadence.
.github/workflows/linux_builds.yml:122 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED115] Action `actions/setup-dotnet` pinned to mutable ref `@v5`: `uses: actions/setup-dotnet@v5` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate.
Replace with: `uses: actions/setup-dotnet@<40-char-sha> # v5` and let Dependabot bump it on a scheduled cadence.
.github/workflows/linux_builds.yml:166 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED115] Action `actions/setup-java` pinned to mutable ref `@v5`: `uses: actions/setup-java@v5` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate.
Replace with: `uses: actions/setup-java@<40-char-sha> # v5` and let Dependabot bump it on a scheduled cadence.
.github/workflows/android_builds.yml:53 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED115] Action `emscripten-core/setup-emsdk` pinned to mutable ref `@v16`: `uses: emscripten-core/setup-emsdk@v16` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate.
Replace with: `uses: emscripten-core/setup-emsdk@<40-char-sha> # v16` and let Dependabot bump it on a scheduled cadence.
.github/workflows/web_builds.yml:42 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED115] Action `google-github-actions/auth` pinned to mutable ref `@v3`: `uses: google-github-actions/auth@v3` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate.
Replace with: `uses: google-github-actions/auth@<40-char-sha> # v3` and let Dependabot bump it on a scheduled cadence.
.github/workflows/android_builds.yml:139 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED115] Action `google-github-actions/setup-gcloud` pinned to mutable ref `@v3`: `uses: google-github-actions/setup-gcloud@v3` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate.
Replace with: `uses: google-github-actions/setup-gcloud@<40-char-sha> # v3` and let Dependabot bump it on a scheduled cadence.
.github/workflows/android_builds.yml:145 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED115] Action `j178/prek-action` pinned to mutable ref `@v2`: `uses: j178/prek-action@v2` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate.
Replace with: `uses: j178/prek-action@<40-char-sha> # v2` and let Dependabot bump it on a scheduled cadence.
.github/workflows/static_checks.yml:43 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED115] Action `rui314/setup-mold` pinned to mutable ref `@v1`: `uses: rui314/setup-mold@v1` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate.
Replace with: `uses: rui314/setup-mold@<40-char-sha> # v1` and let Dependabot bump it on a scheduled cadence.
.github/workflows/linux_builds.yml:184 dependencylegacy
high Legacy software dependency conf 0.90 ✓ Repobility [MINED115] Action `tj-actions/changed-files` pinned to mutable ref `@v47`: `uses: tj-actions/changed-files@v47` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate.
Replace with: `uses: tj-actions/changed-files@<40-char-sha> # v47` and let Dependabot bump it on a scheduled cadence.
.github/workflows/static_checks.yml:35 dependencylegacy
high 9-layer security owasp conf 1.00 Insecure pattern 'eval_used' in platform/web/js/libs/library_godot_javascript_singleton.js:355
Found a known-risky pattern (eval_used). Review and replace if possible.
platform/web/js/libs/library_godot_javascript_singleton.js:355 owaspeval_used
high 9-layer cicd supply-chain conf 1.00 tj-actions/changed-files is tag-pinned instead of SHA-pinned
The tj-actions/changed-files incident showed that mutable action tags can execute credential-stealing code across many repositories. Pin this action to a reviewed commit SHA.
.github/workflows/static_checks.yml:35 supply-chaingithub-actionspinned-dependencies
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
core/math/transform_interpolator.cpp:40 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
core/math/rect2i.h:16 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
core/math/rect2.cpp:18 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
core/math/geometry_3d.h:215 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
core/math/geometry_2d.h:180 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
core/math/face3.h:54 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
core/math/dynamic_bvh.h:79 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
core/math/a_star_grid_2d.h:48 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
core/math/a_star_grid_2d.cpp:401 qualitylegacy
high Legacy quality quality conf 0.86 Duplicated implementation block across source files
Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used.
core/io/file_access_encrypted.h:26 qualitylegacy
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

This page is publicly accessible at: https://repobility.com/scan/f2237c1f-9cc0-4d72-89e9-d822433e9470/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/f2237c1f-9cc0-4d72-89e9-d822433e9470/

Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.