T08 · Insecure Dependencies
- Location
SKILL.md:14- Finding
Mutable Remote OpenAPI Schema Creates a Supply-Chain Integrity Risk
- Content
View full analysis
Vulnerability Details
File Locations:
SKILL.md:14-15SKILL.md:39-42references/usage-patterns.md:5-7
Vulnerability Type: Unpinned remote dependency
Risk Level: MediumVulnerable Code
From
SKILL.md:14-15:markdown - Access to the curated OpenAPI schema URL: - `https://raw.githubusercontent.com/holon-run/uxc/main/skills/binance-web3-openapi-skill/references/binance-web3.openapi.json`From
SKILL.md:39-42:markdown - `command -v binance-web3-openapi-cli` - If missing, create it: `uxc link binance-web3-openapi-cli https://web3.binance.com --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/binance-web3-openapi-skill/references/binance-web3.openapi.json` - `binance-web3-openapi-cli -h`From
references/usage-patterns.md:5-7:bash command -v binance-web3-openapi-cli uxc link binance-web3-openapi-cli https://web3.binance.com \ --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/binance-web3-openapi-skill/references/binance-web3.openapi.jsonTechnical Analysis
The documented setup directs UXC to load an OpenAPI schema from the mutable
mainbranch of an external GitHub repository. The URL is neither pinned to an immutable commit nor protected by an integrity digest, even though an audited copy of the schema is included in the project.An OpenAPI schema controls the operations, parameter placement, request bodies, and paths exposed through the generated CLI. Consequently, changes to the remote schema can modify effective request behavior after this Skill package has been reviewed. The configured Binance origin restricts the immediate destination of generated API requests, so the evidence does not establish arbitrary-domain code execution or credential exfiltration. Nevertheless, externally mutable schema content remains a supply-chain and request-integrity risk.
Attack Path
- An attacker compromises the upstream repository, a maintainer account, ...[truncated 1609 chars]
- Remediation
View remediation
Remediation Suggestions
- Use the bundled
references/binance-web3.openapi.jsonfile as the default schema source so execution uses the exact artifact that was audited. - If remote retrieval is operationally required, replace the
mainbranch URL with a URL pinned to an immutable Git commit. - Publish and verify a SHA-256 digest of the expected schema before linking or using it.
- Fail closed when the integrity check fails; do not silently fall back to the mutable remote schema.
- Restrict the accepted schema to the intended HTTPS server and an explicit allowlist of API paths and methods.
- Add validation that rejects unexpected security schemes, external references, servers, callbacks, or operation-level destinations.
- Update
SKILL.mdandreferences/usage-patterns.mdso every example uses the pinned or local schema. - Add checks to
scripts/validate.shthat reject schema URLs containing mutable references such as/main/and confirm that any documented digest matches the bundled file.
- Use the bundled
