https://github.com/Stirling-Tools/Stirling-PDF
· scanned 2026-06-05 07:26 UTC (5 days, 21 hours ago)
· 10 languages
4361 raw signals (281 security + 4080 graph) 11/13 scanners ran 59th percentile · Typescript · huge (>500K LoC) System graph score 53 (higher by 33)
Last scanned 5 days, 21 hours ago · v2 · 511 actionable findings from 2 signal sources. 1809 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
65.0 | 0.15 | 9.75 |
security_score |
100.0 | 0.25 | 25.00 |
testing_score |
80.0 | 0.20 | 16.00 |
documentation_score |
95.0 | 0.15 | 14.25 |
practices_score |
92.0 | 0.15 | 13.80 |
code_quality |
73.0 | 0.10 | 7.30 |
| Overall | 1.00 | 86.1 |
Showing 394 of 511 actionable findings. 2320 raw detector signals were grouped into reader-sized issues. Click TP / FP to vote on a finding's accuracy — votes adjust the confidence weighting and improve detection across the platform.
app/proprietary/src/main/java/stirling/software/proprietary/cluster/valkey/ValkeyConnectionConfiguration.java:103
scripts/counter_translation_v3.py:88
engine/scripts/generate_tool_models.py:127
frontend/editor/src/proprietary/routes/AuthCallback.tsx:7, 67 (2 hits).github/workflows/PR-Auto-Deploy-V2.yml:118, 138, 139, 207, 208, 232, 248, 261, +7 more (17 hits).github/workflows/frontend-backend-licenses-update.yml:74, 75, 322, 340, 341, 360, 361, 362 (8 hits).github/workflows/PR-Auto-Deploy-V2.yml:295
app/core/src/main/java/stirling/software/SPDF/exception/GlobalExceptionHandler.java:1396
app/proprietary/src/main/java/stirling/software/proprietary/security/InitialSecuritySetup.java:133
app/proprietary/src/main/java/stirling/software/proprietary/service/ServerCertificateService.java:42
engine/src/stirling/models/tool_models.py:1702, 1710 (2 hits)frontend/editor/public/locales/ar-AR/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/az-AZ/translation.toml:157, 160, 161, 164, 165, 2163, 2315, 2507, +30 more (38 hits)frontend/editor/public/locales/bg-BG/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/bo-CN/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/ca-CA/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +34 more (42 hits)frontend/editor/public/locales/cs-CZ/translation.toml:157, 160, 161, 164, 165, 2163, 2315, 2507, +30 more (38 hits)frontend/editor/public/locales/da-DK/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/de-DE/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/el-GR/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/en-GB/translation.toml:101, 158, 161, 162, 165, 166, 2195, 2347, +37 more (45 hits)frontend/editor/public/locales/es-ES/translation.toml:100, 157, 160, 161, 164, 165, 2151, 2303, +35 more (43 hits)frontend/editor/public/locales/eu-ES/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/fa-IR/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/fr-FR/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/ga-IE/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/hi-IN/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/hr-HR/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/hu-HU/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/id-ID/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/it-IT/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +36 more (44 hits)frontend/editor/public/locales/ja-JP/translation.toml:157, 160, 161, 164, 165, 2163, 2315, 2507, +30 more (38 hits)frontend/editor/public/locales/ko-KR/translation.toml:157, 160, 161, 164, 165, 2163, 2315, 2507, +30 more (38 hits)frontend/editor/public/locales/ml-ML/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/nl-NL/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/no-NB/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/pl-PL/translation.toml:157, 160, 161, 164, 165, 2163, 2315, 2507, +30 more (38 hits)frontend/editor/public/locales/pt-BR/translation.toml:157, 160, 161, 164, 165, 2163, 2315, 2507, +30 more (38 hits)frontend/editor/public/locales/pt-PT/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/ro-RO/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/ru-RU/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/sk-SK/translation.toml:157, 160, 161, 164, 165, 2163, 2315, 2507, +30 more (38 hits)frontend/editor/public/locales/sl-SI/translation.toml:157, 160, 161, 164, 165, 2163, 2315, 2507, +30 more (38 hits)frontend/editor/public/locales/sr-LATN-RS/translation.toml:157, 160, 161, 164, 165, 2163, 2315, 2507, +34 more (42 hits)frontend/editor/public/locales/sv-SE/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/th-TH/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/tr-TR/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +33 more (41 hits)frontend/editor/public/locales/uk-UA/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/vi-VN/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2315, +35 more (43 hits)frontend/editor/public/locales/zh-BO/translation.toml:100, 157, 160, 161, 164, 165, 2163, 2507, +14 more (22 hits)frontend/editor/public/locales/zh-CN/translation.toml:2507, 3003, 3006, 3375, 3377, 3556, 3562, 3824, +6 more (14 hits)frontend/editor/public/locales/zh-TW/translation.toml:2163, 2507, 3003, 3006, 3375, 3377, 3556, 3562, +7 more (15 hits)frontend/editor/src/core/components/onboarding/slides/FirstLoginSlide.tsx:17, 100 (2 hits)frontend/editor/src/core/components/shared/FirstLoginModal.tsx:103
frontend/editor/src/core/hooks/tools/automate/useSuggestedAutomations.ts:233
frontend/editor/src/proprietary/components/shared/ChangeUserPasswordModal.tsx:330
scripts/translations/translation_analyzer.py:67, 84, 86, 87, 98, 100, 101, 119, +5 more (13 hits)scripts/translations/toml_beautifier.py:55, 104, 107, 110, 122, 125, 128, 129, +2 more (10 hits)scripts/coverage-summary.py:49scripts/translations/batch_translator.py:99engine/src/stirling/api/routes/documents.py:49
engine/src/stirling/api/routes/documents.py:70
engine/src/stirling/api/routes/documents.py:23engine/src/stirling/api/routes/orchestrator.py:30engine/src/stirling/api/routes/pdf_edit.py:15engine/src/stirling/api/routes/pdf_questions.py:15engine/src/stirling/api/routes/ledger.py:47
engine/src/stirling/api/routes/agent_drafts.py:20
engine/src/stirling/api/routes/ledger.py:38
engine/src/stirling/api/routes/pdf_comments.py:28
engine/src/stirling/api/routes/execution.py:15
engine/src/stirling/api/routes/agent_drafts.py:28
docker/embedded/Dockerfile.fat:9, 50 (2 hits)docker/embedded/Dockerfile.ultra-lite:5, 50 (2 hits)engine/Dockerfile.dev:2.github/scripts/requirements_dev.txt:10
.pre-commit-config.yaml:2, 14, 24, 28, 37 (5 hits)gradle/wrapper/gradle-wrapper.jar:1
app/core/src/main/resources/static/python/png_to_webp.py:42app/core/src/main/resources/static/python/split_photos.py:106app/saas/src/main/java/stirling/software/saas/payg/job/JobService.java:86app/common/src/main/java/stirling/software/common/util/SvgSanitizer.java:86
docker/embedded/Dockerfile:11docker/embedded/Dockerfile.fat:12docker/embedded/Dockerfile.ultra-lite:9frontend/editor/src/saas/routes/login/EmailPasswordForm.tsx:64
frontend/editor/src/saas/routes/ResetPassword.tsx:209
engine/src/stirling/api/routes/ledger.py:46
securityAuth fastapi unauth mutation
engine/src/stirling/api/routes/ledger.py:37
securityAuth fastapi unauth mutation
engine/src/stirling/api/routes/pdf_comments.py:27
securityAuth fastapi unauth mutation
engine/src/stirling/api/routes/execution.py:14
securityAuth fastapi unauth mutation
engine/src/stirling/api/routes/orchestrator.py:29
securityAuth fastapi unauth mutation
engine/src/stirling/api/routes/pdf_edit.py:14
securityAuth fastapi unauth mutation
engine/src/stirling/api/routes/pdf_questions.py:14
securityAuth fastapi unauth mutation
app/common/src/main/java/stirling/software/common/annotations/api/AdminServerCertificateApi.java:15, 20 (2 hits)app/proprietary/src/main/java/stirling/software/proprietary/security/controller/api/ServerCertificateController.java:31
app/common/src/main/java/stirling/software/common/annotations/api/InviteApi.java:15, 20 (2 hits)app/core/src/main/java/stirling/software/SPDF/controller/api/misc/MobileScannerController.java:44
app/core/src/main/java/stirling/software/SPDF/controller/api/misc/MobileScannerController.java:265
app/core/src/main/java/stirling/software/SPDF/controller/web/MetricsController.java:384
app/common/src/main/java/stirling/software/common/util/CbzUtils.java:66app/common/src/main/java/stirling/software/common/util/FileToPdf.java:89app/common/src/main/java/stirling/software/common/util/ZipExtractionUtils.java:121frontend/editor/src/core/hooks/useUrlSync.ts:41frontend/editor/src/proprietary/components/shared/UpdateSeatsModal.tsx:93frontend/editor/src/proprietary/components/shared/stripeCheckout/hooks/useCheckoutSession.ts:86engine/src/stirling/config/settings.py:168
scripts/harvest_type3_fonts.py:123, 211, 221 (3 hits)scripts/translations/translation_merger.py:46, 77, 289 (3 hits)scripts/type3_to_cff.py:92, 318, 492 (3 hits)scripts/convert_cff_to_ttf.py:77, 490 (2 hits)scripts/translations/compact_translator.py:41, 56 (2 hits)scripts/translations/translation_analyzer.py:35, 55 (2 hits)testing/cucumber/features/environment.py:46, 59 (2 hits)scripts/download_pdf_samples.py:154frontend/editor/src/desktop/components/AppProviders.tsx:127, 128, 143, 144 (4 hits)frontend/editor/src/desktop/services/authService.ts:95, 145 (2 hits)frontend/editor/src/core/components/onboarding/orchestrator/useOnboardingOrchestrator.ts:30frontend/editor/src/core/components/shared/ErrorBoundary.tsx:56frontend/editor/src/core/services/googleDrivePickerService.ts:161frontend/editor/src/core/services/httpErrorHandler.ts:80frontend/editor/src/desktop/extensions/authSessionCleanup.ts:23frontend/editor/src/desktop/extensions/platformSessionBridge.ts:96.dockerignore
CI/CD securitycontainers
docker/base/Dockerfile:367docker/embedded/Dockerfile:61docker/embedded/Dockerfile.fat:57docker/embedded/Dockerfile.ultra-lite:50docker/frontend/Dockerfile:19engine/Dockerfile:2engine/Dockerfile.dev:2docker/embedded/Dockerfile:40docker/embedded/Dockerfile.fat:41docker/embedded/Dockerfile.ultra-lite:40frontend/editor/src/core/components/shared/MobileUploadModal.tsx:97, 137, 155, 214, 254 (5 hits)frontend/editor/src/core/components/shared/QuickAccessBar.tsx:127, 148, 440, 531, 538 (5 hits)frontend/editor/src/core/components/shared/FileSelectorPicker.tsx:265, 289 (2 hits)frontend/editor/src/core/components/fileManager/FileListItem.tsx:151frontend/editor/src/core/components/onboarding/Onboarding.tsx:123frontend/editor/src/core/components/shared/BulkShareModal.tsx:81frontend/editor/src/core/components/onboarding/orchestrator/onboardingStorage.ts:17frontend/editor/src/core/components/shared/FileSelectorPicker.tsx:49frontend/editor/src/core/components/tools/pdfTextEditor/PdfTextEditorView.tsx:395.well-known/security.txt
repo-level (5 hits).github/workflows/PR-Auto-Deploy-V2.yml.github/workflows/PR-Demo-Comment-with-react.yml.github/workflows/build.yml.github/workflows/deploy-on-v2-commit.yml.github/workflows/frontend-backend-licenses-update.yml.github/workflows/multiOSReleases.yml.github/workflows/package-managers.yml.github/workflows/push-docker-base.ymlfrontend/editor/src/core/components/onboarding/OnboardingTour.tsx:163
Dangerous innerhtml
frontend/editor/src/core/components/shared/tooltip/TooltipContent.tsx:57
Dangerous innerhtml
scripts/harvest_type3_fonts.py:153
Subprocess shell true
scripts/translations/auto_translate.py:26
Subprocess shell true
app/common/src/main/java/stirling/software/common/util/ExceptionUtils.java:1220
Weak hash
app/core/src/main/java/stirling/software/SPDF/controller/api/misc/CompressController.java:742
Weak hash
app/proprietary/src/main/java/stirling/software/proprietary/security/service/TotpService.java:119
Weak hash
frontend/editor/src/proprietary/components/shared/config/configSections/AdminSecuritySection.tsx:957
Weak hash
docker/embedded/Dockerfile
Ports
docker/embedded/Dockerfile
Ports
engine/Dockerfile
Ports
docker/embedded/Dockerfile
Ports
.dockerignore
CI/CD securitycontainers
docker/compose/docker-compose.yml:1
CI/CD securitycontainers
docker/compose/docker-compose.yml:1
CI/CD securitycontainers
app/core/src/main/java/stirling/software/SPDF/config/swagger/WordConversionResponse.java:34, 38 (2 hits)app/common/src/main/java/stirling/software/common/model/oauth2/GoogleProvider.java:38app/common/src/main/java/stirling/software/common/model/oauth2/KeycloakProvider.java:27app/common/src/main/java/stirling/software/common/util/CbzUtils.java:161app/common/src/main/java/stirling/software/common/util/GeneralFormFieldTypeSupport.java:16app/common/src/main/java/stirling/software/common/util/PdfToCbzUtils.java:30app/core/src/main/java/stirling/software/SPDF/config/swagger/JsonDataResponse.java:25app/core/src/main/java/stirling/software/SPDF/config/swagger/MultiFileResponse.java:49frontend/editor/public/robots.txt
repo-level (2 hits)repo-level (7 hits).github/scripts/check_language_toml.py:158
app/core/src/main/resources/static/python/split_photos.py:66
scripts/download_pdf_samples.py:123
engine/src/stirling/contracts/common.py:219
engine/src/stirling/services/tracking.py:229
engine/src/stirling/agents/ledger/validators/_parsing.py:28
engine/src/stirling/agents/ledger/validators/_parsing.py:14
scripts/translations/bulk_auto_translate.py:94
scripts/counter_translation_v3.py:99
Showing first 300 of 394. Refine filters or use the findings page for deep search.
This page is publicly accessible at:
https://repobility.com/scan/aeb22723-45c8-4d6f-af4d-b72b584ba6d4/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/aeb22723-45c8-4d6f-af4d-b72b584ba6d4/
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.