HIGH
SEC040
[SEC040] innerHTML XSS — template literal with server-supplied data: Setting .innerHTML w…
shared/utils/sitemap-utils.ts:118
HIGH
SEC114
[SEC114] path.join / Path() on user-controlled segment without containment check: filepat…
scripts/i18n/validate-config.js:15
HIGH
SEC083
[SEC083] JS: new RegExp() with non-literal: new RegExp(<variable>) — variable input can c…
scripts/i18n/validate-config.js:27
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
app/layout.tsx:185
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
app/api/trivia/route.ts:61
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
app/api/indexnow/route.ts:52
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
features/Preferences/components/rendere…:132
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
features/Conjugator/components/FAQ.tsx:32
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
app/api/analyze-text/route.ts:55
HIGH
DKR014
Dockerfile copies the entire context without .dockerignore
Dockerfile.dev:19
HIGH
DKR014
Dockerfile copies the entire context without .dockerignore
Dockerfile:16
HIGH
MINED115
[MINED115] Action `actions/setup-node` pinned to mutable ref `@v4`: `uses: actions/setup-…
.github/workflows/pr-check.yml:155
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout…
.github/workflows/pr-check.yml:151
HIGH
MINED115
[MINED115] Action `actions/github-script` pinned to mutable ref `@v7`: `uses: actions/git…
.github/workflows/pr-check.yml:122
HIGH
MINED115
[MINED115] Action `actions/github-script` pinned to mutable ref `@v7`: `uses: actions/git…
.github/workflows/pr-check.yml:109
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout…
.github/workflows/pr-check.yml:103
HIGH
MINED115
[MINED115] Action `actions/github-script` pinned to mutable ref `@v7`: `uses: actions/git…
.github/workflows/pr-check.yml:45
HIGH
MINED115
[MINED115] Action `actions/github-script` pinned to mutable ref `@v7`: `uses: actions/git…
.github/workflows/pr-check.yml:25
HIGH
MINED115
[MINED115] Action `actions/github-script` pinned to mutable ref `@v7`: `uses: actions/git…
.github/workflows/hourly-community-issu…:1283
HIGH
MINED115
[MINED115] Action `actions/github-script` pinned to mutable ref `@v7`: `uses: actions/git…
.github/workflows/hourly-community-issu…:87
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout…
.github/workflows/hourly-community-issu…:79
HIGH
MINED115
[MINED115] Action `actions/github-script` pinned to mutable ref `@v7`: `uses: actions/git…
.github/workflows/hourly-community-issu…:36
HIGH
MINED115
[MINED115] Action `actions/github-script` pinned to mutable ref `@v7`: `uses: actions/git…
.github/workflows/auto-reset-community-…:60
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout…
.github/workflows/auto-reset-community-…:54
HIGH
MINED115
[MINED115] Action `actions/github-script` pinned to mutable ref `@v7`: `uses: actions/git…
.github/workflows/issue-closed-communit…:30
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout…
.github/workflows/issue-closed-communit…:24
HIGH
MINED115
[MINED115] Action `actions/github-script` pinned to mutable ref `@v7`: `uses: actions/git…
.github/workflows/backfill-community-ba…:35
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout…
.github/workflows/backfill-community-ba…:29
HIGH
MINED115
[MINED115] Action `actions/github-script` pinned to mutable ref `@v7`: `uses: actions/git…
.github/workflows/backfill-pr-authors.y…:22
HIGH
MINED115
[MINED115] Action `actions/github-script` pinned to mutable ref `@v7`: `uses: actions/git…
.github/workflows/pr-check-comment.yml:25
HIGH
MINED115
[MINED115] Action `actions/setup-node` pinned to mutable ref `@v4`: `uses: actions/setup-…
.github/workflows/github-metrics.yml:64
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout…
.github/workflows/github-metrics.yml:61
HIGH
MINED115
[MINED115] Action `actions/github-script` pinned to mutable ref `@v7`: `uses: actions/git…
.github/workflows/github-metrics.yml:20
HIGH
MINED115
[MINED115] Action `actions/github-script` pinned to mutable ref `@v7`: `uses: actions/git…
.github/workflows/pr-community-review.y…:80
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout…
.github/workflows/pr-community-review.y…:71
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout…
.github/workflows/pr-community-review.y…:65
HIGH
MINED118
[MINED118] Dockerfile FROM `node:20-alpine` not pinned by digest: `FROM node:20-alpine` r…
Dockerfile.dev:3
HIGH
MINED118
[MINED118] Dockerfile FROM `node:20-alpine` not pinned by digest: `FROM node:20-alpine` r…
Dockerfile:23
HIGH
MINED118
[MINED118] Dockerfile FROM `node:20-alpine` not pinned by digest: `FROM node:20-alpine` r…
Dockerfile:13
HIGH
MINED118
[MINED118] Dockerfile FROM `node:20-alpine` not pinned by digest: `FROM node:20-alpine` r…
Dockerfile:5
MED
SEC087
[SEC087] JS: weak Math.random for crypto: Math.random() is not cryptographically secure; …
features/Experiments/components/KanaZen…:25
MED
SEC087
[SEC087] JS: weak Math.random for crypto: Math.random() is not cryptographically secure; …
features/Experiments/components/KanaNeb…:77
MED
SEC087
[SEC087] JS: weak Math.random for crypto: Math.random() is not cryptographically secure; …
features/Experiments/components/Hanabi.…:88
MED
ERR002
[ERR002] Empty Catch Block: Empty catch blocks hide errors.
app/layout.tsx:193
MED
AUC001
[AUC001] No Repobility access matrix policy found: The repository uses web/API frameworks…
—
MED
DKR007
Docker build context has no .dockerignore
.dockerignore
MED
DKR001
Docker final stage has no non-root USER
Dockerfile.dev:4
MED
JRN003
Frontend API reference is not matched by discovered backend routes
shared/utils/indexnow.ts:45
MED
JRN003
Frontend API reference is not matched by discovered backend routes
shared/utils/indexnow.ts:19
MED
JRN003
Frontend API reference is not matched by discovered backend routes
shared/ui-composite/misc/RandomFact.tsx:20
MED
JRN003
Frontend API reference is not matched by discovered backend routes
shared/ui-composite/Performance/Session…:11
MED
JRN003
Frontend API reference is not matched by discovered backend routes
shared/hooks/game/useTrivia.ts:78
MED
JRN003
Frontend API reference is not matched by discovered backend routes
public/sw.js:114
MED
JRN003
Frontend API reference is not matched by discovered backend routes
public/sw.js:108
MED
JRN003
Frontend API reference is not matched by discovered backend routes
next.config.ts:187
MED
JRN003
Frontend API reference is not matched by discovered backend routes
features/Translator/services/translatio…:145
MED
JRN003
Frontend API reference is not matched by discovered backend routes
features/Translator/services/textAnalys…:51
MED
AUC002
[AUC002] Low visible authorization coverage in route inventory: Only 31.6% of discovered …
—
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
app/api/progress-sync/route.ts:253
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
app/api/progress-sync/route.ts:195
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
app/api/indexnow/route.ts:119
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
app/api/indexnow/route.ts:24
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
app/api/analyze-text/route.ts:178
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
app/api/trivia/route.ts:60
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
app/api/trigger-thanos-community-conten…:22
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
app/security.txt/route.ts:8
MED
AUC009
[AUC009] Sensitive function route lacks elevated authorization evidence: A route appears …
app/llms.txt/route.ts:5
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/kanji/gauntlet/page.tsx:2
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/kanji/blitz/page.tsx:2
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/kana/train/timed/page.tsx:5
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/kana/train/timed/page.tsx:2
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/kana/gauntlet/page.tsx:2
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/credits/page.tsx:242
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/vocabulary/page.tsx:29
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/vocabulary/page.tsx:10
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/vocabulary/jlpt-n5/…:10
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/vocabulary/jlpt-n5/…:4
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/vocabulary/jlpt-n4/…:10
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/vocabulary/jlpt-n4/…:4
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/vocabulary/jlpt-n3/…:10
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/vocabulary/jlpt-n3/…:4
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/vocabulary/jlpt-n2/…:10
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/vocabulary/jlpt-n2/…:4
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/vocabulary/jlpt-n1/…:10
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/katakana-practice/p…:3
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/kanji/page.tsx:7
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/kanji/jlpt-n5/page.…:4
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/kanji/jlpt-n4/page.…:4
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/kanji/jlpt-n3/page.…:4
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/kanji/jlpt-n2/page.…:4
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/kanji-practice/page…:3
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/kana/learn-katakana…:28
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/jlpt/n5/page.tsx:4
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/jlpt/n5/page.tsx:1
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/jlpt/n4/page.tsx:4
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/jlpt/n4/page.tsx:1
LOW
AIC003
Duplicated implementation block across source files
app/[locale]/(main)/jlpt/n3/page.tsx:4
LOW
AIC009
Multiple AI-agent scaffold marker files are present
AGENTS.md:1
LOW
DKC010
Compose service lacks no-new-privileges hardening
docker-compose.yml:5
LOW
DKC006
Compose service does not declare a runtime user
docker-compose.yml:5
LOW
WEB011
Public web app has no humans.txt
humans.txt
INFO
MINED052
[MINED052] Ts Any Typed: : any used as type annotation. Defeats TypeScript type safety.
features/Experiments/components/KanaSea…:69
INFO
MINED052
[MINED052] Ts Any Typed: : any used as type annotation. Defeats TypeScript type safety.
features/Experiments/components/FlashRu…:59
INFO
MINED052
[MINED052] Ts Any Typed: : any used as type annotation. Defeats TypeScript type safety.
features/Achievements/hooks/useAchievem…:45
INFO
MINED045
[MINED045] Ts Non Null Assertion: x! asserts not null - bypasses null checks - TypeError …
features/AnkiConverter/hooks/useConvers…:133
INFO
MINED045
[MINED045] Ts Non Null Assertion: x! asserts not null - bypasses null checks - TypeError …
features/Achievements/components/progre…:172
INFO
MINED045
[MINED045] Ts Non Null Assertion: x! asserts not null - bypasses null checks - TypeError …
app/api/analyze-text/route.ts:73
INFO
MINED058
[MINED058] React Dangerously Set Html: dangerouslySetInnerHTML bypasses Reacts JSX escapi…
app/[locale]/resources/page.tsx:124
INFO
MINED058
[MINED058] React Dangerously Set Html: dangerouslySetInnerHTML bypasses Reacts JSX escapi…
app/[locale]/resources/[category]/page.…:149
INFO
MINED058
[MINED058] React Dangerously Set Html: dangerouslySetInnerHTML bypasses Reacts JSX escapi…
app/[locale]/resources/[category]/[subc…:171
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
shared/ui-composite/Modals/NightlyBanne…:45
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
features/Kanji/components/SetDictionary…:67
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
app/[locale]/credits/page.tsx:57
INFO
MINED056
[MINED056] React Key As Index: key={index} in map() — re-renders the wrong elements on re…
features/Conjugator/components/FAQ.tsx:93
INFO
MINED056
[MINED056] React Key As Index: key={index} in map() — re-renders the wrong elements on re…
features/Academy/components/index.tsx:39
INFO
MINED056
[MINED056] React Key As Index: key={index} in map() — re-renders the wrong elements on re…
app/[locale]/academy/[slug]/page.tsx:105
INFO
MINED044
[MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger …
app/api/analyze-text/route.ts:300
INFO
MINED044
[MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger …
app/ClientLayout.tsx:211
INFO
MINED044
[MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger …
.github/scripts/create-release.cjs:13