CRIT
MINED035
[MINED035] Js New Function: new Function(...) compiles strings to functions.
curriculum/src/file-handler.ts:25
CRIT
MINED018
[MINED018] Unsafe Deserialization Pickle: pickle.loads / yaml.load (without Loader=SafeLo…
tools/challenge-parser/parser/plugins/a…:11
CRIT
MINED018
[MINED018] Unsafe Deserialization Pickle: pickle.loads / yaml.load (without Loader=SafeLo…
packages/challenge-linter/src/index.ts:14
CRIT
MINED018
[MINED018] Unsafe Deserialization Pickle: pickle.loads / yaml.load (without Loader=SafeLo…
client/tools/download-trending.ts:54
CRIT
SEC116
[SEC116] Ruby YAML.load / Marshal.load on untrusted input: `YAML.load` (pre-3.1) and `Mar…
tools/challenge-parser/parser/plugins/a…:11
CRIT
SEC116
[SEC116] Ruby YAML.load / Marshal.load on untrusted input: `YAML.load` (pre-3.1) and `Mar…
packages/challenge-linter/src/index.ts:14
CRIT
SEC116
[SEC116] Ruby YAML.load / Marshal.load on untrusted input: `YAML.load` (pre-3.1) and `Mar…
client/tools/download-trending.ts:54
CRIT
SEC079
[SEC079] Python: yaml.load without SafeLoader: yaml.load() without explicit SafeLoader ca…
tools/challenge-parser/parser/plugins/a…:11
CRIT
SEC079
[SEC079] Python: yaml.load without SafeLoader: yaml.load() without explicit SafeLoader ca…
packages/challenge-linter/src/index.ts:14
CRIT
SEC079
[SEC079] Python: yaml.load without SafeLoader: yaml.load() without explicit SafeLoader ca…
client/tools/download-trending.ts:54
CRIT
SEC084
[SEC084] JS: require() with non-literal: require(<variable>) loads arbitrary modules — eq…
client/src/utils/get-words.ts:20
CRIT
MINED015
[MINED015] Ruby Eval Call: eval() executes arbitrary code. Code injection.
docker/docker-compose.yml:27
CRIT
MINED015
[MINED015] Ruby Eval Call: eval() executes arbitrary code. Code injection.
.devcontainer/docker-compose.yml:32
CRIT
MINED116
[MINED116] Workflow uses `secrets.TURBO_REMOTE_CACHE_SIGNATURE_KEY` on a `pull_request` t…
.github/workflows/e2e-playwright.yml:51
CRIT
MINED116
[MINED116] Workflow uses `secrets.TURBO_TOKEN` on a `pull_request` trigger: This workflow…
.github/workflows/e2e-playwright.yml:50
CRIT
MINED116
[MINED116] Workflow uses `secrets.CAMPERBOT_NO_TRANSLATE` on a `pull_request` trigger: Th…
.github/workflows/i18n-validate-prs.yml:54
CRIT
MINED116
[MINED116] Workflow uses `secrets.TURBO_REMOTE_CACHE_SIGNATURE_KEY` on a `pull_request` t…
.github/workflows/node.js-tests.yml:278
CRIT
MINED116
[MINED116] Workflow uses `secrets.TURBO_TOKEN` on a `pull_request` trigger: This workflow…
.github/workflows/node.js-tests.yml:277
CRIT
MINED116
[MINED116] Workflow uses `secrets.TURBO_REMOTE_CACHE_SIGNATURE_KEY` on a `pull_request` t…
.github/workflows/node.js-tests.yml:223
CRIT
MINED116
[MINED116] Workflow uses `secrets.TURBO_TOKEN` on a `pull_request` trigger: This workflow…
.github/workflows/node.js-tests.yml:222
CRIT
MINED116
[MINED116] Workflow uses `secrets.TURBO_REMOTE_CACHE_SIGNATURE_KEY` on a `pull_request` t…
.github/workflows/node.js-tests.yml:170
CRIT
MINED116
[MINED116] Workflow uses `secrets.TURBO_TOKEN` on a `pull_request` trigger: This workflow…
.github/workflows/node.js-tests.yml:169
CRIT
MINED116
[MINED116] Workflow uses `secrets.TURBO_REMOTE_CACHE_SIGNATURE_KEY` on a `pull_request` t…
.github/workflows/node.js-tests.yml:127
CRIT
MINED116
[MINED116] Workflow uses `secrets.TURBO_TOKEN` on a `pull_request` trigger: This workflow…
.github/workflows/node.js-tests.yml:126
CRIT
MINED116
[MINED116] Workflow uses `secrets.TURBO_REMOTE_CACHE_SIGNATURE_KEY` on a `pull_request` t…
.github/workflows/node.js-tests.yml:67
CRIT
MINED116
[MINED116] Workflow uses `secrets.TURBO_TOKEN` on a `pull_request` trigger: This workflow…
.github/workflows/node.js-tests.yml:66
HIGH
SEC083
[SEC083] JS: new RegExp() with non-literal: new RegExp(<variable>) — variable input can c…
tools/challenge-parser/translation-pars…:80
HIGH
SEC083
[SEC083] JS: new RegExp() with non-literal: new RegExp(<variable>) — variable input can c…
tools/challenge-parser/parser/plugins/u…:15
HIGH
MINED004
[MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums).
tools/client-plugins/gatsby-source-chal…:11
HIGH
MINED004
[MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums).
packages/shared/src/config/constants.ts:302
HIGH
SEC027
[SEC027] XML External Entity (XXE) — Node.js xml parsers: Node.js XML parsers can expand …
client/src/templates/Challenges/utils/b…:63
HIGH
SEC040
[SEC040] innerHTML XSS — template literal with server-supplied data: Setting .innerHTML w…
client/src/templates/Challenges/redux/c…:124
HIGH
SEC085
[SEC085] JS: child_process.exec with non-literal: child_process.exec with user-derived in…
tools/challenge-parser/parser/plugins/u…:30
HIGH
SEC085
[SEC085] JS: child_process.exec with non-literal: child_process.exec with user-derived in…
client/src/templates/Challenges/fill-in…:28
HIGH
SEC085
[SEC085] JS: child_process.exec with non-literal: child_process.exec with user-derived in…
client/src/templates/Challenges/classic…:121
HIGH
MINED014
[MINED014] Disabled Tls Verify: verify=False in requests, rejectUnauthorized:false in nod…
api/src/plugins/mail-providers/nodemail…:76
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
client/src/templates/Challenges/utils/u…:83
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
client/src/redux/failed-updates-epic.js:91
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
api/src/plugins/growth-book.ts:30
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
api/src/utils/normalize.ts:36
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
api/src/utils/env.ts:40
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
api/src/plugins/auth0.ts:99
HIGH
MINED118
[MINED118] Dockerfile FROM `node:24-bookworm` not pinned by digest: `FROM node:24-bookwor…
docker/api/Dockerfile:50
HIGH
MINED118
[MINED118] Dockerfile FROM `node:24-bookworm` not pinned by digest: `FROM node:24-bookwor…
docker/api/Dockerfile:33
HIGH
MINED118
[MINED118] Dockerfile FROM `node:24-bookworm` not pinned by digest: `FROM node:24-bookwor…
docker/api/Dockerfile:1
HIGH
MINED118
[MINED118] Dockerfile FROM `node:24-bookworm` not pinned by digest: `FROM node:24-bookwor…
docker/devcontainer/Dockerfile:4
HIGH
DKC013
Database service has no persistent data volume
docker/docker-compose.yml:18
HIGH
DKC013
Database service has no persistent data volume
.devcontainer/docker-compose.yml:24
HIGH
SEC020
[SEC020] Secret Printed to Logs: Debug or diagnostic code appears to print a credential-b…
api/src/plugins/auth0.ts:144
HIGH
DKC011
Database service publishes a host port
docker/docker-compose.yml:3
HIGH
SEC013
[SEC013] Path Traversal — User Input in File Path: User-controlled input used in file pat…
tools/client-plugins/browser-scripts/py…:92
HIGH
SEC013
[SEC013] Path Traversal — User Input in File Path: User-controlled input used in file pat…
client/src/components/search/searchBar/…:27
MED
SEC007
[SEC007] Unsafe Deserialization: Unsafe deserialization can execute arbitrary code.
tools/challenge-parser/parser/plugins/a…:11
MED
SEC007
[SEC007] Unsafe Deserialization: Unsafe deserialization can execute arbitrary code.
packages/challenge-linter/src/index.ts:14
MED
SEC007
[SEC007] Unsafe Deserialization: Unsafe deserialization can execute arbitrary code.
client/tools/download-trending.ts:54
MED
SEC045
[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data — even …
curriculum/src/file-handler.ts:25
MED
SEC045
[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data — even …
client/src/templates/Challenges/fill-in…:28
MED
SEC045
[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data — even …
client/src/templates/Challenges/classic…:121
MED
SEC041
[SEC041] Tabnabbing — target="_blank" without rel="noopener noreferrer": <a target="_blan…
client/src/templates/Challenges/codeall…:36
MED
SEC041
[SEC041] Tabnabbing — target="_blank" without rel="noopener noreferrer": <a target="_blan…
client/src/templates/Challenges/codeall…:31
MED
SEC041
[SEC041] Tabnabbing — target="_blank" without rel="noopener noreferrer": <a target="_blan…
client/src/components/search/searchBar/…:27
MED
SEC130
[SEC130] Hallucinated package name — looks like a real package but isn't: Import of a pac…
tools/client-plugins/browser-scripts/mo…:4
MED
SEC130
[SEC130] Hallucinated package name — looks like a real package but isn't: Import of a pac…
client/src/components/profile/component…:9
MED
DKR003
Compose service `devcontainer` image uses the latest tag
.devcontainer/docker-compose.yml:1
MED
DKR002
Compose service `mailpit` image has no explicit tag
docker/docker-compose.yml:40
MED
DKC015
Database service has no healthcheck
docker/docker-compose.yml:18
MED
DKC015
Database service has no healthcheck
.devcontainer/docker-compose.yml:24
MED
AIC001
Parallel implementation file sits beside a canonical file
client/src/components/search/searchBar/…:1
MED
WEB003
Public web service has no security.txt
.well-known/security.txt
MED
WEB012
Service worker is present without a web app manifest
manifest.json
LOW
SEC132
[SEC132] String concat where the language has interpolation (AI style drift): String buil…
client/src/utils/get-words.ts:19
LOW
SEC132
[SEC132] String concat where the language has interpolation (AI style drift): String buil…
client/i18n/config.js:33
LOW
SEC132
[SEC132] String concat where the language has interpolation (AI style drift): String buil…
api/src/utils/validation.ts:28
LOW
AIC003
Duplicated implementation block across source files
client/src/assets/icons/b1-english.tsx:57
LOW
AIC003
Duplicated implementation block across source files
client/src/assets/icons/b1-english.tsx:44
LOW
AIC003
Duplicated implementation block across source files
client/src/assets/icons/b1-english.tsx:3
LOW
AIC003
Duplicated implementation block across source files
client/src/assets/icons/a2-spanish.tsx:44
LOW
AIC003
Duplicated implementation block across source files
client/src/assets/icons/a2-spanish.tsx:31
LOW
AIC003
Duplicated implementation block across source files
client/src/assets/icons/a2-spanish.tsx:3
LOW
AIC003
Duplicated implementation block across source files
client/src/assets/icons/a2-english.tsx:44
LOW
AIC003
Duplicated implementation block across source files
client/src/assets/icons/a2-english.tsx:31
LOW
AIC003
Duplicated implementation block across source files
client/src/assets/icons/a2-english.tsx:3
LOW
AIC003
Duplicated implementation block across source files
client/src/assets/icons/a2-chinese.tsx:3
LOW
AIC003
Duplicated implementation block across source files
client/src/assets/icons/a1-spanish.tsx:3
LOW
AIC003
Duplicated implementation block across source files
api/src/utils/create-user.ts:68
LOW
AIC003
Duplicated implementation block across source files
api/src/schemas/users/get-public-profil…:21
LOW
AIC003
Duplicated implementation block across source files
api/src/schemas/users/get-public-profil…:20
LOW
AIC003
Duplicated implementation block across source files
api/src/schemas/user/get-session-user.ts:20
LOW
AIC003
Duplicated implementation block across source files
api/src/schemas/settings/update-socrate…:9
LOW
AIC003
Duplicated implementation block across source files
api/src/schemas/settings/update-my-them…:9
LOW
AIC003
Duplicated implementation block across source files
api/src/schemas/settings/update-my-soci…:17
LOW
AIC003
Duplicated implementation block across source files
api/src/schemas/settings/update-my-quin…:9
LOW
AIC003
Duplicated implementation block across source files
api/src/schemas/settings/update-my-prof…:10
LOW
AIC003
Duplicated implementation block across source files
api/src/schemas/settings/update-my-prof…:6
LOW
AIC003
Duplicated implementation block across source files
api/src/schemas/settings/update-my-priv…:9
LOW
AIC003
Duplicated implementation block across source files
api/src/schemas/settings/update-my-port…:17
LOW
AIC003
Duplicated implementation block across source files
api/src/schemas/settings/update-my-keyb…:9
LOW
AIC003
Duplicated implementation block across source files
api/src/schemas/settings/update-my-hone…:9
LOW
AIC003
Duplicated implementation block across source files
api/src/schemas/settings/update-my-expe…:22
LOW
AIC003
Duplicated implementation block across source files
api/src/schemas/challenge/modern-challe…:25
LOW
AIC003
Duplicated implementation block across source files
api/src/schemas/challenge/exam.ts:25
LOW
AIC003
Duplicated implementation block across source files
api/src/schemas/challenge/daily-coding-…:23
LOW
AIC003
Duplicated implementation block across source files
api/src/routes/protected/user.ts:647
LOW
WEB001
Public web app has no robots.txt
robots.txt
LOW
DKR010
Dockerfile leaves apt package indexes in the image layer
docker/api/Dockerfile:35
LOW
DKR010
Dockerfile leaves apt package indexes in the image layer
docker/api/Dockerfile:2
LOW
WEB002
Public web app has no sitemap
sitemap.xml
LOW
DKR008
.dockerignore misses sensitive defaults
.dockerignore
LOW
DKR011
Dockerfile installs recommended OS packages
docker/api/Dockerfile:35
LOW
DKR011
Dockerfile installs recommended OS packages
docker/api/Dockerfile:2
LOW
WEB008
Public docs site has no llms.txt
llms.txt
LOW
DKC010
Compose service lacks no-new-privileges hardening
docker/docker-compose.yml:40
LOW
AIC002
Source file name looks like an AI patch artifact
api/src/plugins/cookie-update.ts:1
LOW
DKC006
Compose service does not declare a runtime user
docker/docker-compose.yml:40
LOW
WEB011
Public web app has no humans.txt
humans.txt
INFO
MINED057
[MINED057] Todo Bomb: Code path with a TODO/FIXME/HACK comment that gates correctness — l…
tools/client-plugins/browser-scripts/mo…:43
INFO
MINED056
[MINED056] React Key As Index: key={index} in map() — re-renders the wrong elements on re…
client/src/components/landing/component…:32
INFO
MINED056
[MINED056] React Key As Index: key={index} in map() — re-renders the wrong elements on re…
client/src/components/landing/component…:41
INFO
MINED056
[MINED056] React Key As Index: key={index} in map() — re-renders the wrong elements on re…
client/src/components/catalog-item.tsx:44
INFO
MINED058
[MINED058] React Dangerously Set Html: dangerouslySetInnerHTML bypasses Reacts JSX escapi…
client/src/html.tsx:45
INFO
MINED058
[MINED058] React Dangerously Set Html: dangerouslySetInnerHTML bypasses Reacts JSX escapi…
client/src/components/helpers/skeleton-…:8
INFO
MINED058
[MINED058] React Dangerously Set Html: dangerouslySetInnerHTML bypasses Reacts JSX escapi…
client/src/components/SolutionViewer/so…:34
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
client/src/assets/icons/a2-chinese.tsx:11
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
client/src/assets/icons/a1-spanish.tsx:11
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
client/src/assets/icons/a1-chinese.tsx:11
INFO
MINED052
[MINED052] Ts Any Typed: : any used as type annotation. Defeats TypeScript type safety.
client/src/components/profile/component…:110
INFO
MINED052
[MINED052] Ts Any Typed: : any used as type annotation. Defeats TypeScript type safety.
client/gatsby-node.ts:13
INFO
MINED044
[MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger …
client/i18n/schema-validation.ts:52
INFO
MINED044
[MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger …
api/src/utils/redirection.ts:28
INFO
MINED044
[MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger …
api/src/utils/env.ts:16
INFO
MINED053
[MINED053] Placeholder Default Username: [email protected] / [email protected] / admin/admin…
api/vitest.utils.ts:223
INFO
MINED053
[MINED053] Placeholder Default Username: [email protected] / [email protected] / admin/admin…
api/src/plugins/auth-dev.ts:38
INFO
MINED045
[MINED045] Ts Non Null Assertion: x! asserts not null - bypasses null checks - TypeError …
api/src/routes/protected/socrates.ts:91
INFO
MINED045
[MINED045] Ts Non Null Assertion: x! asserts not null - bypasses null checks - TypeError …
api/src/routes/protected/donate.ts:113
INFO
MINED045
[MINED045] Ts Non Null Assertion: x! asserts not null - bypasses null checks - TypeError …
api/__fixtures__/exam-environment-exam.…:206