edge
The skill spawns an external MCP server via npx with an API key, creating opaque code execution that is not inspectable, with undeclared shell execution and indirect credential exposure.
Why this conclusion was reached
2/4 dimensions flagged3 undeclared or violating capabilities were inferred.
1 lower-risk artifacts were extracted and still need context.
The report includes 4 attack-chain steps and 2 severe findings.
1 dependency or supply-chain issues need attention.
Attack Chain
Entry · SKILL.md:33
Escalation · SKILL.md:28
Escalation · SKILL.md:35
Impact · SKILL.md:29
What drove the risk score up
SKILL.md declares mcp:spawn but does not disclose that npx is invoked, which is shell:WRITE execution. Users see only 'MCP server' and may not realize arbitrary code is downloaded and run.
The entire capability surface depends on the @edgedottrade/mcp npm package, which is a black box. The API key is passed as a startup argument, meaning the binary has access to it from initialization with no isolation.
SKILL.md declares 'network: outbound' only, but the MCP server likely makes multiple outbound requests beyond what is documented. The actual network footprint is invisible.
The npx command has no version pinning; any version of @edgedottrade/mcp is accepted, enabling supply chain attacks.
Most important evidence
Undeclared shell execution via npx spawn
The skill invokes 'npx -y @edgedottrade/mcp --api-key ${API_KEY}' which downloads and executes an external npm package. This is shell:WRITE execution and constitutes remote code execution from an external source. The SKILL.md only mentions 'mcp: spawn' without disclosing that npx is used, making the execution vector invisible to users reviewing only the documented behavior.
SKILL.md:28 API key passed to opaque external binary
The Edge Trade API key is passed as a command-line argument to the spawned MCP server at startup. This means the credential is exposed to an external, uninspectable binary from the moment the skill initializes. The MCP server could use this key for any API operation including trading, withdrawal, or data exfiltration. SKILL.md describes it as 'Edge Trade API key (sk-...)' but does not warn about the attack surface of passing it to an external process.
SKILL.md:35 No version pinning on external MCP package
The npx invocation uses '@edgedottrade/mcp' without any version specifier. This means any version—potentially a malicious one published after account compromise—is accepted. The '-y' flag bypasses confirmation prompts.
SKILL.md:29 Incomplete network activity disclosure
SKILL.md declares 'network: outbound' but the MCP server's actual network behavior includes: (1) querying the Edge Trade API for token/pair data, (2) webhook delivery for alerts, (3) polling loops for price subscriptions. These are not enumerated, making the full network footprint opaque.
SKILL.md:15 MCP spawn grants effectively unbounded capability escalation
The 'mcp: spawn' permission combined with spawning a full trading platform MCP server (with trade, portfolio, alerts capabilities) creates a significant capability escalation. The spawned process can access all tools declared in its schema. SKILL.md does not enumerate what the MCP server can do, leaving users unable to audit the actual attack surface.
SKILL.md:11 Declared capability vs actual capability
SKILL.md declares no filesystem access. No filesystem operations detected. SKILL.md declares 'network: outbound' but the MCP server's actual outbound traffic (API calls to trading endpoints, webhook delivery for alerts, polling loops) is not enumerated. SKILL.md: command: npx. The skill executes 'npx -y @edgedottrade/mcp --api-key ${API_KEY}', which is shell:WRITE not declared in allowed-tools or permissions. SKILL.md: mcp: spawn. The skill spawns a full MCP server process, granting it all capabilities of that server's tools (search, inspect, screen, portfolio, trade, alerts). This effectively escalates from a declared API wrapper to arbitrary code execution. The skill accesses $API_KEY from the environment and passes it as an argument to the spawned npx process. This is not declared in SKILL.md permissions. No clipboard access detected. No browser access detected. No database access detected. Suspicious artifacts and egress
https://docs.trade.edge/agents SKILL.md:26
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| @edgedottrade/mcp | * | npm (via npx) | No | No version pinned. Pulled from npm at runtime via npx -y. Not vendored or audited. |
File composition
SKILL.md