⚠️ This snapshot is over 30 days old — treat the grade as stale until the next refresh. Re-scan locally to verify.
Trust Card · Static snapshot
cloudflare__mcp-server-cloudflare D
43/100 · 105 findings (21 critical) · scope excessive · Ranked #44 of 53 scanned.
Scanned 2026-09-09 · engine v0.1.0 (8 regex rules, OWASP-mapped) · upstream cloudflare/mcp-server-cloudflare @ db90847 (2026-08-31)
Score breakdown
Score constrained by 21 critical and 84 high-severity findings.
Fix first (105 critical/high)
| Severity | Rule | Finding | Remediation |
|---|---|---|---|
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionapps/ai-gateway/worker-configuration.d.ts:3055Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionapps/auditlogs/worker-configuration.d.ts:3055Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionapps/autorag/worker-configuration.d.ts:3055Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionapps/browser-rendering/worker-configuration.d.ts:3055Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionapps/cloudflare-one-casb/worker-configuration.d.ts:3051Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionapps/demo-day/worker-configuration.d.ts:3039Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionapps/dex-analysis/worker-configuration.d.ts:3053Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionapps/dns-analytics/worker-configuration.d.ts:3055Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionapps/docs-ai-search/worker-configuration.d.ts:3052Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionapps/graphql/worker-configuration.d.ts:3055Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionapps/logpush/worker-configuration.d.ts:3055Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionapps/radar/worker-configuration.d.ts:3053Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionapps/sandbox-container/server/container-tools.ts:68Evidence: content: [{ type: 'text', text: await getUserContainer(context).container_exec(args) }], | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionapps/sandbox-container/server/userContainer.ts:84Evidence: async container_exec(params: ExecParams): Promise<string> { | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionapps/sandbox-container/worker-configuration.d.ts:3072Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionapps/workers-bindings/worker-configuration.d.ts:3061Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionapps/workers-builds/worker-configuration.d.ts:3061Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionapps/workers-observability/worker-configuration.d.ts:3067Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionpackages/eval-tools/worker-configuration.d.ts:3036Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionpackages/mcp-common/worker-configuration.d.ts:3036Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionpackages/mcp-observability/worker-configuration.d.ts:3036Evidence: exec(input?: (string | URLPatternInit), baseURL?: string): URLPatternResult | null; | Strictly restrict shell execution to an immutable allowlist of binary commands with explicit argument arrays, or execute inside microVM sandboxes. |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/ai-gateway/worker-configuration.d.ts:324Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/ai-gateway/worker-configuration.d.ts:420Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/ai-gateway/worker-configuration.d.ts:1858Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/ai-gateway/worker-configuration.d.ts:10937Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/auditlogs/worker-configuration.d.ts:324Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/auditlogs/worker-configuration.d.ts:420Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/auditlogs/worker-configuration.d.ts:1858Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/auditlogs/worker-configuration.d.ts:10937Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/autorag/worker-configuration.d.ts:324Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/autorag/worker-configuration.d.ts:420Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/autorag/worker-configuration.d.ts:1858Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/autorag/worker-configuration.d.ts:10937Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/browser-rendering/worker-configuration.d.ts:324Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/browser-rendering/worker-configuration.d.ts:420Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/browser-rendering/worker-configuration.d.ts:1858Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/browser-rendering/worker-configuration.d.ts:10937Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/cloudflare-blog/src/tools/blog.tools.ts:25Evidence: const res = await fetch(url) | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/cloudflare-one-casb/worker-configuration.d.ts:320Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/cloudflare-one-casb/worker-configuration.d.ts:416Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/cloudflare-one-casb/worker-configuration.d.ts:1854Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/cloudflare-one-casb/worker-configuration.d.ts:10933Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/demo-day/frontend/script.js:141Evidence: async function retryFetch(url, options, maxRetries = 3) { | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/demo-day/frontend/script.js:144Evidence: const response = await fetch(url, options) | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/demo-day/worker-configuration.d.ts:308Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/demo-day/worker-configuration.d.ts:404Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/demo-day/worker-configuration.d.ts:1842Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/demo-day/worker-configuration.d.ts:10921Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/dex-analysis/src/warp_diag_reader.ts:79Evidence: const res = await fetch(url, { headers }) | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/dex-analysis/worker-configuration.d.ts:322Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/dex-analysis/worker-configuration.d.ts:418Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/dex-analysis/worker-configuration.d.ts:1856Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/dex-analysis/worker-configuration.d.ts:10935Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/dns-analytics/worker-configuration.d.ts:324Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/dns-analytics/worker-configuration.d.ts:420Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/dns-analytics/worker-configuration.d.ts:1858Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/dns-analytics/worker-configuration.d.ts:10937Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/docs-ai-search/worker-configuration.d.ts:321Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/docs-ai-search/worker-configuration.d.ts:417Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/docs-ai-search/worker-configuration.d.ts:1855Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/docs-ai-search/worker-configuration.d.ts:10934Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/graphql/worker-configuration.d.ts:324Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/graphql/worker-configuration.d.ts:420Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/graphql/worker-configuration.d.ts:1858Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/graphql/worker-configuration.d.ts:10937Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/logpush/worker-configuration.d.ts:324Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/logpush/worker-configuration.d.ts:420Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/logpush/worker-configuration.d.ts:1858Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/logpush/worker-configuration.d.ts:10937Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/radar/src/tools/radar.tools.ts:163Evidence: const response = await fetch(url.toString(), { | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/radar/src/tools/url-scanner.tools.ts:39Evidence: const res = await fetch(url.toString(), { | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/radar/worker-configuration.d.ts:322Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/radar/worker-configuration.d.ts:418Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/radar/worker-configuration.d.ts:1856Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/radar/worker-configuration.d.ts:10935Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/sandbox-container/server/containerHelpers.ts:74Evidence: return fetch(url, request.clone() as Request) | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/sandbox-container/worker-configuration.d.ts:341Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/sandbox-container/worker-configuration.d.ts:437Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/sandbox-container/worker-configuration.d.ts:1875Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/sandbox-container/worker-configuration.d.ts:10954Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/workers-bindings/worker-configuration.d.ts:330Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/workers-bindings/worker-configuration.d.ts:426Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/workers-bindings/worker-configuration.d.ts:1864Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/workers-bindings/worker-configuration.d.ts:10943Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/workers-builds/worker-configuration.d.ts:330Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/workers-builds/worker-configuration.d.ts:426Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/workers-builds/worker-configuration.d.ts:1864Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/workers-builds/worker-configuration.d.ts:10943Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/workers-observability/worker-configuration.d.ts:336Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/workers-observability/worker-configuration.d.ts:432Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/workers-observability/worker-configuration.d.ts:1870Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egressapps/workers-observability/worker-configuration.d.ts:10949Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egresspackages/eval-tools/worker-configuration.d.ts:305Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egresspackages/eval-tools/worker-configuration.d.ts:401Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egresspackages/eval-tools/worker-configuration.d.ts:1839Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egresspackages/eval-tools/worker-configuration.d.ts:10918Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egresspackages/mcp-common/src/cloudflare-api.ts:51Evidence: const response = await fetch(url, { | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egresspackages/mcp-common/worker-configuration.d.ts:300Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egresspackages/mcp-common/worker-configuration.d.ts:398Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egresspackages/mcp-common/worker-configuration.d.ts:1838Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egresspackages/mcp-common/worker-configuration.d.ts:10938Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egresspackages/mcp-observability/worker-configuration.d.ts:300Evidence: fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egresspackages/mcp-observability/worker-configuration.d.ts:398Evidence: declare function fetch(input: RequestInfo | URL, init?: RequestInit<RequestInitCfProperties>): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egresspackages/mcp-observability/worker-configuration.d.ts:1838Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
| HIGH | AT-SEC-006 (LLM06) | Unfiltered SSRF / Arbitrary Network Egresspackages/mcp-observability/worker-configuration.d.ts:10938Evidence: fetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>; | Define an explicit egress domain allowlist and block private IP ranges (127.0.0.1, 10.0.0.0/8, 169.254.169.254). |
Permissions
Scope: excessive · Shell: enabled · Network egress: yes · File deletion: none · Human approval: none
Provenance
License: Apache-2.0 · Lockfile: yes · Security policy: no · Signals: unverified origin
Independently scanned by the AgentTrust registry (not self-reported by the project). Static analysis only — no code executed, findings need human triage, counts may include test/example code. Static snapshot; re-scan before relying on it: npx @eulogik/agenttrust scan https://github.com/cloudflare/mcp-server-cloudflare. Scores move with every upstream commit; pages refresh weekly. How scoring works.