T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:21- Finding
Mutable Remote Code and Dependencies Are Retrieved and Executed Without Integrity Pinning
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill mostly matches its trading-strategy purpose, but it asks the agent to install mutable remote code and handle an optional API key in ways users should review carefully.
Install only if you trust the publisher and are comfortable with the skill downloading and running code from GitHub under your user account. Do not send API keys through chat; configure secrets locally or skip TradingView. Review the generated config and roster changes before relying on any live trading output.
SKILL.md:21Mutable Remote Code and Dependencies Are Retrieved and Executed Without Integrity Pinning
SKILL.md:82Optional API Credential May Be Transmitted Through and Retained by a Chat Service
The skill instructs the agent to read and write project files including my_legends/<id>.md, ballot.json, config.yaml, and .env. Self-modifying or environment-modifying behavior increases risk because broad invocation or prompt injection could cause unintended persistence, configuration drift, or tampering with files that affect future runs, especially when secrets and runtime config are in scope.
into this call. Re-assert `cd "$TLC_HOME"` + the PATH export in `terminal` and
retry there. **Never** let such an error override data you already fetched
successfully earlier in the same conversation — reuse that data, don't discard it.
- **Read and write this skill's files in `terminal` too** — the draft spec at
`my_legends/<id>.md`, temp `ballot.json`, `config.yaml`/`.env`. Every path here
is relative to `$TLC_HOME`; if you use any other tool for a file, give it the
**absolute** path under `$TLC_HOME`, or the next terminal command won't find it.
The skill directly references .env handling as part of its workflow and later instructs storing API credentials there. In a skill context, credential discovery and manipulation of .env files can expose secrets to the agent runtime, logs, or unintended tooling, especially when combined with instructions to read and write files from the terminal.
subtler form of fabricating data.
## 0b. First-run setup (auto-configure — runs ONLY when config is missing)
Still inside `$TLC_HOME`, check for config: `ls .env config.yaml 2>/dev/null`.
- **Both present → already configured. Continue, and do NOT re-prompt for
anything** (including a TV key): if TradingView is enabled but `.env` has no
`TVR_API_KEY`, say so **once**, only the first time you audition on a TV symbol
The manifest description says the skill authors a legend from a famous trader's name or a plain-English strategy description, with examples like "make a trader who buys liquidity sweeps" and "add an ICT legend." These are natural everyday phrasings and the file does not provide explicit constraints, negative examples, or a narrow invocation context, which could cause unintended activation overlap.
The instruction "Forge a new legend from $ARGUMENTS" combined with infer-first behavior indicates very flexible natural-language input, but it does not clearly define what requests are in-scope versus out-of-scope. Without explicit boundaries or negative examples, common strategy-discussion requests could ambiguously match this skill.
The skill explicitly instructs first-run handling of a TradingView API key, including prompting for it, storing it in .env, and in remote contexts accepting it via chat. That exceeds the narrow purpose of authoring a trading legend and creates an unnecessary credential-handling path inside a skill that may run in conversational environments where secrets can be logged, retained, or exposed.
The skill tells users in Telegram/remote contexts to send a TradingView API key through chat, then save it to .env and optionally delete the message. This creates a natural-language secret exfiltration path because chat systems, logs, integrations, moderators, or other participants may retain or access the secret even if the visible message is later deleted.
No suspicious patterns detected.