Skill Trust Decision

self-evolution-engine

技能具备真实自我进化功能,但存在未声明的支付凭证收割(硬编码API密钥)和文档未覆盖的阴影功能(payment.py billing集成),结合无版本锁定的依赖管理,构成中等可疑水平。

Install decision first Source: ClawHub Scanned: Apr 10, 2026
Files 9
Artifacts 2
Violations 5
Findings 7
Most direct threat evidence
01
用户读取SKILL.md,误以为只是性能监控工具 Entry · SKILL.md
02
用户执行payment.py或导入payment模块,触发硬编码API密钥随网络请求发出 Escalation · payment.py
03
evolution_generator访问/root/.openclaw/workspace/skills目录,可读写任意skill文件 Escalation · scripts/evolution_generator.py

Why this conclusion was reached

3/4 dimensions flagged
Block
Declared vs actual capability

5 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 1 severe findings.

Review
Dependencies and supply chain hygiene

5 dependency or supply-chain issues need attention.

Attack Chain

01
用户读取SKILL.md,误以为只是性能监控工具

Entry · SKILL.md:1

02
用户执行payment.py或导入payment模块,触发硬编码API密钥随网络请求发出

Escalation · payment.py:22

03
evolution_generator访问/root/.openclaw/workspace/skills目录,可读写任意skill文件

Escalation · scripts/evolution_generator.py:22

04
恶意方获取暴露的BILLING_API_KEY后可滥用billing服务,或通过修改其他skill文件注入后门

Impact · payment.py:12

What drove the risk score up

硬编码API密钥暴露 +20

payment.py:12 硬编码BILLING_API_KEY,该密钥随代码分发存在泄露风险

文档阴影功能 +15

SKILL.md未声明payment.py的支付验证功能,属73.2%恶意skill特征的阴影功能

缺失依赖版本锁定 +8

requirements.txt中pandas、requests等关键依赖无版本约束,存在供应链攻击面

文档引用缺失 +2

SKILL.md引用了不存在的references文件(best-practices.md等)

Most important evidence

High Credential Theft

硬编码API密钥暴露

payment.py第12行硬编码BILLING_API_KEY='sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2',该密钥随skill代码分发,若上传至公开仓库或遭代码泄露将直接导致billing账户被滥用。

payment.py:12
将API密钥存储于环境变量SKILLPAY_API_KEY,代码中通过os.environ.get('SKILLPAY_API_KEY')读取,永不硬编码
Medium Doc Mismatch

未声明的支付验证阴影功能

SKILL.md声明本skill为'自我进化引擎',完全未提及payment.py的billing集成功能。但payment.py在__main__中直接调用require_payment(),若该文件被直接执行或被其他脚本导入,将强制执行支付验证逻辑,构成阴影功能。

payment.py:122
在SKILL.md工具清单中明确列出payment.py,并在usage中说明支付验证流程
Medium Doc Mismatch

引用不存在的参考文档

SKILL.md引用了多个不存在的文档:references/evolution-strategies.md、references/best-practices.md、references/api-reference.md。这使得用户无法获得声称的完整文档,降低可审计性。

SKILL.md:88
移除不存在的文档引用,或创建对应的文档文件
Medium Supply Chain

依赖无版本锁定

requirements.txt中python-dateutil、pandas、numpy、psutil、matplotlib等关键依赖均未指定精确版本(使用>=)。攻击者可发布含恶意代码的相同包名新版本,或因依赖解析引入有害版本。

requirements.txt:1
使用精确版本号(==)锁定所有依赖,如python-dateutil==2.8.2
Medium Priv Escalation

未声明的文件系统越权访问

evolution_generator.py和version_manager.py将目标workspace硬编码为/root/.openclaw/workspace/skills,可读取和覆盖该路径下任意skill的.py/.md/.json/.txt文件。SKILL.md未声明此文件系统越权能力。

scripts/evolution_generator.py:22
在SKILL.md声明filesystem:WRITE及目标范围,或限制为仅操作logs/.evolutions等隔离目录
Low Doc Mismatch

工具清单声称不存在的脚本

SKILL.md工具清单列出'feedback_learner.py',但scripts/目录下实际不存在该文件。

SKILL.md:42
移除对不存在文件的引用,或实现该功能
Low Supply Chain

使用MD5计算文件校验和

version_manager.py:59使用MD5计算快照文件校验和,MD5已被证实存在碰撞攻击,不适合安全场景。

scripts/version_manager.py:59
改用SHA-256或SHA-3以确保完整性验证安全

Declared capability vs actual capability

Filesystem Block
Declared NONE
Inferred WRITE
performance_monitor.py:50-54 创建logs目录并写入jsonl;evolution_generator.py:22-23 创建.evolutions目录
Network Block
Declared NONE
Inferred READ
payment.py:22-23 发起POST请求至skillpay.me API,包含X-API-Key头
Filesystem Block
Declared NONE
Inferred WRITE
version_manager.py:71-85 复制skills目录下任意文件创建快照,有权限覆盖目标文件
Environment Block
Declared NONE
Inferred READ
payment.py:107 读取os.environ.get('SKILLPAY_USER_ID')
Skill Invoke Block
Declared NONE
Inferred WRITE
evolution_generator.py:22 指向/root/.openclaw/workspace/skills,有能力修改其他skill文件

Suspicious artifacts and egress

High API Key
API_KEY = "sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2"

payment.py:12

Medium External URL
https://skillpay.me

payment.py:11

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 无版本锁定
requests implicit pip No payment.py使用但未在requirements.txt中声明

File composition

9 files · 1662 lines
Python 5 files · 1300 linesMarkdown 2 files · 329 linesJSON 1 files · 19 linesText 1 files · 14 lines
Files of concern · 5
scripts/evolution_generator.py Python · 394 lines
未声明的文件系统越权访问
scripts/version_manager.py Python · 283 lines
使用MD5计算文件校验和
payment.py Python · 142 lines
硬编码API密钥暴露 · 未声明的支付验证阴影功能 · API_KEY = "sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2" · https://skillpay.me
SKILL.md Markdown · 84 lines
引用不存在的参考文档 · 工具清单声称不存在的脚本
requirements.txt Text · 14 lines
依赖无版本锁定
Other files · error_analyzer.py · performance_monitor.py · architecture.md · _meta.json

Security positives

进化应用需显式--confirm确认,有人工审核保护
version_manager每次回滚前自动创建快照备份
evolution_generator patches实际为模拟模式(simulation)不会自动写入
代码结构清晰,有完整类型注解和文档字符串
使用argparse提供标准化CLI接口