T08 · Insecure Dependencies
- Location
SKILL.md:14- Finding
Mutable Remote OpenAPI Schema Controls Authenticated Financial Operations
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:14-15,SKILL.md:67-68, andreferences/usage-patterns.md:6-7
Vulnerability Type: Unpinned remote dependency used to define authenticated API operations
Risk Level: MediumAffected code in
SKILL.md:14-15:markdown - Access to the curated OpenAPI schema URL: - `https://raw.githubusercontent.com/holon-run/uxc/main/skills/mexc-openapi-skill/references/mexc-spot.openapi.json`Affected code in
SKILL.md:67-68:markdown - If missing, create it: `uxc link mexc-openapi-cli https://api.mexc.com --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/mexc-openapi-skill/references/mexc-spot.openapi.json`Affected code in
references/usage-patterns.md:6-7:bash uxc link mexc-openapi-cli https://api.mexc.com \ --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/mexc-openapi-skill/references/mexc-spot.openapi.jsonTechnical Analysis
The normal setup procedure instructs users to retrieve the OpenAPI schema from the mutable Git branch
holon-run/uxc/main. It does not pin the dependency to an immutable commit, verify a cryptographic digest, or compare the downloaded schema against the schema bundled in the audited project.The schema defines which HTTP paths, methods, and parameters are available through
mexc-openapi-cli. The Skill also configures a signer binding forhttps://api.mexc.com/api/v3, allowing supported requests to be authenticated with the user's MEXC API key and secret. Consequently, the effective API surface used at runtime can change after the Skill package has been reviewed.This is a supply-chain trust issue rather than evidence that the current remote schema is malicious. Exploitation requires the upstream repository, branch, account, or delivery path to be compromised or changed unsafely. The fixed HTTPS MEXC base URL limits arbitrary-host credential exfilt ...[truncated 1805 chars]
- Remediation
View remediation
Remediation Suggestions
- Use the bundled
references/mexc-spot.openapi.jsonfile by default instead of downloading a runtime schema. - If remote retrieval is required, pin the URL to a specific immutable Git commit rather than the
mainbranch. - Publish the expected SHA-256 digest and verify the downloaded file before passing it to UXC.
- Reject schemas whose server URL is not exactly
https://api.mexc.com. - Validate the schema against an explicit allowlist of approved path and method pairs:
- Public
GEToperations listed by the Skill. - Signed account and order
GEToperations listed by the Skill. - Only the approved
POST /api/v3/orderandDELETE /api/v3/orderwrite operations.
- Public
- Fail closed if the schema introduces additional servers, paths, methods, callbacks, external references, or unexpected authentication definitions.
- Preserve the existing explicit-confirmation requirement for signed writes and display the exact HTTP method, path, symbol, side, quantity, and price before approval.
- Configure MEXC API keys with the minimum required permissions and disable withdrawal or transfer permissions when they are not needed.
- Use the bundled
