Scan Report
20 /100
backtest-poller
Background daemon that monitors QuantConnect backtests with adaptive polling, real-time equity tracking, drawdown early-stop, auto-download, and auto-diagnosis
A legitimate QuantConnect backtest monitoring daemon with no malicious behavior; filesystem and shell permissions are implied by documented nohup daemon architecture but not explicitly declared in SKILL.md metadata.
Safe to install
Add explicit 'shell:WRITE' and 'filesystem:WRITE' declarations in SKILL.md requires.bins/env, and pin dependency versions in requirements.txt to prevent supply-chain risks.
Findings 3 items
| Severity | Finding | Location |
|---|---|---|
| Medium | SKILL.md metadata underdeclares required resources Doc Mismatch | cli.py:280 |
| Low | Dependencies not pinned to exact versions Supply Chain | requirements.txt:1 |
| Low | os.system used for macOS notifications instead of subprocess.run RCE | poller.py:445 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | NONE | WRITE | ✗ Violation | cli.py:280 — subprocess.Popen; poller.py writes state.json, poller.log, results/… |
| Shell | NONE | WRITE | ✗ Violation | cli.py:280 — start_new_session=True; poller.py:445 — os.system(osascript) |
| Network | NONE | READ | ✓ Aligned | qc_client.py:32 — GET/POST to https://www.quantconnect.com/api/v2 |
| Environment | READ | READ | ✓ Aligned | QC_USER_ID, QC_API_TOKEN, QC_PROJECT_ID read from os.environ in qc_client.py:38 … |
| Skill Invoke | NONE | NONE | — | No skill invocation detected |
1 findings
Medium External URL 外部 URL
https://www.quantconnect.com/api/v2 qc_client.py:32 File Tree
6 files · 52.1 KB · 1458 lines Python 4f · 1294L
Markdown 1f · 162L
Text 1f · 2L
├─
cli.py
Python
├─
poller.py
Python
├─
qc_client.py
Python
├─
requirements.txt
Text
├─
SKILL.md
Markdown
└─
utils.py
Python
Dependencies 2 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
requests | >=2.28.0 | pip | No | No upper bound — major version could be installed |
python-dotenv | >=1.0.0 | pip | No | No upper bound |
Security Positives
✓ No credential exfiltration: QC_API_TOKEN is used only for local QuantConnect API authentication
✓ No base64-encoded or obfuscated code anywhere in the codebase
✓ No access to sensitive paths like ~/.ssh, ~/.aws, or .env beyond dotenv loading
✓ No reverse shell, C2, or data theft behavior detected
✓ HMAC-SHA256 authentication scheme for QuantConnect API is correctly implemented
✓ Optional forensics module import gracefully handles missing dependencies
✓ File locking (fcntl.flock) prevents race conditions in state management
✓ Explicit comment removing LLM summary feature shows transparency about removed external calls