安全决策报告

x402-compute

x402-compute技能功能正常但包含危险操作模式:SKILL.md文档中记录了curl|sh远程脚本执行、依赖无版本锁定、凭证本地写入文件,存在中等供应链风险和文档欺骗风险。

安装决策优先 来源: ClawHub 扫描时间: 21 天前
文件 18
IOC 28
越权项 1
发现 6
最直接的威胁证据
01
用户运行skill部署GPU实例 初始入口 · SKILL.md
02
provision.py通过x402协议支付USDC 权限提升 · scripts/provision.py
03
OWS CLI通过subprocess执行外部命令 权限提升 · scripts/wallet_signing.py

为什么得出这个结论

3/4 个维度触发
阻止
声明与实际能力

发现 1 项声明之外的能力或越权行为。

阻止
隐藏执行与外联

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

阻止
攻击链与高危发现

报告包含 4 步攻击链,另有 1 项高危或严重发现。

复核
依赖与供应链卫生

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

攻击链

01
用户运行skill部署GPU实例

初始入口 · SKILL.md:1

02
provision.py通过x402协议支付USDC

权限提升 · scripts/provision.py:85

03
OWS CLI通过subprocess执行外部命令

权限提升 · scripts/wallet_signing.py:107

04
curl|sh安装sgl CLI可能引入恶意代码(供应链攻击场景)

最终危害 · SKILL.md:469

风险分是怎么被拉高的

curl|sh远程脚本执行 +15

SKILL.md:469 记录 curl -sSf https://grid.x402compute.cc/install.sh | sh,供应链攻击向量

依赖无版本锁定 +10

requirements.txt 使用 >= 形式,可能安装含漏洞的更新版本

凭证本地文件写入 +8

get_one_time_password.py 将密码写入 .compute_password_{instance_id},模式600

OWS后备使用npx下载 +7

wallet_signing.py:109 优先本地ows,其次npx运行时下载

最关键的证据

高危 供应链

远程脚本管道执行

SKILL.md文档中记录了危险的curl|sh模式安装sgl CLI。虽然这是官方工具的官方安装方式,但存在供应链攻击风险。

SKILL.md:469
建议预先下载并验证安装脚本,或使用brew等包管理器安装
中危 供应链

依赖无版本锁定

requirements.txt使用>=形式版本约束,可能安装含有安全漏洞的更新版本依赖

requirements.txt:1
锁定精确版本以防止依赖更新引入漏洞
中危 敏感访问

凭证写入本地文件

get_one_time_password.py将实例密码写入 .compute_password_{instance_id} 文件,模式600。虽然是一次性凭证,但文件系统中的敏感数据仍是风险点

scripts/get_one_time_password.py:58
考虑使用keyring或其他安全凭证存储替代文件写入
中危 代码执行

OWS CLI通过subprocess执行

wallet_signing.py通过subprocess调用ows命令,存在命令注入风险(虽然当前实现看起来安全)

scripts/wallet_signing.py:107
验证参数避免注入,确保OWS_BIN路径可信
低危 权限提升

npx运行时下载OWS后备

wallet_signing.py在本地ows不可用时会通过npx下载@open-wallet-standard/core包,存在供应链风险

scripts/wallet_signing.py:111
优先要求用户预装OWS,将npx后备作为明确可选功能
提示 文档欺骗

文档未明确说明网络请求的写性质

SKILL.md声明WebFetch为READ,但代码中所有网络请求都是POST/GET/DELETE等写操作。虽是合法API调用,但权限映射不准确

SKILL.md:32
明确说明网络操作用于API调用而非数据抓取

声明能力 vs 实际能力

文件系统 通过
声明 WRITE
推断 WRITE
SKILL.md:allowed-tools包含Write;代码写入配置和凭证文件
网络访问 阻止
声明 READ
推断 WRITE
代码发送HTTP请求(POST/GET)到API端点,但SKILL.md声明WebFetch为READ-only
命令执行 通过
声明 WRITE
推断 WRITE
wallet_signing.py:107使用subprocess执行ows命令;文档记录curl|sh安装命令
环境变量 通过
声明 READ
推断 READ
代码读取PRIVATE_KEY、SOLANA_SECRET_KEY等环境变量用于签名
技能调用 通过
声明 NONE
推断 NONE
无跨技能调用

可疑产物与外联

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

SKILL.md:469

高危 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:216

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

SKILL.md:257

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

SKILL.md:304

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

SKILL.md:311

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

SKILL.md:436

依赖与供应链

包名版本来源漏洞备注
eth-account >=0.8.0 pip 无版本锁定
web3 >=6.0.0 pip 无版本锁定
requests >=2.28.0 pip 无版本锁定
python-dotenv >=1.0.0 pip 无版本锁定
solders >=0.20.0 pip 无版本锁定
@open-wallet-standard/core 0.5.0 npm OWS可选依赖,npx后备

文件构成

18 个文件 · 3163 行
Python 13 个文件 · 1838 行Markdown 4 个文件 · 1320 行Text 1 个文件 · 5 行
需关注文件 · 6
scripts/get_one_time_password.py Python · 72 行
凭证写入本地文件
SKILL.md Markdown · 551 行
远程脚本管道执行 · 文档未明确说明网络请求的写性质 · 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 · 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 · 465 行
OWS CLI通过subprocess执行 · npx运行时下载OWS后备 · 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
其他文件 · provision.py · extend_instance.py · ows_cli.py · resize_instance.py · openwallet-ows.md · destroy_instance.py

安全亮点

代码开源透明,所有网络请求指向官方域名
私钥仅用于本地签名,从不传输到网络
文档详尽,包含安全警告(使用专用钱包)
支付使用标准x402协议,有防重放机制
无隐藏的凭证外泄代码
一次性密码机制合理(仅返回一次,写入后设权限)
SKILL.md中明确声明了curl|sh行为,无阴影功能