income-lab
Hardcoded API key found in payment.py poses critical credential exposure risk. The skill implements legitimate billing integration but fails to follow secure credential management practices.
A valid API key 'sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2' is hardcoded as plaintext in payment.py:12. This key grants access to the SkillPay billing API and could be extracted by anyone with read access to the repository.
payment.py:12 为什么得出这个结论
2/4 个维度触发声明资源与推断能力基本一致。
提取到 1 个高危 IOC 或外联信号。
报告包含 0 步攻击链,另有 2 项高危或严重发现。
发现 4 项需要关注的依赖或供应链线索。
风险分是怎么被拉高的
Line 12 of payment.py contains plaintext API key 'sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2'
_meta.json declares SKILLPAY_API_KEY env var but code uses hardcoded value instead
最关键的证据
Hardcoded API Key Exposed in Source Code
A valid API key 'sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2' is hardcoded as plaintext in payment.py:12. This key grants access to the SkillPay billing API and could be extracted by anyone with read access to the repository.
payment.py:12 Inconsistent Credential Management
The _meta.json declares SKILLPAY_API_KEY and SKILLPAY_USER_ID as required environment variables, but the code ignores these and uses a hardcoded value. This creates confusion and bypasses intended credential management.
payment.py:16 No Version Pinning in Dependencies
requirements.txt specifies dependencies without version constraints (pandas>=2.0.0, numpy>=1.24.0, etc.). This allows potentially vulnerable versions to be installed.
requirements.txt:1 Data Directory in User Home
Scripts store experiment data in ~/.income-lab directory. While declared in documentation, this creates files outside a sandboxed scope.
scripts/experiment_tracker.py:19 声明能力 vs 实际能力
SKILL.md declares experiment_tracker.py; ~/.income-lab usage confirmed in scripts SKILL.md mentions billing system; payment.py makes requests to skillpay.me No subprocess or os.system calls in any script payment.py reads SKILLPAY_USER_ID from os.environ No skill invocation patterns found 可疑产物与外联
API_KEY = "sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2" payment.py:12
https://skillpay.me payment.py:11
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| pandas | >=2.0.0 | pip | 否 | Version not pinned |
| numpy | >=1.24.0 | pip | 否 | Version not pinned |
| matplotlib | >=3.7.0 | pip | 否 | Version not pinned |
| python-dateutil | >=2.8.0 | pip | 否 | Version not pinned |
文件构成
scripts/experiment_tracker.py payment.py requirements.txt