Skill Trust Decision

x402-compute

Legitimate GPU/cloud compute provisioning skill with proper local-only private key handling; the curl|sh for node CLI installation is a documented risk inherent to the product but no malicious behavior detected.

Install decision first Source: ClawHub Scanned: Jul 18, 2026
Files 21
Artifacts 31
Violations 0
Findings 3

Why this conclusion was reached

1/4 dimensions flagged
Pass
Declared vs actual capability

Declared resources and inferred behavior are broadly aligned.

Block
Hidden execution and egress

2 high-risk artifacts or egress signals were extracted.

Pass
Attack chain and severe findings

There is no explicit malicious chain in the report.

Review
Dependencies and supply chain hygiene

6 dependency or supply-chain issues need attention.

What drove the risk score up

Documented curl|sh remote script execution +12

SKILL.md line 483 documents `curl -sSf https://grid.x402compute.cc/install.sh | sh` for node operator CLI install; dangerous but intentional

Unpinned dependencies +5

requirements.txt uses >= constraints without upper bounds; standard reputable packages (eth-account, web3, requests, solders)

subprocess usage for OWS CLI +5

wallet_signing.py and ows_cli.py invoke OWS binary via subprocess; documented in SKILL.md as intended behavior

Most important evidence

Medium Supply Chain

Dependency versions not pinned

requirements.txt uses >= constraints without upper bounds (e.g., eth-account>=0.8.0, web3>=6.0.0). This allows pulling newer major versions with potentially different behavior.

requirements.txt:1
Pin exact versions (e.g., eth-account==0.8.0) or use ~= for minor-version pinning
Low Sensitive Access

Credentials written to local filesystem

get_one_time_password.py writes one-time SSH credentials to .compute_password_{instance_id} files. While properly permissioned (mode 600), these persist on disk and could be accessed if the system is compromised.

scripts/get_one_time_password.py:64
Consider in-memory credential return only, or use a secrets manager. Current approach is documented and reasonable for this use case.
Low RCE

curl|sh remote script execution documented

SKILL.md documents `curl -sSf https://grid.x402compute.cc/install.sh | sh` for installing the sgl node CLI. This is a documented feature for node operators but remains an inherently dangerous pattern.

SKILL.md:483
Users should verify the install.sh source before execution. Consider using pre-downloaded binaries or package managers where available.

Declared capability vs actual capability

Filesystem Pass
Declared READ
→
Inferred READ
allowed-tools: Read
Filesystem Pass
Declared WRITE
→
Inferred WRITE
allowed-tools: Write; get_one_time_password.py:64 writes .compute_password_ files
Network Pass
Declared READ
→
Inferred READ
allowed-tools: WebFetch; all HTTP requests are to compute.x402layer.cc / grid.x402compute.cc
Shell Pass
Declared WRITE
→
Inferred WRITE
allowed-tools: Bash; wallet_signing.py:112, ows_cli.py:47 invoke subprocess
Environment Pass
Declared NONE
→
Inferred READ
PRIVATE_KEY, SOLANA_SECRET_KEY, COMPUTE_API_KEY read from os.environ; documented in SKILL.md metadata
Skill Invoke Pass
Declared NONE
→
Inferred NONE
No skill invocation observed
Clipboard Pass
Declared NONE
→
Inferred NONE
No clipboard access
Browser Pass
Declared NONE
→
Inferred NONE
No browser usage
Database Pass
Declared NONE
→
Inferred NONE
No database access

Suspicious artifacts and egress

Critical Dangerous Command
curl -sSf https://grid.x402compute.cc/install.sh | sh

SKILL.md:483

High IP Address
1.2.3.4

references/api-reference.md:233

Medium External URL
https://docs.x402layer.cc/agentic-access/x402-compute

SKILL.md:22

Medium External URL
https://cloud.x402compute.cc

SKILL.md:26

Medium External URL
https://compute.x402layer.cc

SKILL.md:71

Medium External URL
https://grid.x402compute.cc

