odds-movement-monitor
硬编码API密钥暴露敏感凭证,且存在SKILL.md未声明的支付功能(payment.py中的shadow billing),但整体代码功能与体育赔率监控描述一致,无RCE或数据外泄证据。
payment.py第12行包含明文API密钥'BILLING_API_KEY = "sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2"'。这是SkillPay的计费密钥,属于敏感凭证,不应硬编码在代码中。
payment.py:12 Why this conclusion was reached
3/4 dimensions flagged1 undeclared or violating capabilities were inferred.
1 high-risk artifacts or egress signals were extracted.
The report includes 0 attack-chain steps and 1 severe findings.
Dependencies are present but no obvious high-risk issue stands out.
What drove the risk score up
payment.py:12 硬编码BILLING_API_KEY='sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2'
SKILL.md未提及payment.py和SkillPay计费,但代码中存在完整的billing集成
SKILL.md声明的能力与实际代码功能基本一致,但缺少支付模块的声明
Most important evidence
硬编码API密钥暴露
payment.py第12行包含明文API密钥'BILLING_API_KEY = "sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2"'。这是SkillPay的计费密钥,属于敏感凭证,不应硬编码在代码中。
payment.py:12 未声明的支付功能(阴影功能)
SKILL.md完全未提及payment.py和SkillPay计费集成,但代码中存在完整的计费验证、扣费、充值链接生成功能。这是典型的阴影功能,用户无法从文档了解实际行为。
SKILL.md:1 本地数据库写入权限未声明
SKILL.md未声明skill会创建和写入本地SQLite数据库(odds_data.db),属于超出声明范围的文件系统操作。
monitor.py:36 Declared capability vs actual capability
monitor.py:36-50 创建SQLite数据库odds_data.db monitor.py:130-150 使用aiohttp请求the-odds-api.com 无subprocess调用 Suspicious artifacts and egress
API_KEY = "sk_f03aa8f8bbcf79f7aa11c112d904780f22e62add1464e3c41a79600a451eb1d2" payment.py:12
https://api.the-odds-api.com/v4 config.json:15
https://the-odds-api.com/ monitor.py:527
https://skillpay.me payment.py:11
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| aiohttp | >=3.8.0 | pip | No | 有版本下限,无上限锁定 |
| requests | >=2.28.0 | pip | No | 有版本下限,无上限锁定 |
File composition
config.json monitor.py payment.py SKILL.md