CRIT
SEC022
[SEC022] Database URL With Embedded Credential: A database connection URL contains an emb…
src/Aspire/Nocturne.Aspire.Hosting/Noct…:38
CRIT
MINED018
[MINED018] Unsafe Deserialization Pickle: pickle.loads / yaml.load (without Loader=SafeLo…
src/Aspire/Nocturne.Aspire.Host/Publish…:114
CRIT
SEC116
[SEC116] Ruby YAML.load / Marshal.load on untrusted input: `YAML.load` (pre-3.1) and `Mar…
src/Aspire/Nocturne.Aspire.Host/Publish…:114
CRIT
SEC079
[SEC079] Python: yaml.load without SafeLoader: yaml.load() without explicit SafeLoader ca…
src/Aspire/Nocturne.Aspire.Host/Publish…:114
CRIT
DKC008
Compose service mounts the Docker socket
deploy/portainer/docker-compose.yaml:140
CRIT
DKC008
Compose service mounts the Docker socket
deploy/docker-compose/docker-compose.ya…:152
HIGH
SEC040
[SEC040] innerHTML XSS — template literal with server-supplied data: Setting .innerHTML w…
src/Web/packages/cms/src/editor/markdow…:32
HIGH
SEC040
[SEC040] innerHTML XSS — template literal with server-supplied data: Setting .innerHTML w…
src/Web/packages/cms/src/editor/extensi…:59
HIGH
SEC040
[SEC040] innerHTML XSS — template literal with server-supplied data: Setting .innerHTML w…
src/Web/packages/cms/src/blog/rss.ts:23
HIGH
SEC085
[SEC085] JS: child_process.exec with non-literal: child_process.exec with user-derived in…
src/Web/packages/cms/src/remark/vars.ts:18
HIGH
SEC085
[SEC085] JS: child_process.exec with non-literal: child_process.exec with user-derived in…
src/Web/packages/app/tools/eslint/no-im…:43
HIGH
SEC025
[SEC025] XML External Entity (XXE) — .NET XmlDocument / XmlTextReader: .NET XmlDocument a…
src/API/Nocturne.API/Services/Platform/…:119
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
src/Connectors/Nocturne.Connectors.Core…:22
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
src/Aspire/Nocturne.Aspire.Hosting/DevS…:71
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
src/API/Nocturne.API/Services/Backgroun…:85
HIGH
MINED004
[MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums).
src/Connectors/Nocturne.Connectors.Core…:32
HIGH
MINED004
[MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums).
src/API/Nocturne.API/Services/Compatibi…:220
HIGH
MINED004
[MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums).
src/API/Nocturne.API/Hubs/AlarmHub.cs:66
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
src/Desktop/Nocturne.Desktop.Tray/Views…:98
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
src/Aspire/Nocturne.Aspire.Host/Publish…:188
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
scripts/publish-release.cs:121
HIGH
MINED118
[MINED118] Dockerfile FROM `node:24-alpine` not pinned by digest: `FROM node:24-alpine` r…
src/Web/Dockerfile:31
HIGH
MINED118
[MINED118] Dockerfile FROM `node:24-alpine` not pinned by digest: `FROM node:24-alpine` r…
src/Web/Dockerfile:6
HIGH
MINED115
[MINED115] Action `gradle/actions/setup-gradle` pinned to mutable ref `@v4`: `uses: gradl…
.github/workflows/sdk-publish.yml:223
HIGH
MINED115
[MINED115] Action `actions/setup-java` pinned to mutable ref `@v4`: `uses: actions/setup-…
.github/workflows/sdk-publish.yml:217
HIGH
MINED115
[MINED115] Action `actions/download-artifact` pinned to mutable ref `@v4`: `uses: actions…
.github/workflows/sdk-publish.yml:193
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout…
.github/workflows/sdk-publish.yml:190
HIGH
MINED115
[MINED115] Action `actions/setup-node` pinned to mutable ref `@v4`: `uses: actions/setup-…
.github/workflows/sdk-publish.yml:165
HIGH
MINED115
[MINED115] Action `actions/download-artifact` pinned to mutable ref `@v4`: `uses: actions…
.github/workflows/sdk-publish.yml:146
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout…
.github/workflows/sdk-publish.yml:143
HIGH
MINED115
[MINED115] Action `NuGet/login` pinned to mutable ref `@v1`: `uses: NuGet/login@v1` resol…
.github/workflows/sdk-publish.yml:126
HIGH
MINED115
[MINED115] Action `actions/setup-dotnet` pinned to mutable ref `@v4`: `uses: actions/setu…
.github/workflows/sdk-publish.yml:114
HIGH
MINED115
[MINED115] Action `actions/download-artifact` pinned to mutable ref `@v4`: `uses: actions…
.github/workflows/sdk-publish.yml:95
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout…
.github/workflows/sdk-publish.yml:92
HIGH
MINED115
[MINED115] Action `actions/upload-artifact` pinned to mutable ref `@v4`: `uses: actions/u…
.github/workflows/sdk-publish.yml:78
HIGH
MINED115
[MINED115] Action `actions/setup-node` pinned to mutable ref `@v4`: `uses: actions/setup-…
.github/workflows/sdk-publish.yml:42
HIGH
MINED115
[MINED115] Action `pnpm/action-setup` pinned to mutable ref `@v4`: `uses: pnpm/action-set…
.github/workflows/sdk-publish.yml:37
HIGH
MINED115
[MINED115] Action `actions/setup-dotnet` pinned to mutable ref `@v4`: `uses: actions/setu…
.github/workflows/sdk-publish.yml:32
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout…
.github/workflows/sdk-publish.yml:29
HIGH
MINED115
[MINED115] Action `actions/setup-dotnet` pinned to mutable ref `@v4`: `uses: actions/setu…
.github/workflows/copilot-setup-steps.y…:12
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout…
.github/workflows/copilot-setup-steps.y…:8
HIGH
MINED115
[MINED115] Action `actions/setup-node` pinned to mutable ref `@v4`: `uses: actions/setup-…
.github/workflows/commit-generated-api-…:37
HIGH
MINED115
[MINED115] Action `pnpm/action-setup` pinned to mutable ref `@v4`: `uses: pnpm/action-set…
.github/workflows/commit-generated-api-…:32
HIGH
MINED115
[MINED115] Action `actions/setup-dotnet` pinned to mutable ref `@v4`: `uses: actions/setu…
.github/workflows/commit-generated-api-…:27
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout…
.github/workflows/commit-generated-api-…:24
HIGH
MINED115
[MINED115] Action `github/codeql-action/analyze` pinned to mutable ref `@v4`: `uses: gith…
.github/workflows/codeql.yml:63
HIGH
MINED115
[MINED115] Action `github/codeql-action/init` pinned to mutable ref `@v4`: `uses: github/…
.github/workflows/codeql.yml:46
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout…
.github/workflows/codeql.yml:43
HIGH
MINED118
[MINED118] Dockerfile FROM `node:24-alpine` not pinned by digest: `FROM node:24-alpine` r…
Dockerfile.web:31
HIGH
MINED118
[MINED118] Dockerfile FROM `node:24-alpine` not pinned by digest: `FROM node:24-alpine` r…
Dockerfile.web:1
HIGH
SEC020
[SEC020] Secret Printed to Logs: Debug or diagnostic code appears to print a credential-b…
src/Connectors/Nocturne.Connectors.Care…:83
HIGH
SEC020
[SEC020] Secret Printed to Logs: Debug or diagnostic code appears to print a credential-b…
src/API/Nocturne.API/Services/Auth/Totp…:187
HIGH
SEC020
[SEC020] Secret Printed to Logs: Debug or diagnostic code appears to print a credential-b…
src/API/Nocturne.API/Services/Auth/Auth…:58
HIGH
JRN004
Consent is collected in UI without visible backend audit persistence
src/Web/locales/.wuchale/main.main.de.c…:3
MED
SEC045
[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data — even …
src/Web/packages/cms/src/remark/vars.ts:18
MED
SEC045
[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data — even …
src/Web/packages/app/tools/eslint/no-im…:43
MED
SEC007
[SEC007] Unsafe Deserialization: Unsafe deserialization can execute arbitrary code.
src/Aspire/Nocturne.Aspire.Host/Publish…:114
MED
SEC136
[SEC136] AI-typical over-broad exception handler swallowing all errors: Catch-all excepti…
src/API/Nocturne.API/Services/Devices/D…:158
MED
SEC136
[SEC136] AI-typical over-broad exception handler swallowing all errors: Catch-all excepti…
src/API/Nocturne.API/Services/Alerts/Ru…:97
MED
SEC136
[SEC136] AI-typical over-broad exception handler swallowing all errors: Catch-all excepti…
src/API/Nocturne.API/Services/Alerts/Ru…:209
MED
DKR003
Compose service `watchtower` image uses the latest tag
deploy/portainer/docker-compose.yaml:140
MED
DKR003
Compose service `watchtower` image uses the latest tag
deploy/docker-compose/docker-compose.ya…:152
MED
DKC015
Database service has no healthcheck
deploy/portainer/docker-compose.yaml:1
MED
DKC015
Database service has no healthcheck
deploy/docker-compose/docker-compose.ya…:1
MED
DKR001
Docker final stage has no non-root USER
src/Web/Dockerfile:31
MED
DKR001
Docker final stage has no non-root USER
Dockerfile.web:32
MED
AGT007
localStorage write failures are swallowed silently
src/Web/packages/app/src/lib/components…:23
MED
AGT007
localStorage write failures are swallowed silently
src/Web/packages/app/src/lib/coach-mark…:23
MED
CORE_LARGE_FILES
Average file size is 666 lines (recommend <300)
—
LOW
AIC003
Duplicated implementation block across source files
src/API/Nocturne.API/Services/Identity/…:471
LOW
AIC003
Duplicated implementation block across source files
src/API/Nocturne.API/Services/Connector…:236
LOW
AIC003
Duplicated implementation block across source files
src/API/Nocturne.API/Services/Connector…:129
LOW
AIC003
Duplicated implementation block across source files
src/API/Nocturne.API/Services/Backgroun…:80
LOW
AIC003
Duplicated implementation block across source files
src/API/Nocturne.API/Services/Backgroun…:23
LOW
AIC003
Duplicated implementation block across source files
src/API/Nocturne.API/Models/Requests/V4…:3
LOW
AIC003
Duplicated implementation block across source files
src/API/Nocturne.API/Models/Requests/V4…:4
LOW
AIC003
Duplicated implementation block across source files
src/API/Nocturne.API/Middleware/Handler…:129
LOW
AIC003
Duplicated implementation block across source files
src/API/Nocturne.API/Middleware/Handler…:33
LOW
AIC003
Duplicated implementation block across source files
src/API/Nocturne.API/Middleware/Handler…:72
LOW
AIC003
Duplicated implementation block across source files
src/API/Nocturne.API/Hubs/DataHub.cs:41
LOW
AIC003
Duplicated implementation block across source files
src/API/Nocturne.API/Controllers/V4/Tre…:39
LOW
AIC003
Duplicated implementation block across source files
src/API/Nocturne.API/Controllers/V4/Tre…:99
LOW
AIC003
Duplicated implementation block across source files
src/API/Nocturne.API/Controllers/V4/Ten…:138
LOW
AIC003
Duplicated implementation block across source files
src/API/Nocturne.API/Controllers/V3/Tre…:442
LOW
AIC003
Duplicated implementation block across source files
src/API/Nocturne.API/Controllers/V3/Tre…:437
LOW
AIC003
Duplicated implementation block across source files
src/API/Nocturne.API/Controllers/V3/Ent…:433
LOW
AIC003
Duplicated implementation block across source files
src/API/Nocturne.API/Controllers/V2/Not…:64
LOW
DKR008
.dockerignore misses sensitive defaults
.dockerignore
LOW
DKC016
App service does not wait for database health
deploy/portainer/docker-compose.yaml:25
LOW
DKC016
App service does not wait for database health
deploy/docker-compose/docker-compose.ya…:25
LOW
AIC009
Multiple AI-agent scaffold marker files are present
.github/copilot-instructions.md:1
LOW
DKC010
Compose service lacks no-new-privileges hardening
deploy/portainer/docker-compose.yaml:76
LOW
DKC010
Compose service lacks no-new-privileges hardening
deploy/portainer/docker-compose.yaml:45
LOW
DKC010
Compose service lacks no-new-privileges hardening
deploy/portainer/docker-compose.yaml:25
LOW
DKC010
Compose service lacks no-new-privileges hardening
deploy/docker-compose/docker-compose.ya…:80
LOW
DKC010
Compose service lacks no-new-privileges hardening
deploy/docker-compose/docker-compose.ya…:47
LOW
DKC010
Compose service lacks no-new-privileges hardening
deploy/docker-compose/docker-compose.ya…:25
LOW
DKC017
Database password is wired through an environment variable placeholder
deploy/portainer/docker-compose.yaml:1
LOW
DKC017
Database password is wired through an environment variable placeholder
deploy/docker-compose/docker-compose.ya…:1
LOW
DKC006
Compose service does not declare a runtime user
deploy/portainer/docker-compose.yaml:76
LOW
DKC006
Compose service does not declare a runtime user
deploy/docker-compose/docker-compose.ya…:80
LOW
CORE_NO_LICENSE
No LICENSE file
—
INFO
MINED045
[MINED045] Ts Non Null Assertion: x! asserts not null - bypasses null checks - TypeError …
src/Web/packages/cms/src/email/componen…:15
INFO
MINED052
[MINED052] Ts Any Typed: : any used as type annotation. Defeats TypeScript type safety.
src/Web/packages/cms/src/editor/extensi…:88
INFO
MINED052
[MINED052] Ts Any Typed: : any used as type annotation. Defeats TypeScript type safety.
src/Web/packages/bridge/src/types.ts:85
INFO
MINED065
[MINED065] Cors Wildcard: Access-Control-Allow-Origin: * exposes the API to any browser o…
src/Web/packages/bridge/src/constants.ts:7
INFO
MINED054
[MINED054] Ts As Any: Casting to any (as any) bypasses type checking entirely.
src/Web/packages/cms/src/editor/extensi…:23
INFO
MINED054
[MINED054] Ts As Any: Casting to any (as any) bypasses type checking entirely.
src/Web/packages/app/src/routes/(authen…:24
INFO
MINED054
[MINED054] Ts As Any: Casting to any (as any) bypasses type checking entirely.
src/Web/packages/app/src/routes/(authen…:64
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
src/Web/packages/cms/src/blog/rss.ts:37
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
src/Connectors/Nocturne.Connectors.MyLi…:20
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
src/Connectors/Nocturne.Connectors.MyLi…:10
INFO
MINED044
[MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger …
src/Web/packages/app/src/hooks.client.ts:15
INFO
MINED044
[MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger …
src/Web/packages/app/server.js:51
INFO
MINED044
[MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger …
src/API/Nocturne.API/wwwroot/scalar/mer…:78
INFO
MINED051
[MINED051] Csharp Null Forgive: x! tells compiler "definitely not null" — bypasses nullab…
src/API/Nocturne.API/Hubs/HomeAssistant…:166
INFO
MINED051
[MINED051] Csharp Null Forgive: x! tells compiler "definitely not null" — bypasses nullab…
src/API/Nocturne.API/Controllers/V4/Ide…:56
INFO
MINED051
[MINED051] Csharp Null Forgive: x! tells compiler "definitely not null" — bypasses nullab…
scripts/publish-release.cs:78