T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:18- Finding
Automatic Retrieval and Execution of Mutable Remote Code
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 18–21 and 67–69
Vulnerability Type: Mutable remote code and unpinned third-party dependencies
Risk Level: HighVulnerable Code
markdown ## 0. Bootstrap (every run — cheap and idempotent) Run `scripts/setup.sh` (in this skill's own directory) and capture its stdout as `TLC_HOME` (it clones/updates `github.com/FXDavid-OffbeatForex/TLC` under `~/.tlc/` and installs `requirements.txt` into an isolated venv at `$TLC_HOME/.venv`).markdown 2. **MT5 — the zero-config, no-key default.** MBT lives at `$TLC_HOME/MBT` (clone `github.com/FXDavid-OffbeatForex/MBT` there + `pip install -r MBT/requirements.txt` if absent); `tlc.providers.mt5` puts it on `sys.path`,Technical Analysis
The Skill instructs the Agent to clone or update two external GitHub repositories, install their Python dependencies, add the resulting virtual environment to
PATH, and execute modules obtained from those repositories. No immutable commit hash, signed release, package hash, or dependency lock with integrity verification is specified.Updating TLC on every run allows the effective implementation to change after this Skill has been reviewed. The MBT repository and transitive packages installed from its
requirements.txtare similarly outside the audited artifact. The referencedscripts/setup.sh, remote source trees, and dependency manifests were not included in the project, so their behavior could not be independently verified during this audit.Isolation in a virtual environment protects the system Python package set, but it does not sandbox installed code. Python installation hooks and subsequently executed modules retain the operating-system privileges of the Agent process. Prepending the remote environment to
PATHalso causes subsequent commands to resolve executables from that environment.Attack Path
- An attacker compromises the TLC r ...[truncated 1229 chars]
- Remediation
View remediation
Remediation Suggestions
- Package all required reviewed source code with the Skill instead of updating executable code during each invocation.
- Pin TLC and MBT to immutable commit hashes or signed, versioned releases.
- Verify repository signatures or expected archive checksums before installation or execution.
- Replace unconstrained dependency installation with a lock file containing exact versions and cryptographic hashes, such as a hash-locked
requirements.txt. - Disable automatic updates. Require an explicit, separately reviewed upgrade action when versions change.
- Run installation and market-analysis components in a restricted sandbox with narrowly scoped filesystem and network access.
- Avoid globally trusting the downloaded virtual environment through broad
PATHmodification; invoke the pinned interpreter by absolute path. - Audit and include
scripts/setup.sh, the relevant TLC and MBT source, and all dependency manifests in the review boundary.
