T08 · Insecure Dependencies
- Location
SKILL.md:174- Finding
Mutable Remote OpenAPI Schema Controls Authenticated Financial API Operations
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:174-179; duplicated inreferences/usage-patterns.md:3-11
Vulnerability Type: Supply-chain risk caused by an unpinned remote schema
Risk Level: MediumVulnerable Code
SKILL.md:174-179:bash - `command -v binance-spot-mainnet-openapi-cli` - If missing, create it: `uxc link binance-spot-mainnet-openapi-cli https://api.binance.com --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/binance-spot-openapi-skill/references/binance-spot.openapi.json` - `command -v binance-spot-testnet-openapi-cli` - If missing, create it: `uxc link binance-spot-testnet-openapi-cli https://testnet.binance.vision --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/binance-spot-openapi-skill/references/binance-spot.openapi.json`references/usage-patterns.md:3-11:bash ## Link Setup ```bash command -v binance-spot-mainnet-openapi-cli uxc link binance-spot-mainnet-openapi-cli https://api.binance.com \ --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/binance-spot-openapi-skill/references/binance-spot.openapi.json command -v binance-spot-testnet-openapi-cli uxc link binance-spot-testnet-openapi-cli https://testnet.binance.vision \ --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/binance-spot-openapi-skill/references/binance-spot.openapi.jsonTechnical Analysis
The link commands retrieve an OpenAPI schema from the mutable
mainbranch of an external GitHub repository. They do not pin the schema to an immutable commit, verify a cryptographic digest, or use the audited schema bundled inreferences/binance-spot.openapi.json.The schema controls the API operations, HTTP methods, paths, parameters, and security declarations exposed through the generated UXC links. Consequently, the effective API definition used at runtime can differ from the version ...[truncated 2308 chars]
- Remediation
View remediation
Remediation Suggestions
- Use the schema bundled with the audited skill package instead of downloading a runtime copy from a mutable branch.
- If remote retrieval is required, replace the
mainURL with a raw GitHub URL pinned to a full immutable commit hash. - Publish an expected SHA-256 digest and verify the downloaded file before passing it to UXC. Abort setup if verification fails.
- Validate that the schema contains only approved HTTPS Binance servers,
/api/v3paths, expected HTTP methods, and an explicit allowlist of operation IDs. - Extend
scripts/validate.shto reject mutable branch URLs and verify any remote-schema commit and digest policy. - Keep signer bindings restricted to the exact Binance host, HTTPS scheme, and
/api/v3prefix. - Retain explicit user confirmation for every mainnet write and display the resolved host, method, path, symbol, side, quantity, and price before signing.
- Restrict Binance API keys to the minimum required permissions and configure Binance-supported IP allowlists where operationally possible.
