odds-movement-monitor
合法赔率监控工具,存在文档未声明的数据库/网络访问和硬编码API密钥,无恶意行为证据。
Why this conclusion was reached
2/4 dimensions flagged4 undeclared or violating capabilities were inferred.
1 high-risk artifacts or egress signals were extracted.
There is no explicit malicious chain in the report.
2 dependency or supply-chain issues need attention.
What drove the risk score up
SKILL.md 未提及网络请求(aiohttp/requests 访问外部 API),但代码明确用于获取赔率和支付验证,属于功能性必需
monitor.py 使用 sqlite3 创建 odds_data.db 存储快照,SKILL.md 未声明 database:WRITE 权限
payment.py:12 硬编码 Billing API Key(sk_f03...),属于 supply_chain 类风险,非主动窃取
demo.py:7 使用 sys.path.insert(0, '~/.openclaw/workspace/...'),攻击面有限(仅 demo 独立执行时生效)
Most important evidence
硬编码 Billing API 密钥
payment.py:12 硬编码了完整的 Billing API Key(sk_f03aa8f8...),而非从环境变量读取。如果此代码包被发布或共享,API 密钥将随源码泄露,可能导致第三方滥用该计费接口。
payment.py:12 SKILL.md 缺少 capability 声明
SKILL.md 完全未声明网络请求(外部赔率 API + 计费 API)和本地 SQLite 数据库写入权限,agent 无法正确评估实际权限范围。
SKILL.md:1 demo.py 使用可劫持的绝对路径注入
demo.py:7 使用 sys.path.insert(0, '~/.openclaw/workspace/skills/odds-movement-monitor') 将用户目录下的路径加入 Python 模块搜索路径。如果攻击者能控制该路径(符号链接攻击或目录篡改),可劫持 skill 的 import 行为。影响范围有限(仅独立运行 demo 时触发)。
demo.py:7 依赖无版本锁定
requirements.txt 仅声明 aiohttp>=3.8.0 和 requests>=2.28.0,未锁定具体版本,存在依赖混淆攻击风险(dependency confusion)。
requirements.txt:1 Declared capability vs actual capability
monitor.py:12 aiohttp.ClientSession, payment.py:10 requests monitor.py:57 sqlite3.connect (创建 odds_data.db) monitor.py:59 CREATE TABLE IF NOT EXISTS 写本地数据库文件 payment.py:21 os.environ.get('SKILLPAY_USER_ID'), monitor.py:30 os.getenv('ODDS_API_KEY') 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 demo.py payment.py SKILL.md requirements.txt