SKILL.md:73

Medium External URL
https://staking.x402layer.cc

SKILL.md:84

Medium External URL
https://compute.x402layer.cc/compute/provision

SKILL.md:224

Medium External URL
https://compute.x402layer.cc/compute/instances/

SKILL.md:268

Medium External URL
https://compute.x402layer.cc/compute/credits/topup

SKILL.md:315

Medium External URL
https://compute.x402layer.cc/compute/credits/balance

SKILL.md:322

Medium Wallet Address
0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168

SKILL.md:363

Dependencies and supply chain

PackageVersionSourceKnown vulnNotes
eth-account >=0.8.0 pip No Version not pinned
web3 >=6.0.0 pip No Version not pinned
requests >=2.28.0 pip No Version not pinned
python-dotenv >=1.0.0 pip No Version not pinned
solders >=0.20.0 pip No Version not pinned
@open-wallet-standard/core 0.5.0 npm No Pinned in ows_cli.py

File composition

21 files · 3477 lines
Python 13 files · 1872 linesMarkdown 6 files · 1595 linesJSON 1 files · 5 linesText 1 files · 5 lines
Files of concern · 7
scripts/get_one_time_password.py Python · 72 lines
Credentials written to local filesystem
SKILL.md Markdown · 565 lines
curl|sh remote script execution documented · curl -sSf https://grid.x402compute.cc/install.sh | sh · https://docs.x402layer.cc/agentic-access/x402-compute · https://cloud.x402compute.cc · https://compute.x402layer.cc · https://grid.x402compute.cc · https://staking.x402layer.cc · https://compute.x402layer.cc/compute/provision · https://compute.x402layer.cc/compute/instances/ · https://compute.x402layer.cc/compute/credits/topup · https://compute.x402layer.cc/compute/credits/balance · 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168 · https://grid.x402compute.cc/v1/models · https://grid.x402compute.cc/grid/capacity · https://grid.x402compute.cc/v1/chat/completions · https://grid.x402compute.cc/v1 · https://grid.x402compute.cc/install.sh · https://docs.x402layer.cc/cloud/provide/node-setup · https://x402compute.cc
scripts/wallet_signing.py Python · 491 lines
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
references/api-reference.md Markdown · 484 lines
1.2.3.4 · https://grid.x402compute.cc/v1/providers?model=llama-3.2-3b · https://grid.x402compute.cc/grid/nodes/
scripts/solana_signing.py Python · 306 lines
https://api.mainnet-beta.solana.com · 11111111111111111111111111111111
references/node-operator.md Markdown · 193 lines
https://docs.x402layer.cc/staking/introduction · https://docs.x402layer.cc/cloud/provide/earnings · https://docs.x402layer.cc/cloud/provide/requirements · https://docs.x402layer.cc/cloud/provide/cli · https://docs.x402layer.cc/cloud/provide/staking
skill-card.md Markdown · 48 lines
https://clawhub.ai/user/ivaavimusic · https://clawhub.ai/ivaavimusic/skills/x402-compute
Other files · provision.py · ai-machines.md · extend_instance.py · ows_cli.py · resize_instance.py

Security positives

Private keys (PRIVATE_KEY, SOLANA_SECRET_KEY) are used for local cryptographic signing ONLY and are never transmitted over the network
All network requests go to legitimate x402-layer infrastructure (compute.x402layer.cc, grid.x402compute.cc)
EIP-712 and SPL token signing are cryptographically sound; no credential harvesting or exfiltration
OWS subprocess usage is explicitly documented as intended behavior for Open Wallet Standard integration
SSH key access is recommended over password fallback; credentials file is mode 600 protected
Spend guard (COMPUTE_MAX_SPEND_USD, default $500) prevents runaway payments
No base64-encoded obfuscation, eval(), or anti-analysis patterns detected
No attempts to access ~/.ssh, ~/.aws, .env, or other sensitive host paths
No C2 communication, reverse shell, or data theft indicators
Well-structured code with clear documentation and type hints