可信 — 风险评分 5/100
上次扫描:5 小时前 重新扫描
5 /100
tradingview-screener
Screen markets across 6 asset classes using TradingView data. API pre-filters + pandas computed signals. YAML-driven strategies.
TradingView Screener 技能功能清晰,无恶意行为,依赖官方 tvscreener 库进行市场数据筛选,代码结构规范。
技能名称tradingview-screener
分析耗时53.0s
引擎pi
ClawHub TV Signal Screener v1.1.0 by nomadrex
📥 146
ClawHub 判定 可疑 dynamic_code_execution
可以安装
可直接使用。该技能符合声明功能,无敏感操作或数据外泄行为。

安全发现 2 项

严重性 安全发现 位置
低危
依赖版本使用宽松约束 供应链
requirements.txt 中 tvscreener、pandas、pyyaml、pytest 均使用 >= 约束而非固定版本,可能引入供应链风险
tvscreener>=0.2.0
→ 建议锁定次要版本(如 tvscreener>=0.2.0,<0.3.0)以平衡兼容性和安全性
scripts/requirements.txt:1
提示
表达式验证机制理论风险 代码混淆
signal_types.py 使用黑名单验证表达式关键字(import, exec, eval, __, open, os, sys, lambda),理论上可通过字符编码绕过
EXPR_BLOCKED_KEYWORDS = {"import", "exec", "eval", "__", "open", "os", "sys", "lambda"}
→ 当前 df.eval() 沙箱已限制大多数攻击,但建议改用更严格的 AST 解析白名单验证
scripts/signal_types.py:17
资源类型声明权限推断权限状态证据
文件系统 READ READ ✓ 一致 scripts/screen.py:1 仅读取本地脚本和 YAML 配置
网络访问 READ READ ✓ 一致 tvscreener 库调用 TradingView API 获取市场数据,行为符合声明
命令执行 WRITE WRITE ✓ 一致 install.sh 仅用于创建 venv 和 pip install,属于正常安装流程
环境变量 NONE NONE 代码未访问 os.environ
数据库 NONE NONE 无数据库操作

目录结构

19 文件 · 59.6 KB · 2145 行
Markdown 5f · 1032L Python 7f · 881L YAML 4f · 166L Shell 1f · 51L JSON 1f · 11L Text 1f · 4L
├─ 📁 assets
│ └─ 📋 signal-template.yaml YAML 58L · 1.6 KB
├─ 📁 references
│ ├─ 📝 computed-signals-guide.md Markdown 222L · 5.0 KB
│ ├─ 📝 field-presets.md Markdown 281L · 6.9 KB
│ ├─ 📝 strategy-templates.md Markdown 235L · 5.8 KB
│ └─ 📝 tvscreener-api-guide.md Markdown 174L · 4.5 KB
├─ 📁 scripts
│ ├─ 📁 tests
│ │ ├─ 🐍 __init__.py Python 0 B
│ │ ├─ 🐍 test_screen.py Python 135L · 3.9 KB
│ │ └─ 🐍 test_signal_engine.py Python 191L · 5.9 KB
│ ├─ 📄 requirements.txt Text 4L · 58 B
│ ├─ 🐍 screen.py Python 125L · 4.5 KB
│ ├─ 🐍 screener_constants.py Python 88L · 2.9 KB
│ ├─ 🐍 signal_engine.py Python 169L · 5.5 KB
│ └─ 🐍 signal_types.py Python 173L · 5.5 KB
├─ 📁 state
│ └─ 📁 signals
│ ├─ 📋 golden-cross.yaml YAML 35L · 728 B
│ ├─ 📋 oversold-bounce.yaml YAML 36L · 766 B
│ └─ 📋 volume-breakout.yaml YAML 37L · 772 B
├─ 📋 _meta.json JSON 11L · 292 B
├─ 🔧 install.sh Shell 51L · 1.2 KB
└─ 📝 SKILL.md Markdown 120L · 3.8 KB

依赖分析 4 项

包名版本来源已知漏洞备注
tvscreener >=0.2.0 pip 无版本锁定,使用宽松约束
pandas >=2.0.0 pip 官方库
pyyaml >=6.0 pip 官方库
pytest >=7.0.0 pip 开发依赖

安全亮点

✓ 功能声明清晰,与实际代码完全对应
✓ 无凭证收割、远程代码执行或数据外泄行为
✓ 表达式验证机制(即使使用黑名单)增加了防护层
✓ 测试覆盖率完整,包含单元测试和集成测试
✓ 使用官方 tvscreener 库而非自实现 API 调用
✓ YAML 配置文件验证严格,确保必需字段存在
✓ 文档详尽,包含 API 指南、信号指南和策略模板