HIGH
SEC114
[SEC114] path.join / Path() on user-controlled segment without containment check: filepat…
internal/testsuite/runner_http.go:150
HIGH
SEC093
[SEC093] Go: exec.Command with non-literal: exec.Command(<var>) — variable command name a…
internal/webui/build.go:79
HIGH
SEC093
[SEC093] Go: exec.Command with non-literal: exec.Command(<var>) — variable command name a…
internal/testsuite/runner_env.go:90
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
internal/sse/citation_links.go:108
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
internal/js/chat-stream/proxy_go.js:10
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
internal/js/chat-stream/http_internal.js:35
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
internal/httpapi/admin/devcapture/route…:7
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
internal/httpapi/admin/configmgmt/route…:17
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
internal/httpapi/admin/accounts/routes.…:16
HIGH
MINED004
[MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums).
internal/httpapi/admin/vercel/handler_v…:6
HIGH
MINED004
[MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums).
internal/httpapi/admin/shared/helpers.go:4
HIGH
MINED004
[MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums).
internal/config/config.go:4
HIGH
MINED115
Action `actions/setup-go` pinned to mutable ref `@v5`
.github/workflows/quality-gates.yml:125
HIGH
MINED115
Action `actions/checkout` pinned to mutable ref `@v4`
.github/workflows/quality-gates.yml:122
HIGH
MINED115
Action `actions/setup-node` pinned to mutable ref `@v4`
.github/workflows/quality-gates.yml:105
HIGH
MINED115
Action `actions/checkout` pinned to mutable ref `@v4`
.github/workflows/quality-gates.yml:102
HIGH
MINED115
Action `actions/setup-node` pinned to mutable ref `@v4`
.github/workflows/quality-gates.yml:88
HIGH
MINED115
Action `actions/setup-go` pinned to mutable ref `@v5`
.github/workflows/quality-gates.yml:82
HIGH
MINED115
Action `actions/checkout` pinned to mutable ref `@v4`
.github/workflows/quality-gates.yml:79
HIGH
MINED115
Action `actions/setup-go` pinned to mutable ref `@v5`
.github/workflows/quality-gates.yml:66
HIGH
MINED115
Action `actions/checkout` pinned to mutable ref `@v4`
.github/workflows/quality-gates.yml:63
HIGH
MINED115
Action `golangci/golangci-lint-action` pinned to mutable ref `@v8`
.github/workflows/quality-gates.yml:37
HIGH
MINED115
Action `actions/setup-go` pinned to mutable ref `@v5`
.github/workflows/quality-gates.yml:31
HIGH
MINED115
Action `actions/checkout` pinned to mutable ref `@v4`
.github/workflows/quality-gates.yml:28
HIGH
MINED115
Action `actions/checkout` pinned to mutable ref `@v5`
.github/workflows/release.yml:24
HIGH
MINED115
Action `actions/setup-node` pinned to mutable ref `@v4`
.github/workflows/release-artifacts.yml:42
HIGH
MINED115
Action `actions/setup-go` pinned to mutable ref `@v5`
.github/workflows/release-artifacts.yml:36
HIGH
MINED115
Action `actions/checkout` pinned to mutable ref `@v4`
.github/workflows/release-artifacts.yml:33
HIGH
MINED115
Action `actions/checkout` pinned to mutable ref `@v5`
.github/workflows/release-dockerhub.yml:24
HIGH
MINED118
Dockerfile FROM `debian:bookworm-slim` not pinned by digest
Dockerfile:26
HIGH
MINED118
Dockerfile FROM `busybox:1.36.1-musl` not pinned by digest
Dockerfile:24
HIGH
MINED118
Dockerfile FROM `golang:1.26` not pinned by digest
Dockerfile:9
HIGH
MINED118
Dockerfile FROM `node:24` not pinned by digest
Dockerfile:1
HIGH
JRN009
Secret-like setting is echoed into a password input value
webui/src/features/proxy/ProxyManagerCo…:269
HIGH
JRN009
Secret-like setting is echoed into a password input value
webui/src/features/account/AddAccountMo…:68
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
internal/server/router.go:109
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
internal/server/router.go:100
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
internal/server/router.go:114
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
internal/server/router.go:112
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
internal/server/router.go:105
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
internal/server/router.go:103
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
internal/httpapi/admin/history/routes.go:9
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
internal/httpapi/admin/history/routes.go:7
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
internal/httpapi/admin/proxies/routes.go:13
HIGH
AUC003
[AUC003] Object-level route lacks visible authorization: A route with an object id-like p…
internal/httpapi/admin/proxies/routes.go:12
MED
SEC134
[SEC134] AI scaffold leftover — Lorem ipsum / example.com / John Doe in code: Lorem ipsum…
webui/src/features/account/AddAccountMo…:51
MED
SEC041
[SEC041] Tabnabbing — target="_blank" without rel="noopener noreferrer": <a target="_blan…
webui/src/components/LandingPage.jsx:109
MED
SEC041
[SEC041] Tabnabbing — target="_blank" without rel="noopener noreferrer": <a target="_blan…
internal/webui/handler.go:17
MED
SEC091
[SEC091] Go: net/http server without timeouts: HTTP server without ReadHeaderTimeout/Read…
cmd/ds2api/main.go:37
MED
ERR002
[ERR002] Empty Catch Block: Empty catch blocks hide errors.
webui/src/features/apiTester/useChatStr…:210
MED
DKR003
Compose service `ds2api` image uses the latest tag
docker-compose.yml:1
MED
AUC001
[AUC001] No Repobility access matrix policy found: The repository uses web/API frameworks…
—
MED
DKR001
Docker final stage has no non-root USER
Dockerfile:70
MED
JRN002
Browser storage is used for session token material
webui/src/app/useAdminAuth.js:38
MED
JRN002
Browser storage is used for session token material
webui/src/app/useAdminAuth.js:37
MED
DKR014
Dockerfile copies broad context with incomplete .dockerignore
Dockerfile:17
MED
AUC002
[AUC002] Low visible authorization coverage in route inventory: Only 19.5% of discovered …
—
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
internal/auth/request.go:238
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
internal/server/router.go:302
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
internal/server/router.go:291
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
internal/auth/request.go:250
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
internal/auth/request.go:247
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
internal/auth/request.go:231
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
internal/auth/request.go:73
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
internal/httpapi/claude/handler_routes.…:40
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
internal/httpapi/claude/handler_routes.…:39
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
internal/httpapi/claude/handler_routes.…:38
MED
AUC004
[AUC004] Admin route does not show super_admin separation: An administrative route was de…
internal/server/router.go:114
MED
AUC004
[AUC004] Admin route does not show super_admin separation: An administrative route was de…
internal/server/router.go:115
MED
AUC004
[AUC004] Admin route does not show super_admin separation: An administrative route was de…
internal/httpapi/admin/auth/handler_aut…:44
MED
AUC004
[AUC004] Admin route does not show super_admin separation: An administrative route was de…
internal/httpapi/admin/auth/routes.go:15
MED
AUC004
[AUC004] Admin route does not show super_admin separation: An administrative route was de…
internal/httpapi/admin/auth/routes.go:14
MED
AUC004
[AUC004] Admin route does not show super_admin separation: An administrative route was de…
internal/httpapi/admin/history/routes.go:10
MED
AUC004
[AUC004] Admin route does not show super_admin separation: An administrative route was de…
internal/webui/handler.go:29
MED
AUC004
[AUC004] Admin route does not show super_admin separation: An administrative route was de…
internal/webui/handler.go:28
MED
AUC004
[AUC004] Admin route does not show super_admin separation: An administrative route was de…
internal/auth/admin.go:148
LOW
SEC132
[SEC132] String concat where the language has interpolation (AI style drift): String buil…
internal/httpapi/claude/handler_utils.go:131
LOW
SEC132
[SEC132] String concat where the language has interpolation (AI style drift): String buil…
internal/httpapi/admin/vercel/handler_v…:169
LOW
ERR003
[ERR003] Ignored Error (Go): Ignoring error return values.
internal/auth/admin.go:215
LOW
ERR003
[ERR003] Ignored Error (Go): Ignoring error return values.
cmd/ds2api/main.go:26
LOW
ERR003
[ERR003] Ignored Error (Go): Ignoring error return values.
cmd/ds2api-tests/main.go:33
LOW
AIC003
Duplicated implementation block across source files
internal/responsehistory/session.go:77
LOW
AIC003
Duplicated implementation block across source files
internal/prompt/tool_calls.go:54
LOW
AIC003
Duplicated implementation block across source files
internal/js/helpers/stream-tool-sieve/s…:79
LOW
AIC003
Duplicated implementation block across source files
internal/js/helpers/stream-tool-sieve/f…:200
LOW
AIC003
Duplicated implementation block across source files
internal/js/chat-stream/toolcall_policy…:116
LOW
AIC003
Duplicated implementation block across source files
internal/js/chat-stream/sse_parse_impl.…:582
LOW
AIC003
Duplicated implementation block across source files
internal/js/chat-stream/http_internal.js:199
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/openai/responses/respo…:155
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/openai/responses/respo…:204
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/openai/responses/respo…:64
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/openai/responses/handl…:24
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/gemini/handler_stream_…:193
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/gemini/handler_routes.…:6
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/gemini/handler_generat…:159
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/gemini/deps.go:2
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/gemini/convert_message…:265
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/claude/stream_runtime_…:82
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/admin/version/deps.go:2
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/admin/vercel/handler_v…:293
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/admin/vercel/deps.go:2
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/admin/settings/deps.go:3
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/admin/settings/deps.go:2
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/admin/proxies/deps.go:3
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/admin/proxies/deps.go:2
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/admin/history/deps.go:2
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/admin/devcapture/deps.…:2
LOW
AIC003
Duplicated implementation block across source files
internal/httpapi/admin/configmgmt/deps.…:3
LOW
AIC003
Duplicated implementation block across source files
internal/deepseek/client/client_session…:50
LOW
AIC003
Duplicated implementation block across source files
internal/deepseek/client/client_session…:48
LOW
AIC003
Duplicated implementation block across source files
internal/deepseek/client/client_session…:69
LOW
DKR008
.dockerignore misses sensitive defaults
.dockerignore
LOW
DKC010
Compose service lacks no-new-privileges hardening
docker-compose.yml:1
LOW
DKC006
Compose service does not declare a runtime user
docker-compose.yml:1
INFO
MINED100
[MINED100] React Index As Key: Using the loop index `i` as React `key` causes re-render b…
webui/src/features/apiTester/ConfigPane…:154
INFO
MINED058
[MINED058] React Dangerously Set Html: dangerouslySetInnerHTML bypasses Reacts JSX escapi…
webui/src/components/LandingPage.jsx:11
INFO
MINED056
[MINED056] React Key As Index: key={index} in map() — re-renders the wrong elements on re…
webui/src/features/apiTester/ConfigPane…:158
INFO
MINED056
[MINED056] React Key As Index: key={index} in map() — re-renders the wrong elements on re…
webui/src/features/account/ApiKeysPanel…:99
INFO
MINED056
[MINED056] React Key As Index: key={index} in map() — re-renders the wrong elements on re…
webui/src/components/LandingPage.jsx:132
INFO
MINED044
[MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger …
webui/src/features/apiTester/useChatStr…:204
INFO
MINED044
[MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger …
webui/src/features/account/useAccountsD…:35
INFO
MINED044
[MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger …
webui/src/app/useAdminConfig.js:24
INFO
MINED071
[MINED071] Go Panic Call: panic() crashes the process. Should return error in most cases.
internal/deepseek/protocol/constants.go:73
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
internal/sse/citation_links.go:162
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
cmd/ds2api/main.go:46
INFO
MINED060
[MINED060] Go Context No Cancel: context.Background() at request handler boundary leaks g…
internal/account/pool_acquire.go:17
INFO
MINED060
[MINED060] Go Context No Cancel: context.Background() at request handler boundary leaks g…
cmd/ds2api/main.go:70
INFO
MINED060
[MINED060] Go Context No Cancel: context.Background() at request handler boundary leaks g…
cmd/ds2api-tests/main.go:32