Scan Report
52 /100
edge
On-chain trading data and order management via MCP server. Search tokens, inspect pairs, screen for gems, analyze wallets, place limit orders, subscribe to price alerts.
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.
Use with caution
Replace the MCP spawn approach with a direct, auditable HTTP-based integration. If MCP is required, use a locally vendored, pinned binary rather than npx pull from npm. Pass the API key only to specific API calls, not as a startup argument to a spawned server.
Attack Chain 4 steps
◎
Entry User installs and configures the 'edge' skill, providing their Edge Trade API key
SKILL.md:33⬡
Escalation Skill spawns an external MCP server via 'npx -y @edgedottrade/mcp' with the API key as a startup argument, executing arbitrary code from npm
SKILL.md:28⬡
Escalation The opaque MCP server receives the full API key and gains access to trade, portfolio, and alert capabilities without isolation
SKILL.md:35◉
Impact MCP server can make arbitrary API calls on behalf of the user (trading, withdrawals) or exfiltrate the API key via its network access
SKILL.md:29Findings 5 items
| Severity | Finding | Location |
|---|---|---|
| High | Undeclared shell execution via npx spawn | SKILL.md:28 |
| High | API key passed to opaque external binary | SKILL.md:35 |
| Medium | No version pinning on external MCP package | SKILL.md:29 |
| Medium | Incomplete network activity disclosure | SKILL.md:15 |
| Medium | MCP spawn grants effectively unbounded capability escalation | SKILL.md:11 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | NONE | NONE | — | SKILL.md declares no filesystem access. No filesystem operations detected. |
| Network | READ (outbound) | READ | ✓ Aligned | SKILL.md declares 'network: outbound' but the MCP server's actual outbound traff… |
| Shell | NONE | WRITE | ✗ Violation | SKILL.md: command: npx. The skill executes 'npx -y @edgedottrade/mcp --api-key $… |
| Skill Invoke | NONE | WRITE | ✗ Violation | SKILL.md: mcp: spawn. The skill spawns a full MCP server process, granting it al… |
| Environment | NONE | READ | ✗ Violation | The skill accesses $API_KEY from the environment and passes it as an argument to… |
| Clipboard | NONE | NONE | — | No clipboard access detected. |
| Browser | NONE | NONE | — | No browser access detected. |
| Database | NONE | NONE | — | No database access detected. |
1 findings
Medium External URL 外部 URL
https://docs.trade.edge/agents SKILL.md:26 File Tree
2 files · 1.6 KB · 48 lines Markdown 1f · 26L
YAML 1f · 22L
├─
SKILL.md
Markdown
└─
skill.yaml
YAML
Dependencies 1 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
@edgedottrade/mcp | * | npm (via npx) | No | No version pinned. Pulled from npm at runtime via npx -y. Not vendored or audited. |
Security Positives
✓ The skill is for a legitimate, documented use case (crypto trading data) with no evidence of reverse shell, C2, or direct data theft code.
✓ SKILL.md documents tool capabilities clearly for the visible surface (search, inspect, screen, portfolio, trade, alerts).
✓ The MCP server is named and points to a declared GitHub repository, providing a traceable source.
✓ API key is marked as secret:true in the config schema.
✓ No base64-encoded payloads, eval chains, or direct IP network requests found in the skill definition itself.