Skill Trust Decision

self-evolution-engine

存在硬编码API密钥、宽泛的默认权限路径和未声明的支付扣费功能,风险点被承认但未实际修复

Install decision first Source: ClawHub Scanned: 12 days ago
Files 10
Artifacts 4
Violations 1
Findings 6
Most direct threat evidence
Critical Credential Theft
硬编码API密钥泄露

payment.py 第12行硬编码了 SkillPay API 密钥 sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2,可被提取用于冒充该服务进行未授权扣费

payment.py:12

Why this conclusion was reached

3/4 dimensions flagged
Block
Declared vs actual capability

1 undeclared or violating capabilities were inferred.

Block
Hidden execution and egress

1 high-risk artifacts or egress signals were extracted.

Block
Attack chain and severe findings

The report includes 4 attack-chain steps and 3 severe findings.

Review
Dependencies and supply chain hygiene

5 dependency or supply-chain issues need attention.

Attack Chain

01
下载安装 self-evolution-engine skill

Entry · SKILL.md:1

02
从 payment.py 提取硬编码的 API 密钥

Escalation · payment.py:12

03
利用泄露密钥向 skillpay.me 发送未授权扣费请求

Impact · payment.py:44

04
设置 SKILLPAY_USER_ID 环境变量对任意用户扣费

Escalation · payment.py:68

What drove the risk score up

硬编码API密钥泄露 +25

payment.py:12 硬编码 sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2

影子功能-自动扣费 +15

verify_payment() 自动从环境变量 SKILLPAY_USER_ID 读取用户ID进行扣费,SKILL.md 未声明

权限提升风险 +15

version_manager.py 和 evolution_generator.py 默认操作 /root/.openclaw/workspace/skills 路径

依赖无版本锁定 +5

requirements.txt 中 pandas>=2.0.0, numpy>=1.24.0 等均无上限版本

不安全哈希算法 +5

version_manager.py 使用 MD5 计算文件校验和

Most important evidence

Critical Credential Theft

硬编码API密钥泄露

payment.py 第12行硬编码了 SkillPay API 密钥 sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2,可被提取用于冒充该服务进行未授权扣费

payment.py:12
将 API 密钥存储在环境变量或受保护的运行时密钥库中,如 os.environ.get('SKILLPAY_API_KEY')
High Doc Mismatch

未声明的自动扣费功能

SKILL.md 声明的性能监控、错误分析、版本管理等核心功能均未提及付费机制,但 payment.py 的 verify_payment() 和 require_payment() 会在执行时自动从环境变量 SKILLPAY_USER_ID 读取用户ID并扣除 0.01 USDT

payment.py:67
在 SKILL.md 核心能力部分明确声明付费系统,包括扣费时机、金额和获取方式
High Priv Escalation

默认指向root权限路径

version_manager.py 和 evolution_generator.py 默认工作目录设置为 /root/.openclaw/workspace/skills,在容器环境中可能具有root权限,可操作其他用户的skill文件

version_manager.py:14
使用相对路径或环境变量指定工作目录,避免硬编码root路径
Medium Supply Chain

依赖包无版本锁定

requirements.txt 中 pandas>=2.0.0, numpy>=1.24.0, psutil>=5.9.0, matplotlib>=3.7.0, python-dateutil>=2.8.0 均无上限版本约束,可能引入恶意或漏洞依赖

requirements.txt:1
使用精确版本(如 pandas==2.0.3)或设置上限版本(如 pandas>=2.0.0,<3.0.0)
Medium Obfuscation

使用不安全的MD5哈希

version_manager.py 使用 MD5 算法计算文件校验和(_calculate_checksum 方法),MD5 存在碰撞攻击风险,不应用于安全敏感场景

version_manager.py:50
使用 SHA-256 或更安全的哈希算法替代 MD5
Low Sensitive Access

访问环境变量获取用户标识

payment.py 从环境变量 SKILLPAY_USER_ID 读取用户身份用于扣费,如该环境变量被恶意设置,可导致对任意用户扣费

payment.py:68
验证用户身份来源,确保环境变量不可被外部篡改

Declared capability vs actual capability

Filesystem Block
Declared READ
→
Inferred WRITE
version_manager.py:87-90 执行文件快照和回滚
Network Pass
Declared NONE
→
Inferred WRITE
payment.py:40-65 POST扣费请求到外部API
Environment Pass
Declared NONE
→
Inferred READ
payment.py:68 读取 SKILLPAY_USER_ID

Suspicious artifacts and egress

High API Key
API_KEY = "sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2"

payment.py:12

Medium External URL
https://skillpay.me

payment.py:11

Medium External URL
https://clawhub.ai/user/shenmeng

skill-card.md:9

Medium External URL
https://clawhub.ai/shenmeng/skills/shenmeng-self-evolution-engine

skill-card.md:44

Dependencies and supply chain

PackageVersionSourceKnown vulnNotes
python-dateutil >=2.8.0 pip No 无版本锁定
pandas >=2.0.0 pip No 无版本锁定,存在供应链风险
numpy >=1.24.0 pip No 无版本锁定,存在供应链风险
psutil >=5.9.0 pip No 无版本锁定
matplotlib >=3.7.0 pip No 无版本锁定

File composition

10 files · 1710 lines
Python 5 files · 1300 linesMarkdown 3 files · 391 linesText 1 files · 14 linesJSON 1 files · 5 lines
Files of concern · 3
payment.py Python · 142 lines
硬编码API密钥泄露 · 未声明的自动扣费功能 · 访问环境变量获取用户标识 · API_KEY = "sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2" · https://skillpay.me
skill-card.md Markdown · 62 lines
https://clawhub.ai/user/shenmeng · https://clawhub.ai/shenmeng/skills/shenmeng-self-evolution-engine
requirements.txt Text · 14 lines
依赖包无版本锁定
Other files · evolution_generator.py · version_manager.py · error_analyzer.py · performance_monitor.py · architecture.md · SKILL.md +1

Security positives

skill-card.md 已知风险部分明确记录了 API 密钥暴露、自动扣费、权限路径等风险
进化应用流程要求人类审核后确认(--confirm 参数)
版本回滚前自动创建备份,支持一键回滚
错误分析器对日志文件的操作在声明的数据目录范围内