CRIT
SEC084
[SEC084] JS: require() with non-literal: require(<variable>) loads arbitrary modules — eq…
.yarn/plugins/@yarnpkg/plugin-allow-scr…:6
CRIT
MINED013
[MINED013] Password In Url: https://user:password@host — leaks creds via logs, referrer, …
.github/scripts/bundle-stats-commit.sh:71
CRIT
MINED013
[MINED013] Password In Url: https://user:password@host — leaks creds via logs, referrer, …
.github/scripts/benchmark-stats-commit.…:202
CRIT
MINED116
[MINED116] Workflow uses `secrets.RELEASE_LABEL_TOKEN` on a `pull_request` trigger: This …
.github/workflows/add-release-label.yml:32
CRIT
MINED116
[MINED116] Workflow uses `secrets.AI_ANALYZER_LITELLM_KEY` on a `pull_request` trigger: T…
.github/workflows/ai-pr-risk-analysis.y…:49
CRIT
MINED116
[MINED116] Workflow uses `secrets.AI_ANALYZER_TOKEN` on a `pull_request` trigger: This wo…
.github/workflows/ai-pr-risk-analysis.y…:38
CRIT
MINED116
[MINED116] Workflow uses `secrets.METAMASK_REGRESSION_TRIGGER_TEST` on a `pull_request` t…
.github/workflows/main.yml:651
CRIT
MINED116
[MINED116] Workflow uses `secrets.E2E_GEMINI_API_KEY` on a `pull_request` trigger: This w…
.github/workflows/main.yml:623
CRIT
MINED116
[MINED116] Workflow uses `secrets.E2E_CLAUDE_API_KEY` on a `pull_request` trigger: This w…
.github/workflows/main.yml:622
CRIT
MINED116
[MINED116] Workflow uses `secrets.E2E_OPENAI_API_KEY` on a `pull_request` trigger: This w…
.github/workflows/main.yml:621
CRIT
MINED116
[MINED116] Workflow uses `secrets.PR_COMMENT_TOKEN` on a `pull_request` trigger: This wor…
.github/workflows/main.yml:620
CRIT
MINED116
[MINED116] Workflow uses `secrets.TS_MIGRATION_DASHBOARD_TOKEN` on a `pull_request` trigg…
.github/workflows/main.yml:550
CRIT
MINED116
[MINED116] Workflow uses `secrets.INFURA_PROJECT_ID` on a `pull_request` trigger: This wo…
.github/workflows/main.yml:533
CRIT
MINED116
[MINED116] Workflow uses `secrets.EXTENSION_BUNDLESIZE_STATS_TOKEN` on a `pull_request` t…
.github/workflows/main.yml:455
CRIT
MINED116
[MINED116] Workflow uses `secrets.SONAR_TOKEN` on a `pull_request` trigger: This workflow…
.github/workflows/main.yml:444
CRIT
MINED116
[MINED116] Workflow uses `secrets.BUG_REPORT_TOKEN` on a `pull_request` trigger: This wor…
.github/workflows/close-bug-report.yml:20
CRIT
MINED116
[MINED116] Workflow uses `secrets.STABLE_SYNC_TOKEN` on a `pull_request` trigger: This wo…
.github/workflows/release-branch-sync.y…:44
CRIT
MINED116
[MINED116] Workflow uses `secrets.APPSEC_BOT_SLACK_WEBHOOK` on a `pull_request` trigger: …
.github/workflows/security-code-scanner…:43
CRIT
MINED116
[MINED116] Workflow uses `secrets.SECURITY_SCAN_METRICS_TOKEN` on a `pull_request` trigge…
.github/workflows/security-code-scanner…:42
CRIT
MINED116
[MINED116] Workflow uses `secrets.LAVAMOAT_UPDATE_TOKEN` on a `pull_request` trigger: Thi…
.github/workflows/auto-update-pr-target…:26
HIGH
SEC083
[SEC083] JS: new RegExp() with non-literal: new RegExp(<variable>) — variable input can c…
development/metamaskbot-build-announce/…:163
HIGH
SEC040
[SEC040] innerHTML XSS — template literal with server-supplied data: Setting .innerHTML w…
development/metamaskbot-build-announce/…:126
HIGH
SEC040
[SEC040] innerHTML XSS — template literal with server-supplied data: Setting .innerHTML w…
development/metamaskbot-build-announce/…:193
HIGH
SEC040
[SEC040] innerHTML XSS — template literal with server-supplied data: Setting .innerHTML w…
development/fitness-functions/common/sh…:35
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
app/scripts/streams/cookie-handler-stre…:179
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
app/scripts/platforms/extension.js:244
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
app/scripts/controllers/permissions/dif…:42
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
app/scripts/constants/marketing-site-wh…:15
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
.github/scripts/post-nightly-builds.mts:59
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
.github/scripts/create-e2e-test-report.…:234
HIGH
SEC026
[SEC026] XML External Entity (XXE) — Ruby Nokogiri default: Ruby XML parsers (Nokogiri, R…
.github/scripts/merge-test-results.mts:97
HIGH
SEC026
[SEC026] XML External Entity (XXE) — Ruby Nokogiri default: Ruby XML parsers (Nokogiri, R…
.github/scripts/extract-test-results.mts:57
HIGH
SEC026
[SEC026] XML External Entity (XXE) — Ruby Nokogiri default: Ruby XML parsers (Nokogiri, R…
.github/scripts/create-e2e-test-report.…:54
HIGH
MINED010
[MINED010] Ruby System Call: system / backtick run shell. Command injection if any arg dy…
.github/scripts/shared/get-pr-diff.mts:49
HIGH
MINED010
[MINED010] Ruby System Call: system / backtick run shell. Command injection if any arg dy…
.github/scripts/known-feature-flag-cons…:67
HIGH
MINED010
[MINED010] Ruby System Call: system / backtick run shell. Command injection if any arg dy…
.github/scripts/collect-qa-stats-metame…:35
HIGH
SEC085
[SEC085] JS: child_process.exec with non-literal: child_process.exec with user-derived in…
.github/scripts/shared/get-pr-diff.mts:49
HIGH
SEC085
[SEC085] JS: child_process.exec with non-literal: child_process.exec with user-derived in…
.github/scripts/known-feature-flag-cons…:67
HIGH
SEC085
[SEC085] JS: child_process.exec with non-literal: child_process.exec with user-derived in…
.github/scripts/collect-qa-stats-metame…:35
HIGH
MINED012
[MINED012] Curl Pipe Bash: curl ... | sh / bash — runs unverified network code.
.github/scripts/bundle.sh:58
HIGH
MINED115
[MINED115] Action `actions/upload-artifact` pinned to mutable ref `@v6`: `uses: actions/u…
.github/workflows/update-e2e-fixtures.y…:189
HIGH
MINED115
[MINED115] Action `actions/cache/restore` pinned to mutable ref `@v5`: `uses: actions/cac…
.github/workflows/update-e2e-fixtures.y…:167
HIGH
MINED115
[MINED115] Action `actions/cache/restore` pinned to mutable ref `@v5`: `uses: actions/cac…
.github/workflows/update-e2e-fixtures.y…:156
HIGH
MINED115
[MINED115] Action `MetaMask/action-checkout-and-setup` pinned to mutable ref `@v3`: `uses…
.github/workflows/update-e2e-fixtures.y…:149
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout…
.github/workflows/update-e2e-fixtures.y…:144
HIGH
MINED115
[MINED115] Action `actions/cache/save` pinned to mutable ref `@v5`: `uses: actions/cache/…
.github/workflows/update-e2e-fixtures.y…:131
HIGH
MINED115
[MINED115] Action `MetaMask/action-checkout-and-setup` pinned to mutable ref `@v3`: `uses…
.github/workflows/update-e2e-fixtures.y…:71
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout…
.github/workflows/update-e2e-fixtures.y…:62
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout…
.github/workflows/update-e2e-fixtures.y…:35
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout…
.github/workflows/update-e2e-fixtures.y…:17
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout…
.github/workflows/crowdin-download-tran…:15
HIGH
MINED115
[MINED115] Action `actions/download-artifact` pinned to mutable ref `@v7`: `uses: actions…
.github/workflows/run-benchmarks.yml:311
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout…
.github/workflows/run-benchmarks.yml:307
HIGH
MINED115
[MINED115] Action `actions/download-artifact` pinned to mutable ref `@v7`: `uses: actions…
.github/workflows/run-benchmarks.yml:245
HIGH
MINED115
[MINED115] Action `actions/setup-node` pinned to mutable ref `@v6`: `uses: actions/setup-…
.github/workflows/run-benchmarks.yml:235
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v6`: `uses: actions/checkout…
.github/workflows/run-benchmarks.yml:222
HIGH
MINED115
[MINED115] Action `actions/upload-artifact` pinned to mutable ref `@v6`: `uses: actions/u…
.github/workflows/run-benchmarks.yml:195
HIGH
MINED115
[MINED115] Action `MetaMask/github-tools/.github/actions/upload-s3` pinned to mutable ref…
.github/workflows/run-benchmarks.yml:186
HIGH
MINED115
[MINED115] Action `actions/download-artifact` pinned to mutable ref `@v7`: `uses: actions…
.github/workflows/run-benchmarks.yml:150
HIGH
MINED115
[MINED115] Action `MetaMask/action-checkout-and-setup` pinned to mutable ref `@v3`: `uses…
.github/workflows/run-benchmarks.yml:144
HIGH
MINED115
[MINED115] Action `actions/upload-artifact` pinned to mutable ref `@v6`: `uses: actions/u…
.github/workflows/run-benchmarks.yml:117
HIGH
MINED115
[MINED115] Action `MetaMask/github-tools/.github/actions/upload-s3` pinned to mutable ref…
.github/workflows/run-benchmarks.yml:108
HIGH
MINED115
[MINED115] Action `actions/download-artifact` pinned to mutable ref `@v7`: `uses: actions…
.github/workflows/run-benchmarks.yml:73
HIGH
MINED115
[MINED115] Action `actions/cache/restore` pinned to mutable ref `@v5`: `uses: actions/cac…
.github/workflows/run-benchmarks.yml:61
HIGH
MINED115
[MINED115] Action `MetaMask/action-checkout-and-setup` pinned to mutable ref `@v3`: `uses…
.github/workflows/run-benchmarks.yml:54
HIGH
JRN004
Consent is collected in UI without visible backend audit persistence
ui/selectors/selectors.js:2328
MED
SEC134
[SEC134] AI scaffold leftover — Lorem ipsum / example.com / John Doe in code: Lorem ipsum…
ui/components/app/confirm/info/row/url.…:22
MED
SEC134
[SEC134] AI scaffold leftover — Lorem ipsum / example.com / John Doe in code: Lorem ipsum…
ui/components/app/confirm/info/row/text…:23
MED
SEC134
[SEC134] AI scaffold leftover — Lorem ipsum / example.com / John Doe in code: Lorem ipsum…
ui/components/app/alert-system/general-…:8
MED
SEC041
[SEC041] Tabnabbing — target="_blank" without rel="noopener noreferrer": <a target="_blan…
ui/components/app/shield-entry-modal/sh…:215
MED
SEC041
[SEC041] Tabnabbing — target="_blank" without rel="noopener noreferrer": <a target="_blan…
ui/components/app/modals/multichain-acc…:86
MED
SEC041
[SEC041] Tabnabbing — target="_blank" without rel="noopener noreferrer": <a target="_blan…
app/offscreen/hardware-wallets/lattice.…:7
MED
SEC045
[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data — even …
.github/scripts/shared/get-pr-diff.mts:49
MED
SEC045
[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data — even …
.github/scripts/known-feature-flag-cons…:67
MED
SEC045
[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data — even …
.github/scripts/collect-qa-stats-metame…:35
MED
AUC001
[AUC001] No Repobility access matrix policy found: The repository uses web/API frameworks…
—
MED
WEB003
Public web service has no security.txt
.well-known/security.txt
MED
AGT006
React interval is created without an explicit cleanup
app/scripts/controllers/metametrics-con…:575
MED
AGT006
React interval is created without an explicit cleanup
app/scripts/background.js:853
MED
AGT015
Remote install command pipes network code directly to a shell
.github/scripts/bundle.sh:58
LOW
AIC003
Duplicated implementation block across source files
app/scripts/lib/dapp-swap/dapp-swap-uti…:67
LOW
AIC003
Duplicated implementation block across source files
app/scripts/controllers/rewards/utils/t…:19
LOW
AIC003
Duplicated implementation block across source files
app/scripts/controllers/rewards/utils/s…:19
LOW
AIC003
Duplicated implementation block across source files
app/scripts/controllers/encryption-publ…:268
LOW
AIC003
Duplicated implementation block across source files
.eslintrc.js:216
LOW
WEB001
Public web app has no robots.txt
robots.txt
LOW
WEB002
Public web app has no sitemap
sitemap.xml
LOW
WEB008
Public docs site has no llms.txt
llms.txt
LOW
AIC002
Source file name looks like an AI patch artifact
ui/pages/permissions-connect/snaps/snap…:1
LOW
AIC002
Source file name looks like an AI patch artifact
ui/components/multichain-accounts/multi…:1
LOW
AIC002
Source file name looks like an AI patch artifact
app/scripts/on-update.ts:1
LOW
WEB011
Public web app has no humans.txt
humans.txt
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
ui/components/multichain/notification-l…:32
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
ui/components/component-library/tag-url…:76
INFO
MINED054
[MINED054] Ts As Any: Casting to any (as any) bypasses type checking entirely.
ui/components/component-library/modal-f…:13
INFO
MINED054
[MINED054] Ts As Any: Casting to any (as any) bypasses type checking entirely.
ui/components/app/srp-quiz-modal/QuizCo…:67
INFO
MINED054
[MINED054] Ts As Any: Casting to any (as any) bypasses type checking entirely.
ui/components/app/snaps/snap-ui-rendere…:115
INFO
MINED058
[MINED058] React Dangerously Set Html: dangerouslySetInnerHTML bypasses Reacts JSX escapi…
ui/components/app/rewards/RewardsQRCode…:32
INFO
MINED057
[MINED057] Todo Bomb: Code path with a TODO/FIXME/HACK comment that gates correctness — l…
ui/components/app/perps/perps-positions…:104
INFO
MINED056
[MINED056] React Key As Index: key={index} in map() — re-renders the wrong elements on re…
ui/components/app/perps/perps-skeletons…:112
INFO
MINED056
[MINED056] React Key As Index: key={index} in map() — re-renders the wrong elements on re…
ui/components/app/perps/perps-market-re…:34
INFO
MINED056
[MINED056] React Key As Index: key={index} in map() — re-renders the wrong elements on re…
ui/components/app/flask/experimental-ar…:10
INFO
MINED088
[MINED088] React Conditional Hook: useState/useEffect inside if/loop violates Rules of Ho…
ui/components/app/currency-input/hooks/…:88
INFO
MINED045
[MINED045] Ts Non Null Assertion: x! asserts not null - bypasses null checks - TypeError …
ui/components/app/modals/pna25-modal/pn…:96
INFO
MINED045
[MINED045] Ts Non Null Assertion: x! asserts not null - bypasses null checks - TypeError …
development/circular-deps.ts:228
INFO
MINED045
[MINED045] Ts Non Null Assertion: x! asserts not null - bypasses null checks - TypeError …
app/scripts/controllers/institutional-s…:123
INFO
MINED042
[MINED042] Cpp New Without Delete: C++ raw new without RAII / unique_ptr — memory leak ri…
.github/scripts/create-e2e-test-report.…:42
INFO
MINED042
[MINED042] Cpp New Without Delete: C++ raw new without RAII / unique_ptr — memory leak ri…
.github/scripts/create-bug-report-issue…:117
INFO
MINED042
[MINED042] Cpp New Without Delete: C++ raw new without RAII / unique_ptr — memory leak ri…
.github/scripts/benchmark-fp-rate.mts:46
INFO
MINED052
[MINED052] Ts Any Typed: : any used as type annotation. Defeats TypeScript type safety.
.github/scripts/post-nightly-builds.mts:53
INFO
MINED052
[MINED052] Ts Any Typed: : any used as type annotation. Defeats TypeScript type safety.
.github/scripts/git-diff-default-branch…:120
INFO
MINED052
[MINED052] Ts Any Typed: : any used as type annotation. Defeats TypeScript type safety.
.devcontainer/launch-firefox.ts:4
INFO
MINED044
[MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger …
.github/scripts/check-pr-has-required-l…:9
INFO
MINED044
[MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger …
.github/scripts/benchmark-fp-rate.mts:241
INFO
MINED044
[MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger …
.github/scripts/add-release-label-to-pr…:12