安全决策报告

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.

安装决策优先 来源: ClawHub 扫描时间: 2026/7/18
文件 21
IOC 31
越权项 0
发现 3

为什么得出这个结论

1/4 个维度触发
通过
声明与实际能力

声明资源与推断能力基本一致。

阻止
隐藏执行与外联

提取到 2 个高危 IOC 或外联信号。

通过
攻击链与高危发现

没有形成明确的恶意路径。

复核
依赖与供应链卫生

发现 6 项需要关注的依赖或供应链线索。

风险分是怎么被拉高的

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

最关键的证据

中危 供应链

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
低危 敏感访问

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.
低危 代码执行

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.

声明能力 vs 实际能力

文件系统 通过
声明 READ
→
推断 READ
allowed-tools: Read
文件系统 通过
声明 WRITE
→
推断 WRITE
allowed-tools: Write; get_one_time_password.py:64 writes .compute_password_ files
网络访问 通过
声明 READ
→
推断 READ
allowed-tools: WebFetch; all HTTP requests are to compute.x402layer.cc / grid.x402compute.cc
命令执行 通过
声明 WRITE
→
推断 WRITE
allowed-tools: Bash; wallet_signing.py:112, ows_cli.py:47 invoke subprocess
环境变量 通过
声明 NONE
→
推断 READ
PRIVATE_KEY, SOLANA_SECRET_KEY, COMPUTE_API_KEY read from os.environ; documented in SKILL.md metadata
技能调用 通过
声明 NONE
→
推断 NONE
No skill invocation observed
剪贴板 通过
声明 NONE
→
推断 NONE
No clipboard access
浏览器 通过
声明 NONE
→
推断 NONE
No browser usage
数据库 通过
声明 NONE
→
推断 NONE
No database access

可疑产物与外联

严重 危险命令
curl -sSf https://grid.x402compute.cc/install.sh | sh

SKILL.md:483

高危 IP 地址
1.2.3.4

references/api-reference.md:233

中危 外部 URL
https://docs.x402layer.cc/agentic-access/x402-compute

SKILL.md:22

中危 外部 URL
https://cloud.x402compute.cc

SKILL.md:26

中危 外部 URL
https://compute.x402layer.cc

SKILL.md:71

中危 外部 URL
https://grid.x402compute.cc

SKILL.md:73

中危 外部 URL
https://staking.x402layer.cc

SKILL.md:84

中危 外部 URL
https://compute.x402layer.cc/compute/provision

SKILL.md:224

中危 外部 URL
https://compute.x402layer.cc/compute/instances/

SKILL.md:268

中危 外部 URL
https://compute.x402layer.cc/compute/credits/topup

SKILL.md:315

中危 外部 URL
https://compute.x402layer.cc/compute/credits/balance

SKILL.md:322

中危 钱包地址
0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168

SKILL.md:363

依赖与供应链

包名版本来源漏洞备注
eth-account >=0.8.0 pip 否 Version not pinned
web3 >=6.0.0 pip 否 Version not pinned
requests >=2.28.0 pip 否 Version not pinned
python-dotenv >=1.0.0 pip 否 Version not pinned
solders >=0.20.0 pip 否 Version not pinned
@open-wallet-standard/core 0.5.0 npm 否 Pinned in ows_cli.py

文件构成

21 个文件 · 3477 行
Python 13 个文件 · 1872 行Markdown 6 个文件 · 1595 行JSON 1 个文件 · 5 行Text 1 个文件 · 5 行
需关注文件 · 7
scripts/get_one_time_password.py Python · 72 行
Credentials written to local filesystem
SKILL.md Markdown · 565 行
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 行
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
references/api-reference.md Markdown · 484 行
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 行
https://api.mainnet-beta.solana.com · 11111111111111111111111111111111
references/node-operator.md Markdown · 193 行
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 行
https://clawhub.ai/user/ivaavimusic · https://clawhub.ai/ivaavimusic/skills/x402-compute
其他文件 · provision.py · ai-machines.md · extend_instance.py · ows_cli.py · resize_instance.py

安全亮点

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