⚠️ 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
apify__actors-mcp-server D
45/100 · 5 findings (2 critical) · scope excessive · Ranked #42 of 53 scanned.
Scanned 2026-09-09 · engine v0.1.0 (8 regex rules, OWASP-mapped) · upstream apify/actors-mcp-server @ db4c9d5 (2026-09-09)
Score breakdown
Score constrained by 2 critical and 3 high-severity findings.
Fix first (5 critical/high)
| Severity | Rule | Finding | Remediation |
|---|---|---|---|
| CRITICAL | AT-SEC-003 (ASI02) | Unbounded Dynamic Shell Executionscripts/dev_standby.js:16Evidence: const child = spawn(cmd, 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 Executiontests/e2e/protocol_v1.test.ts:147Evidence: const child = spawn(command, args, { stdio: 'pipe' }); | 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 Egresssrc/mcp/client.ts:90Evidence: async fetch(input: Request | URL | string, init?: RequestInit) { | 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 Egresssrc/mcp/client.ts:93Evidence: return fetch(input, { ...init, 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 Egresssrc/payments/x402.ts:136Evidence: 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). |
Permissions
Scope: excessive · Shell: enabled · Network egress: yes · File deletion: enabled · Human approval: none
Provenance
License: MIT · Lockfile: yes · Security policy: yes · Signals: present (documentary, not a safety verdict)
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/apify/actors-mcp-server. Scores move with every upstream commit; pages refresh weekly. How scoring works.