T08 · Insecure Dependencies
- Location
SKILL.md:12- Finding
Mutable Third-Party Payment Tool Creates a Supply-Chain Compromise Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:12-17; corroborating installation metadata atclawhub.json:11-16
Vulnerability Type: Unpinned and mutable third-party dependency
Risk Level: HighThe skill directs users to install a cryptocurrency payment binary through installation references that do not identify an immutable, verified artifact.
Complete vulnerable configuration from
SKILL.md:12-17:yaml - kind: brew formula: razvanmacovei/tap/x402-cli bins: [x402-cli] - kind: go package: github.com/razvanmacovei/x402-cli@latest bins: [x402-cli]Corroborating installation metadata from
clawhub.json:11-16:json "install": { "brew": "brew install razvanmacovei/tap/x402-cli", "go": "go install github.com/razvanmacovei/x402-cli@latest", "binary": "https://github.com/razvanmacovei/x402-cli/releases/latest" },Technical Analysis
The Go installation uses the mutable
@latestselector, while the direct binary URL uses the mutablereleases/latestendpoint. The Homebrew command also installs from a third-party personal tap without pinning or verifying a specific package artifact. Consequently, the installed code can change after this skill has been reviewed.This dependency is security-sensitive because the resulting binary is explicitly granted access to
EVM_PRIVATE_KEYand is expected to sign USDC payment authorizations. The relevant secret declaration appears atSKILL.md:8-9:yaml env: [EVM_PRIVATE_KEY] bins: [x402-cli]The project does not include the upstream binary's implementation, a lock file, an artifact checksum, or a signature-verification procedure. Therefore, this audit cannot verify how the installed executable handles the private key or restricts payment destinations and amounts. This finding establishes an unsafe supply-chain configuration; it does not establish that the current upstream package is malicious.
Attack P
...[truncated 1447 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace
github.com/razvanmacovei/x402-cli@latestwith a specific reviewed semantic version or, preferably, an immutable commit identifier. - Replace
releases/latestwith a versioned release URL that cannot silently resolve to a newer artifact. - Publish SHA-256 or stronger checksums for every supported binary and verify the checksum before installation or execution.
- Sign release artifacts using a verifiable mechanism such as Sigstore/cosign or GPG, and make signature verification mandatory in the installation process.
- Pin the Homebrew formula and its source archive to a reviewed version and cryptographic digest. Prefer a trusted package distribution channel with provenance attestations.
- Add a dependency lock or provenance record documenting the exact source revision from which each release was built.
- Run the payment binary with least privilege and tightly restrict its outbound network access to explicitly approved endpoints.
- Continue requiring a dedicated low-value wallet, and add enforceable limits for payment amount, destination, network, token, and cumulative spending.
- Avoid exposing the raw private key to the process where possible. Use a restricted signer, hardware wallet, isolated signing service, or short-lived credential with explicit transaction-policy enforcement.
- Audit the pinned upstream source and reproducibly build the binary before treating the dependency as trusted.
- Replace
