扫描报告
25 /100
skill-smc-multi-strategy-paper-trader
Paper trading monitors for SMC + Macro Rotation strategies. Binance public API only.
A legitimate paper trading system with mostly declared capabilities, but with two significant undeclared behaviors: GitHub API integration (pushes portfolio data externally) and shell execution via execSync/curl for FRED data fetching. Neither is outright malicious but both represent documentation deception and hidden functionality.
可以安装
Declare GitHub API integration and shell/execSync usage explicitly in SKILL.md. The GitHub push behavior (data exfiltration to third-party repo) must be documented. Consider using Node's built-in https module instead of execSync/curl for FRED data.
安全发现 4 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 中危 | GitHub API integration entirely undeclared 文档欺骗 | scripts/macro-rotation.js:724 |
| 中危 | Shell/execSync execution undeclared 文档欺骗 | scripts/regime-scorer.js:146 |
| 低危 | SKILL.md claims 'no credentials needed' while reading GitHub token 文档欺骗 | SKILL.md:1 |
| 低危 | Portfolio data pushed to third-party GitHub repository 数据外泄 | scripts/macro-rotation.js:731 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 网络访问 | READ | WRITE | ✗ 越权 | All 7 scripts push portfolio JSON via GitHub API PUT (macro-rotation.js:724, pap… |
| 命令执行 | NONE | WRITE | ✗ 越权 | regime-scorer.js:146, macro-rotation.js:68 execSync('curl -sL ...') for FRED CSV |
| 文件系统 | WRITE | WRITE | ✓ 一致 | Writes portfolio JSON to ~/.openclaw/workspace/trading/ — declared in architectu… |
| 环境变量 | NONE | READ | ✗ 越权 | All scripts read HOME env var (process.env.HOME) and ~/.github_token file for Gi… |
| 技能调用 | NONE | READ | ✓ 一致 | Scripts read regime.json (created by regime-scorer.js) and orchestrator-lock.jso… |
13 项发现
中危 外部 URL 外部 URL
https://fred.stlouisfed.org/graph/fredgraph.csv?id=$ scripts/macro-rotation.js:68 中危 外部 URL 外部 URL
https://fapi.binance.com/fapi/v1/klines?symbol=$ scripts/macro-rotation.js:77 中危 外部 URL 外部 URL
https://fapi.binance.com/fapi/v1/fundingRate?symbol=$ scripts/macro-rotation.js:83 中危 外部 URL 外部 URL
https://fapi.binance.com/futures/data/globalLongShortAccountRatio?symbol=$ scripts/macro-rotation.js:87 中危 外部 URL 外部 URL
https://fapi.binance.com/futures/data/openInterestHist?symbol=$ scripts/macro-rotation.js:91 中危 外部 URL 外部 URL
https://api.alternative.me/fng/?limit=30 scripts/macro-rotation.js:95 中危 外部 URL 外部 URL
https://fapi.binance.com/fapi/v1/ticker/price?symbol=$ scripts/macro-rotation.js:707 中危 外部 URL 外部 URL
https://fapi.binance.com/fapi/v1/klines?symbol=BTCUSDT&interval=4h&limit=60 scripts/paper-monitor-coordinated.js:89 中危 外部 URL 外部 URL
https://fapi.binance.com/fapi/v1/klines?symbol=BTCUSDT&interval=15m&limit=30 scripts/paper-monitor-coordinated.js:97 中危 外部 URL 外部 URL
https://fapi.binance.com/fapi/v1/klines?symbol=BTCUSDT&interval=1d&limit=60 scripts/paper-monitor-coordinated.js:108 中危 外部 URL 外部 URL
https://fapi.binance.com/fapi/v1/fundingRate?symbol=BTCUSDT&limit=30 scripts/regime-scorer.js:753 中危 外部 URL 外部 URL
https://fapi.binance.com/futures/data/globalLongShortAccountRatio?symbol=BTCUSDT&period=4h&limit=30 scripts/regime-scorer.js:754 中危 外部 URL 外部 URL
https://fapi.binance.com/futures/data/openInterestHist?symbol=BTCUSDT&period=4h&limit=30 scripts/regime-scorer.js:755 目录结构
9 文件 · 188.6 KB · 4472 行 JavaScript 7f · 4240L
Markdown 2f · 232L
├─
▾
public
│ └─
SKILL.md
Markdown
├─
▾
scripts
│ ├─
macro-rotation.js
JavaScript
│ ├─
paper-monitor-coordinated.js
JavaScript
│ ├─
paper-monitor-swing-v2.js
JavaScript
│ ├─
paper-monitor-swing.js
JavaScript
│ ├─
paper-monitor-v5.js
JavaScript
│ ├─
paper-monitor-v6.js
JavaScript
│ └─
regime-scorer.js
JavaScript
└─
SKILL.md
Markdown
依赖分析 3 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
https (built-in Node.js) | bundled | Node.js stdlib | 否 | No external npm dependencies — uses only Node.js built-in modules |
fs (built-in Node.js) | bundled | Node.js stdlib | 否 | No external npm dependencies |
child_process (built-in Node.js) | bundled | Node.js stdlib | 否 | execSync used for FRED curl — should be replaced with native https fetch |
安全亮点
✓ All Binance API calls use only public endpoints — no authentication or private data access
✓ No credential harvesting or exfiltration — the GitHub token is read locally, not transmitted anywhere else
✓ No obfuscation, base64 payloads, or anti-analysis techniques observed
✓ Portfolio files stored in a dedicated workspace path (~/.openclaw/workspace/trading/) — not scattered across filesystem
✓ Comprehensive technical implementation with proper risk management (SL/TP/ATR-based stops)
✓ No sensitive paths accessed (~/.ssh, ~/.aws, .env, etc.)
✓ GitHub push failures are gracefully handled with try/catch and non-critical error logging
✓ Orchestrator lock prevents same-symbol conflicts across strategies