T01 · Skill Instruction Hijacking
Warning
- Location
- SKILL.md:14
- Finding
- Untrusted Instructions Loaded from Outside the Audited Skill Boundary## Vulnerability Details **File Location**: `SKILL.md:14-16, 24`; related references at `references/analysis-mode.md:7-8` and `references/system-prompt-coverage.md:3` **Vulnerability Type**: External instruction injection through path traversal outside the Skill package **Risk Level**: Medium ### Vulnerable Code `SKILL.md:14-24`: ```markdown 1. Read the canonical strategy source at `../../../src/main/resources/system-prompt.txt`. 2. Read `references/system-prompt-coverage.md` before analysis. It mirrors the canonical rules in skill-friendly form and includes the analysis-only output adaptation. 3. Read `../../../docs/core-feature-spec.md` only if you need the project's original execution flow and field semantics. 4. Read `references/analysis-mode.md` before deciding, because this skill runs in analysis-only mode instead of live execution mode. 5. Normalize user input symbols to Binance USDT perpetual symbols: - `BTC` -> `BTCUSDT` - `ETH` -> `ETHUSDT` - `BTCUSDT` stays `BTCUSDT` 6. Run `python3 scripts/binance_futures_snapshot.py <SYMBOL...>` with the user symbols. 7. Use the script output as the only market data source unless the user gives additional account context. 8. Apply the strategy rules from `system-prompt.txt` exactly. Do not simplify the decision logic just because this skill is analysis-only. ``` `references/analysis-mode.md:7-8`: ```markdown - Primary rule source: `../../../src/main/resources/system-prompt.txt` - Execution-field semantics: `../../../docs/core-feature-spec.md` ``` `references/system-prompt-coverage.md:3`: ```markdown This file is the skill-side checklist for the canonical strategy in `../../../src/main/resources/system-prompt.txt`. ``` ### Technical Analysis The Skill explicitly instructs the agent to traverse outside the audited project root and load `system-prompt.txt` and `core-feature-spec.md`. These files are not included in the supplied artifact, ...[truncated 2850 chars]
- Remediation
- ## Remediation Suggestions 1. Bundle all authoritative strategy rules and field definitions inside the Skill package so they are covered by the same review and distribution process. 2. Remove parent-directory references such as `../../../` and enforce canonical-path validation that rejects any resolved path outside the Skill root. 3. If external files are operationally required, pin an approved cryptographic digest and verify it before reading the file. Fail closed when validation fails. 4. Treat external documents as untrusted data rather than executable agent instructions. Parse only a strict, documented schema containing required strategy parameters. 5. Explicitly prohibit external content from changing system constraints, tool permissions, data-access boundaries, or output-integrity requirements. 6. Use an allowlisted absolute repository root supplied by trusted configuration rather than relying on runtime-relative path resolution. 7. Add automated tests confirming that missing, modified, symlinked, or out-of-root rule files cause execution to stop safely. 8. Version the bundled strategy rules and display or log the verified version used for each analysis to provide traceability.
