self-evolution-engine
技能具备真实自我进化功能,但存在未声明的支付凭证收割(硬编码API密钥)和文档未覆盖的阴影功能(payment.py billing集成),结合无版本锁定的依赖管理,构成中等可疑水平。
为什么得出这个结论
3/4 个维度触发发现 5 项声明之外的能力或越权行为。
提取到 1 个高危 IOC 或外联信号。
报告包含 4 步攻击链,另有 1 项高危或严重发现。
发现 5 项需要关注的依赖或供应链线索。
攻击链
初始入口 · SKILL.md:1
权限提升 · payment.py:22
权限提升 · scripts/evolution_generator.py:22
最终危害 · payment.py:12
风险分是怎么被拉高的
payment.py:12 硬编码BILLING_API_KEY,该密钥随代码分发存在泄露风险
SKILL.md未声明payment.py的支付验证功能,属73.2%恶意skill特征的阴影功能
requirements.txt中pandas、requests等关键依赖无版本约束,存在供应链攻击面
SKILL.md引用了不存在的references文件(best-practices.md等)
最关键的证据
硬编码API密钥暴露
payment.py第12行硬编码BILLING_API_KEY='sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2',该密钥随skill代码分发,若上传至公开仓库或遭代码泄露将直接导致billing账户被滥用。
payment.py:12 未声明的支付验证阴影功能
SKILL.md声明本skill为'自我进化引擎',完全未提及payment.py的billing集成功能。但payment.py在__main__中直接调用require_payment(),若该文件被直接执行或被其他脚本导入,将强制执行支付验证逻辑,构成阴影功能。
payment.py:122 引用不存在的参考文档
SKILL.md引用了多个不存在的文档:references/evolution-strategies.md、references/best-practices.md、references/api-reference.md。这使得用户无法获得声称的完整文档,降低可审计性。
SKILL.md:88 依赖无版本锁定
requirements.txt中python-dateutil、pandas、numpy、psutil、matplotlib等关键依赖均未指定精确版本(使用>=)。攻击者可发布含恶意代码的相同包名新版本,或因依赖解析引入有害版本。
requirements.txt:1 未声明的文件系统越权访问
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工具清单列出'feedback_learner.py',但scripts/目录下实际不存在该文件。
SKILL.md:42 使用MD5计算文件校验和
version_manager.py:59使用MD5计算快照文件校验和,MD5已被证实存在碰撞攻击,不适合安全场景。
scripts/version_manager.py:59 声明能力 vs 实际能力
performance_monitor.py:50-54 创建logs目录并写入jsonl;evolution_generator.py:22-23 创建.evolutions目录 payment.py:22-23 发起POST请求至skillpay.me API,包含X-API-Key头 version_manager.py:71-85 复制skills目录下任意文件创建快照,有权限覆盖目标文件 payment.py:107 读取os.environ.get('SKILLPAY_USER_ID') evolution_generator.py:22 指向/root/.openclaw/workspace/skills,有能力修改其他skill文件 可疑产物与外联
API_KEY = "sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2" payment.py:12
https://skillpay.me payment.py:11
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| python-dateutil | >=2.8.0 | pip | 否 | 无版本锁定 |
| pandas | >=2.0.0 | pip | 否 | 无版本锁定 |
| numpy | >=1.24.0 | pip | 否 | 无版本锁定 |
| psutil | >=5.9.0 | pip | 否 | 无版本锁定 |
| matplotlib | >=3.7.0 | pip | 否 | 无版本锁定 |
| requests | implicit | pip | 否 | payment.py使用但未在requirements.txt中声明 |
文件构成
scripts/evolution_generator.py scripts/version_manager.py payment.py SKILL.md requirements.txt