Back to skill

Security audit

Binance Futures Strategy Analysis

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly aligned with public Binance futures analysis, but it depends on unaudited parent-directory strategy files that can change the agent’s effective instructions after review.

Install only if you trust the repository context that will provide the external strategy files, because those files are outside this package and can materially change the analysis. Do not provide exchange credentials, API keys, or sensitive account details; if you share balances or positions, treat the output as personalized high-risk trading commentary, not an automated trading action.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T01 · Skill Instruction Hijacking

Warning
Location
SKILL.md:14
Finding

Untrusted Instructions Loaded from Outside the Audited Skill Boundary

Content
View full analysis

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
View 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.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (9)

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding

The description promises a bounded analysis skill that returns a BUY/SELL/HOLD report, but the actual behavior depends on a helper script that emits raw analytics JSON and includes additional market-microstructure capabilities like depth and slippage estimation. This mismatch can mislead reviewers and policy systems about what the skill really does, weakening oversight and enabling use outside the declared, user-visible scope.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding

The skill instructs the agent to run a Python script that fetches public Binance futures data, but it declares no explicit tool scope or allowed-tools boundary. This creates an authorization and containment gap: an agent/runtime may permit broader networked code execution than intended, making it harder to enforce that only the expected public-data access occurs.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The manifest description says to use the skill when the user asks for 'buy/sell analysis, trade strategy, long/short judgment, setup review, support and resistance analysis, or detailed futures market commentary,' which is a wide set of common phrases. It does not provide negative examples or narrow activation constraints beyond Binance futures intent, increasing the chance of unintended invocation for general market discussion.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The file instructs the skill to keep reason in simplified Chinese and to default to a structured Chinese analysis report. This is a language policy constraint applied unconditionally, with no user choice or opt-in mechanism documented.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The default prompt hard-codes a Chinese-language output requirement without any indication that the user requested or consented to that language. This can override user preferences, reduce transparency, and create opportunities for instruction-priority confusion where the model follows embedded skill constraints instead of the user's explicit needs.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill metadata says analysis should use public futures market data only and explicitly not place orders, but this document allows substituting real account values and current positions into the analysis flow. That broadens the skill from generic market commentary into personalized trading guidance based on sensitive portfolio context, creating scope drift and increasing the chance the agent will solicit, retain, or misuse account-specific information.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The instruction 'Default to a structured Chinese analysis report' imposes a specific language choice on users without offering an opt-in or alternative. This is a natural-language policy issue because it constrains locale/language behavior across all uses of the skill.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · references/system-prompt-coverage.md (reported line 52)May include surrounding context.

md
Also enforce:

- no impulse chasing without confirmation
- one action per symbol per 15m bar

## 4.1 Counter-Trend Rebound Logic

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The instruction "Then present it as structured Chinese analysis by default" imposes a specific language choice regardless of the user's preference. This is a natural-language policy concern because the file does not offer a language choice or require explicit opt-in for Chinese output.

Content

No source excerpt is available for this finding.