← Back to scan
File as GitHub Issue repo: decolua/9router

Push this scan report to decolua/9router

Click the green button below to open GitHub’s new-issue form, pre-filled with the report title, summary table, top findings, and an embedded score-card image. No authentication needed — you review on GitHub before submitting. Repobility is credited as the scanner.

Embedded score card image

This image will render at the top of the issue body. Hosted on Repobility, refreshes automatically after re-scans.

Repobility score card

Issue title

Crypto — TLS verification disabled

Curate findings to include

Pick exactly which findings appear in the issue body. By default the top 5 are included. Uncheck noise, check what matters.

Top 5 (default)
Severity Rule Title File:line
CRIT SECR004 Password embedded in URL src/app/(dashboard)/dashboard/proxy-poo…:404
CRIT SECR004 Password embedded in URL src/app/(dashboard)/dashboard/proxy-poo…:192
HIGH SEC016 [SEC016] LLM Prompt Injection — User Input in AI Prompt: User-supplied text is interpolat… src/shared/constants/providers.js:22
HIGH SEC016 [SEC016] LLM Prompt Injection — User Input in AI Prompt: User-supplied text is interpolat… open-sse/translator/request/openai-to-k…:47
HIGH CRYP006 Crypto — TLS verification disabled open-sse/utils/proxyFetch.js:161
HIGH CRYP006 Crypto — TLS verification disabled src/mitm/manager.js:267
HIGH CRYP006 Crypto — TLS verification disabled src/mitm/server.js:141
HIGH CRYP002 Crypto — weak hash or cipher (MD5, SHA1, DES, RC4) src/mitm/cert/install.js:11
HIGH SEC020 [SEC020] Secret Printed to Logs: Debug or diagnostic code appears to print a credential-b… src/app/(dashboard)/dashboard/providers…:393
HIGH SEC020 [SEC020] Secret Printed to Logs: Debug or diagnostic code appears to print a credential-b… open-sse/executors/default.js:250
HIGH JRN009 Secret-like setting is echoed into a password input value src/shared/components/EditConnectionMod…:187
HIGH JRN009 Secret-like setting is echoed into a password input value src/app/login/page.js:137
HIGH JRN009 Secret-like setting is echoed into a password input value src/app/(dashboard)/dashboard/providers…:156
HIGH JRN009 Secret-like setting is echoed into a password input value src/app/(dashboard)/dashboard/providers…:261
HIGH JRN009 Secret-like setting is echoed into a password input value src/app/(dashboard)/dashboard/providers…:1519
HIGH JRN009 Secret-like setting is echoed into a password input value src/app/(dashboard)/dashboard/providers…:1340
HIGH JRN009 Secret-like setting is echoed into a password input value src/app/(dashboard)/dashboard/media-pro…:273
HIGH JRN004 Consent is collected in UI without visible backend audit persistence src/shared/components/OAuthModal.js:571
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… src/app/api/keys/[id]/route.js:20
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… src/app/api/keys/[id]/route.js:5
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… src/app/api/providers/[id]/models/route…:208
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… src/app/api/providers/[id]/test-models/…:54
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… src/app/api/providers/[id]/route.js:175
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… src/app/api/providers/[id]/route.js:87
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… src/app/api/providers/[id]/route.js:63
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… src/app/api/provider-nodes/[id]/route.js:84
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… src/app/api/provider-nodes/[id]/route.js:5
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… src/app/api/usage/[connectionId]/route.…:105
MED ERR002 [ERR002] Empty Catch Block: Empty catch blocks hide errors. open-sse/utils/stream.js:279
MED ERR002 [ERR002] Empty Catch Block: Empty catch blocks hide errors. open-sse/handlers/chatCore.js:130
MED ERR002 [ERR002] Empty Catch Block: Empty catch blocks hide errors. cli/cli.js:577
MED AUC001 [AUC001] No Repobility access matrix policy found: The repository uses web/API frameworks…
MED AIC003 Duplicated implementation block across source files src/app/(dashboard)/dashboard/cli-tools…:166
MED AIC003 Duplicated implementation block across source files src/app/(dashboard)/dashboard/cli-tools…:28
MED AIC003 Duplicated implementation block across source files src/app/(dashboard)/dashboard/cli-tools…:324
MED AIC003 Duplicated implementation block across source files src/app/(dashboard)/dashboard/cli-tools…:101
MED AIC003 Duplicated implementation block across source files src/app/(dashboard)/dashboard/cli-tools…:143
MED AIC003 Duplicated implementation block across source files open-sse/translator/response/openai-res…:213
MED AIC003 Duplicated implementation block across source files open-sse/translator/request/openai-to-k…:132
MED AIC003 Duplicated implementation block across source files open-sse/translator/request/openai-resp…:14
MED AIC003 Duplicated implementation block across source files open-sse/translator/index.js:156
MED AIC003 Duplicated implementation block across source files open-sse/executors/qoder.js:32
MED AIC003 Duplicated implementation block across source files open-sse/executors/perplexity-web.js:313
MED AIC003 Duplicated implementation block across source files open-sse/executors/default.js:14
MED QUAL003 Magic number used as default arg open-sse/services/tokenRefresh.js:712
MED QUAL003 Magic number used as default arg src/shared/services/initializeCloudSync…:16
MED LOG001 PII printed to stdout/stderr open-sse/executors/default.js:235
MED LOG001 PII printed to stdout/stderr src/app/api/oauth/cursor/import/route.js:68
MED LOG001 PII printed to stdout/stderr src/app/api/oauth/kiro/import/route.js:53
MED LOG001 PII printed to stdout/stderr src/app/api/providers/[id]/test/testUti…:211
MED LOG001 PII printed to stdout/stderr src/app/api/providers/[id]/models/route…:278
MED LOG001 PII printed to stdout/stderr src/shared/services/initializeApp.js:115
MED SUPC002 Supply chain — npm install without lockfile src/shared/components/Sidebar.js:105
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint open-sse/services/provider.js:42
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint open-sse/utils/proxyFetch.js:108
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint open-sse/translator/request/openai-to-k…:126
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint open-sse/translator/request/openai-to-c…:224
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint open-sse/translator/helpers/geminiHelpe…:57
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint src/app/(dashboard)/dashboard/proxy-poo…:404
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint src/app/(dashboard)/dashboard/proxy-poo…:192
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint src/app/api/providers/[id]/models/route…:53
MED DKR001 Docker final stage has no non-root USER Dockerfile:18
MED AIC001 Parallel implementation file sits beside a canonical file src/app/(dashboard)/dashboard/providers…:1
MED AIC001 Parallel implementation file sits beside a canonical file open-sse/translator/request/openai-to-k…:1
MED SEC017 [SEC017] Unbounded Input to LLM/External API: User input is passed to an LLM or external … src/shared/constants/providers.js:22
MED SEC017 [SEC017] Unbounded Input to LLM/External API: User input is passed to an LLM or external … open-sse/translator/request/openai-to-k…:47
MED AGT007 localStorage write failures are swallowed silently src/app/(dashboard)/dashboard/basic-cha…:369
MED WEB003 Public web service has no security.txt .well-known/security.txt
MED DKR014 Dockerfile copies broad context with incomplete .dockerignore Dockerfile:14
MED JRN003 Frontend API reference is not matched by discovered backend routes cli/src/cli/api/client.js:319
MED JRN003 Frontend API reference is not matched by discovered backend routes cli/src/cli/api/client.js:310
MED JRN003 Frontend API reference is not matched by discovered backend routes cli/src/cli/api/client.js:300
MED JRN003 Frontend API reference is not matched by discovered backend routes cli/src/cli/api/client.js:291
MED JRN003 Frontend API reference is not matched by discovered backend routes cli/src/cli/api/client.js:282
MED JRN003 Frontend API reference is not matched by discovered backend routes cli/src/cli/api/client.js:270
MED JRN003 Frontend API reference is not matched by discovered backend routes cli/src/cli/api/client.js:261
MED JRN003 Frontend API reference is not matched by discovered backend routes cli/src/cli/api/client.js:252
MED JRN003 Frontend API reference is not matched by discovered backend routes cli/src/cli/api/client.js:240
MED JRN003 Frontend API reference is not matched by discovered backend routes cli/src/cli/api/client.js:230
MED JRN003 Frontend API reference is not matched by discovered backend routes cli/src/cli/api/client.js:175
MED JRN003 Frontend API reference is not matched by discovered backend routes cli/src/cli/api/client.js:166
MED JRN003 Frontend API reference is not matched by discovered backend routes cli/src/cli/api/client.js:157
MED JRN003 Frontend API reference is not matched by discovered backend routes cli/src/cli/api/client.js:148
MED JRN003 Frontend API reference is not matched by discovered backend routes cli/src/cli/api/client.js:139
MED AUC002 [AUC002] Low visible authorization coverage in route inventory: Only 16.5% of discovered …
MED AGT014 Codex auth.json is read or copied without visible secret-file hardening src/shared/constants/providers.js:84
MED AGT014 Codex auth.json is read or copied without visible secret-file hardening src/app/api/cli-tools/codex-settings/ro…:13
MED AGT014 Codex auth.json is read or copied without visible secret-file hardening src/app/(dashboard)/dashboard/cli-tools…:187
MED WEB015 Public web app has no Content Security Policy index.html
MED AGT015 Remote install command pipes network code directly to a shell src/shared/constants/cliTools.js:336
MED AGT015 Remote install command pipes network code directly to a shell src/app/api/cli-tools/jcode-settings/ro…:116
MED AGT015 Remote install command pipes network code directly to a shell src/app/(dashboard)/dashboard/cli-tools…:251
MED AGT015 Remote install command pipes network code directly to a shell src/app/(dashboard)/dashboard/cli-tools…:219
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … src/app/api/proxy-pools/route.js:45
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … src/app/api/init/route.js:5
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … src/app/api/tags/route.js:13
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … src/app/api/combos/route.js:21
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … src/app/api/combos/route.js:10
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … src/app/api/version/route.js:39
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … src/app/api/pricing/route.js:123
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … src/app/api/pricing/route.js:91
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … src/app/api/pricing/route.js:27
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … src/app/api/pricing/route.js:9
MED AUC004 [AUC004] Admin route does not show super_admin separation: An administrative route was de… src/app/api/translator/console-logs/str…:7
MED AUC004 [AUC004] Admin route does not show super_admin separation: An administrative route was de… src/app/api/translator/console-logs/rou…:16
MED AUC004 [AUC004] Admin route does not show super_admin separation: An administrative route was de… src/app/api/translator/console-logs/rou…:6
MED AUC004 [AUC004] Admin route does not show super_admin separation: An administrative route was de… src/app/api/settings/database/route.js:15
MED AUC004 [AUC004] Admin route does not show super_admin separation: An administrative route was de… src/app/api/settings/database/route.js:5
MED AUC004 [AUC004] Admin route does not show super_admin separation: An administrative route was de… src/app/api/settings/proxy-test/route.js:4
MED AUC004 [AUC004] Admin route does not show super_admin separation: An administrative route was de… src/app/api/settings/route.js:35
MED AUC004 [AUC004] Admin route does not show super_admin separation: An administrative route was de… src/app/api/settings/route.js:14
LOW WEB001 Public web app has no robots.txt robots.txt
LOW WEB002 Public web app has no sitemap sitemap.xml
LOW DKR008 .dockerignore misses sensitive defaults .dockerignore
LOW WEB008 Public docs site has no llms.txt llms.txt
LOW AIC005 Duplicate top-level symbol appears in a patch-style file src/app/(dashboard)/dashboard/providers…:1
LOW WEB011 Public web app has no humans.txt humans.txt
Reset to top 5 117 findings available (after auto-suppression of test files + won't-fix)

Issue body (markdown)

## Code-quality scan: `decolua/9router`

**Score: 56/100 (D+)**  ·  128 findings  ·  scanned 2026-05-16 01:57 UTC  ·  103,342 LOC

| Severity | Count |
|---|---|
| CRITICAL | 2 |
| HIGH | 26 |
| MEDIUM | 83 |
| LOW | 6 |

📊 [Full filterable report](https://repobility.com/scan/fb811aad-fc49-4087-bb48-3134cdaad42a/)  ·  ![scorecard](https://repobility.com/scan/fb811aad-fc49-4087-bb48-3134cdaad42a/report.png?v=1778896645-s2)

### Top findings

1. **CRITICAL** `SECR004` — Password embedded in URL
   `src/app/(dashboard)/dashboard/proxy-pools/page.js:404`
2. **CRITICAL** `SECR004` — Password embedded in URL
   `src/app/(dashboard)/dashboard/proxy-pools/page.js:192`
3. **HIGH** `SEC016` — LLM Prompt Injection — User Input in AI Prompt
   `src/shared/constants/providers.js:22`
4. **HIGH** `SEC016` — LLM Prompt Injection — User Input in AI Prompt
   `open-sse/translator/request/openai-to-kiro.old.js:47`
5. **HIGH** `CRYP006` — Crypto — TLS verification disabled
   `open-sse/utils/proxyFetch.js:161`

---

**Security note**: this issue is public. If any flagged finding is a real, exploitable vulnerability, please redirect to your `SECURITY.md` policy or open a [private security advisory](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability) instead. We're happy to close this and re-submit privately.

---

_Filed automatically. Close this issue if not useful — we won't refile. Full report: https://repobility.com/scan/fb811aad-fc49-4087-bb48-3134cdaad42a/_
Premium account
This scan was submitted by a Enterprise-tier account. Premium accounts have full outreach control â Repobility doesn't pre-fill the 'file as GitHub issue' button for paid users. You can still file the issue manually using the markdown body above (Copy markdown), or contact us if you'd like batch-filing enabled for your account.
Megaproject â high spam risk
Could not determine 'decolua/9router' star count (GitHub API rate-limited or unreachable). When in doubt about repo size, prefer opening a focused PR or a discussion rather than an issue.

The button opens GitHubâs new-issue page in a new tab. You will see the title + body pre-filled â review, edit if you want, then click GitHubâs "Submit new issue" button. Repobility never posts anything on your behalf.

For real security findings on big repos: use the project's SECURITY.md or private advisory flow instead of a public issue.