← Back to scan
File as GitHub Issue repo: 0xJacky/nginx-ui

Push this scan report to 0xJacky/nginx-ui

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 — weak hash or cipher (MD5, SHA1, DES, RC4)

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 DKC008 Compose service mounts the Docker socket .devcontainer/docker-compose.yml:30
CRIT DKC008 Compose service mounts the Docker socket .devcontainer/docker-compose.yml:1
HIGH CRYP002 Crypto — weak hash or cipher (MD5, SHA1, DES, RC4) settings/crypto_test.go:47
HIGH CRYP002 Crypto — weak hash or cipher (MD5, SHA1, DES, RC4) settings/crypto_test.go:36
HIGH CRYP002 Crypto — weak hash or cipher (MD5, SHA1, DES, RC4) settings/crypto_test.go:22
HIGH SEC020 [SEC020] Secret Printed to Logs: Debug or diagnostic code appears to print a credential-b… internal/user/reset_password.go:87
HIGH SEC020 [SEC020] Secret Printed to Logs: Debug or diagnostic code appears to print a credential-b… internal/cluster/cluster.go:41
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… api/dns/router.go:27
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… api/dns/router.go:26
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… api/dns/router.go:25
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… api/dns/router.go:23
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… api/dns/router.go:22
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… api/dns/router.go:21
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… api/dns/router.go:20
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… api/dns/router.go:18
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… api/dns/router.go:17
HIGH AUC003 [AUC003] Object-level route lacks visible authorization: A route with an object id-like p… api/dns/router.go:15
MED DKR003 Compose service `challtestsrv` image uses the latest tag .devcontainer/docker-compose.yml:68
MED DKR003 Compose service `pebble` image uses the latest tag .devcontainer/docker-compose.yml:54
MED DKR003 Dockerfile base image uses the latest tag Dockerfile:1
MED AUC001 [AUC001] No Repobility access matrix policy found: The repository uses web/API frameworks…
MED DKR002 Compose service `casdoor` image has no explicit tag .devcontainer/docker-compose.yml:75
MED DKR002 Compose service `nginx` image has no explicit tag .devcontainer/docker-compose.yml:46
MED DKR002 Compose service `nginx-ui-3` image has no explicit tag .devcontainer/docker-compose.yml:30
MED DKR002 Compose service `nginx-ui-2` image has no explicit tag .devcontainer/docker-compose.yml:17
MED DKR002 Compose service `nginx-ui` image has no explicit tag .devcontainer/docker-compose.yml:1
MED WEB004 robots.txt blocks the full public site app/public/robots.txt
MED DKR018 Database dump or local database file is included in Docker build context .dockerignore
MED AIC003 Duplicated implementation block across source files app/src/views/dashboard/Nodes.vue:30
MED AIC003 Duplicated implementation block across source files app/src/views/config/components/ConfigR…:29
MED AIC003 Duplicated implementation block across source files app/src/views/config/components/ConfigL…:63
MED AIC003 Duplicated implementation block across source files app/src/views/certificate/components/Ce…:278
MED AIC003 Duplicated implementation block across source files app/src/views/certificate/components/Ce…:68
MED AIC003 Duplicated implementation block across source files app/src/pinia/moudule/websocketEventBus…:59
MED AIC003 Duplicated implementation block across source files app/src/components/UpstreamCards/Upstre…:1
MED AIC003 Duplicated implementation block across source files app/src/api/node.ts:21
MED AIC003 Duplicated implementation block across source files api/user/oidc.go:115
MED AIC003 Duplicated implementation block across source files api/streams/advance.go:24
MED AIC003 Duplicated implementation block across source files api/nginx/websocket.go:173
MED AIC003 Duplicated implementation block across source files api/event/websocket.go:11
MED QUAL003 Magic number used as default arg install.sh:601
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint model/site_config.go:76
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint model/site_config.go:74
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/upstream_parser.go:382
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/upstream_parser.go:381
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/upstream_parser.go:362
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/upstream_parser.go:164
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/upstream_parser.go:163
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/geolite/download.go:17
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/backup/s3_client.go:48
MED DKR001 Docker final stage has no non-root USER Dockerfile:1
MED DKR001 Docker final stage has no non-root USER .devcontainer/Dockerfile:1
MED AIC001 Parallel implementation file sits beside a canonical file model/config_backup.go:1
MED AIC001 Parallel implementation file sits beside a canonical file internal/nginx_log/indexer/parallel_ind…:1
MED AIC004 Suspicious implementation file appears unreferenced internal/nginx_log/indexer/parallel_ind…:1
MED JRN003 Frontend API reference is not matched by discovered backend routes app/src/api/self_check.ts:63
MED AUC002 [AUC002] Low visible authorization coverage in route inventory: Only 32.3% of discovered …
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … api/dns/router.go:15
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … api/dns/router.go:14
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … api/llm/router.go:16
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … api/llm/router.go:15
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … api/llm/router.go:12
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … api/llm/router.go:11
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … api/llm/router.go:10
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … api/llm/router.go:9
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … api/llm/router.go:8
MED AUC009 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears … api/llm/router.go:7
MED AUC004 [AUC004] Admin route does not show super_admin separation: An administrative route was de… api/settings/router.go:14
MED AUC004 [AUC004] Admin route does not show super_admin separation: An administrative route was de… api/settings/router.go:12
MED AUC004 [AUC004] Admin route does not show super_admin separation: An administrative route was de… api/settings/router.go:11
MED AUC004 [AUC004] Admin route does not show super_admin separation: An administrative route was de… api/settings/router.go:10
MED AUC004 [AUC004] Admin route does not show super_admin separation: An administrative route was de… api/settings/router.go:9
MED AUC004 [AUC004] Admin route does not show super_admin separation: An administrative route was de… api/nginx_log/router.go:21
MED AUC004 [AUC004] Admin route does not show super_admin separation: An administrative route was de… api/nginx_log/router.go:20
MED AUC004 [AUC004] Admin route does not show super_admin separation: An administrative route was de… api/nginx_log/router.go:19
MED AUC004 [AUC004] Admin route does not show super_admin separation: An administrative route was de… api/public/router.go:6
MED AUC004 [AUC004] Admin route does not show super_admin separation: An administrative route was de… api/cluster/router.go:8
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/ipv6_test.go:141
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/ipv6_test.go:138
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/upstream_parser_test.…:150
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/upstream_parser_test.…:146
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/upstream_parser_test.…:144
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/upstream_parser_test.…:141
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/upstream_parser_test.…:138
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/upstream_parser_test.…:136
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/upstream_parser_test.…:135
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/upstream_parser_test.…:92
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/upstream_parser_test.…:79
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/upstream_parser_test.…:42
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/service_test.go:17
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/upstream/dynamic_resolver_test…:656
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/nginx_log/parser/production_sc…:299
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/nginx_log/parser/production_sc…:298
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/nginx_log/parser/useragent_tes…:317
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/nginx_log/parser/useragent_tes…:178
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/nginx_log/parser/useragent_tes…:173
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint internal/nginx_log/parser/useragent_tes…:128
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint settings/settings_test.go:157
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint settings/settings_test.go:64
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint settings/server_v1_test.go:46
MED CRYP001 Crypto — plaintext HTTP for sensitive endpoint settings/server_v1_test.go:26
LOW ERR003 [ERR003] Ignored Error (Go): Ignoring error return values. api/dns/handler.go:59
LOW ERR003 [ERR003] Ignored Error (Go): Ignoring error return values. settings/settings.go:190
LOW ERR003 [ERR003] Ignored Error (Go): Ignoring error return values. settings/server_v1.go:224
LOW QUAL005 Cluster of TODOs in one file internal/kernel/boot.go:169
LOW WEB005 robots.txt does not advertise a sitemap app/public/robots.txt
LOW DKR010 Dockerfile leaves apt package indexes in the image layer .devcontainer/Dockerfile:4
LOW DKR008 .dockerignore misses sensitive defaults .dockerignore
LOW DKC010 Compose service lacks no-new-privileges hardening .devcontainer/docker-compose.yml:75
LOW DKC010 Compose service lacks no-new-privileges hardening .devcontainer/docker-compose.yml:68
LOW DKC010 Compose service lacks no-new-privileges hardening .devcontainer/docker-compose.yml:54
LOW AIC002 Source file name looks like an AI patch artifact settings/server_v1.go:1
LOW AIC002 Source file name looks like an AI patch artifact model/auto_backup.go:1
LOW AIC002 Source file name looks like an AI patch artifact internal/cron/auto_backup.go:1
LOW DKC006 Compose service does not declare a runtime user .devcontainer/docker-compose.yml:75
LOW DKC006 Compose service does not declare a runtime user .devcontainer/docker-compose.yml:68
LOW DKC006 Compose service does not declare a runtime user .devcontainer/docker-compose.yml:54
Reset to top 5 117 findings available (after auto-suppression of test files + won't-fix)

Issue body (markdown)

## Code-quality scan: `0xJacky/nginx-ui`

**Score: 66/100 (C+)**  ·  120 findings  ·  scanned 2026-05-15 12:20 UTC  ·  150,225 LOC

| Severity | Count |
|---|---|
| CRITICAL | 2 |
| HIGH | 15 |
| MEDIUM | 84 |
| LOW | 16 |

📊 [Full filterable report](https://repobility.com/scan/398ee3a8-71fc-49a3-969e-f6b0db503b41/)  ·  ![scorecard](https://repobility.com/scan/398ee3a8-71fc-49a3-969e-f6b0db503b41/report.png?v=1778847628-s2)

### Top findings

1. **CRITICAL** `DKC008` — Compose service mounts the Docker socket
   `.devcontainer/docker-compose.yml:30`
2. **CRITICAL** `DKC008` — Compose service mounts the Docker socket
   `.devcontainer/docker-compose.yml:1`
3. **HIGH** `CRYP002` — Crypto — weak hash or cipher (MD5, SHA1, DES, RC4)
   `settings/crypto_test.go:47`
4. **HIGH** `CRYP002` — Crypto — weak hash or cipher (MD5, SHA1, DES, RC4)
   `settings/crypto_test.go:36`
5. **HIGH** `CRYP002` — Crypto — weak hash or cipher (MD5, SHA1, DES, RC4)
   `settings/crypto_test.go:22`

---

**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/398ee3a8-71fc-49a3-969e-f6b0db503b41/_
Already filed
This repo publishes a SECURITY.md policy and the scan contains 15 Critical/High security finding(s). Public issue filing would violate coordinated disclosure. Submit privately via the project's security reporting channel.
Megaproject â high spam risk
Could not determine '0xJacky/nginx-ui' 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.