Back to skill

Security audit

Base Trader

Security checks for vulnerabilities and agentic risk

Overview

This skill is not obviously malicious, but it can direct real crypto trades and automations with broad triggers and safety controls that are documented more strongly than they are enforced.

Install only if you are comfortable letting an agent use a funded Bankr wallet for live Base trading. Before use, require explicit confirmation for every buy, sell, cancellation, leverage, DCA, or recurring order; avoid autonomous cron or heartbeat mode until there is an enforceable policy wrapper; and treat the trade journal and documented safety limits as advisory rather than reliable controls.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/log-trade.sh:5
Finding

Unsafe Trade Metadata Interpolation into JSON and jq Filter

Content
View full analysis
"${TRADES_FILE}.tmp" && mv "${TRADES_FILE}.tmp" "$TRADES_FILE" else echo "[$TRADE]" > "$TRADES_FILE" fi ``` ### Technical Analysis All six command-line arguments are interpolated into a JSON document without type validation or JSON escaping. The resulting document is subsequently interpolated into the jq program: ```bash jq ". += [$TRADE]" ... ``` Consequently, quotes, backslashes, control characters, jq operators, or malformed numeric expressions supplied through the arguments can change the jq filter's syntax or make the generated journal invalid. `AMOUNT_USD` and `PRICE` are especially exposed because they are inserted as raw expressions rather than strings. This flaw does not, by itself, establish shell command execution: shell metacharacters introduced by ordinary parameter expansion are not recursively evaluated by Bash. The demonstrated security boundary is journal integrity. Crafted input can cause jq processing to fail, corrupt the journal, or produce unintended jq data transformations. The fallback branch is also unsafe because it writes the manually constructed, unvalidated value directly to `trades.json`. ### Attack Path 1. An attacker-controlled token name, transaction identifier, reason, amount, or price reaches the Agent through a t ...[truncated 1189 chars]
Remediation
View remediation
&2; exit 1 ;; esac jq -e -n --argjson value "$AMOUNT_USD" '$value | numbers' >/dev/null jq -e -n --argjson value "$PRICE" '$value | numbers' >/dev/null TRADES_FILE="$(dirname "$0")/../data/trades.json" TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ") TMP_FILE=$(mktemp "${TRADES_FILE}.tmp.XXXXXX") trap 'rm -f "$TMP_FILE"' EXIT if [ -f "$TRADES_FILE" ]; then jq -e 'type == "array"' "$TRADES_FILE" >/dev/null else printf '[]\n' > "$TRADES_FILE" fi jq \ --arg timestamp "$TIMESTAMP" \ --arg action "$ACTION" \ --arg token "$TOKEN" \ --argjson amount_usd "$AMOUNT_USD" \ --argjson price "$PRICE" \ --arg reason "$REASON" \ --arg tx "$TX" \ '. += [{ timestamp: $timestamp, action: $action, token: $token, amount_usd: $amount_usd, price: $price, reason: $reason, tx: $tx }]' "$TRADES_FILE" > "$TMP_FILE" mv "$TMP_FILE" "$TRADES_FILE" trap - EXIT ``` ]]>

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:199
Finding

Autonomous Financial Safety Limits Are Documented but Not Enforced

Content
View full analysis
20% 2. 3 consecutive losing trades 3. Portfolio down > 30% from ATH 4. Unexpected error in execution 5. Market-wide crash (ETH -20% in 24h) Wait 24 hours, reassess, then resume with smaller size. ## Autonomous Trading Mode When running autonomously (via cron or heartbeat): ### Morning Scan (9 AM) 1. Check portfolio balance 2. Review overnight price action on holdings 3. Scan for new opportunities 4. Set limit orders for the day ### Midday Check (1 PM) 1. Monitor open positions 2. Adjust trailing stops on winners 3. Take profits if targets hit 4. Log any executed trades ### Evening Review (6 PM) 1. Close day trades if any 2. Calculate daily PnL 3. Update performance.json 4. Generate summary for user ### Execution Commands ```bash # Morning ~/clawd/skills/bankr/scripts/bankr.sh "Show my portfolio on Base" ~/clawd/skills/bankr/scripts/bankr.sh "What tokens are trending on Base?" # Execute trade ~/clawd/skills/bankr/scripts/bankr.sh "Buy $25 of TOKEN on Base" # Set protection ~/clawd/skills/bankr/scripts/bankr.sh "Set stop loss for TOKEN at -15%" # Take profit ~/clawd/skills/bankr/scripts/bankr.sh "Sell 25% of my TOKEN on Base" ``` ``` `README.md:117-123` further claims that the halt is automatic: ```text ### Emergency Stops Trading ...[truncated 2910 chars]
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (16)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared description presents the skill as an autonomous crypto trading tool on Base via Bankr, capable of executing trades and handling broader trading workflows. The supplied code only logs a trade entry to a local trades.json file using provided arguments. There is no evidence of blockchain access, Bankr integration, market monitoring, strategy logic, portfolio querying, or trade execution. This is a material mismatch in primary purpose and capabilities, not just an implementation detail.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The manifest uses very broad trigger terms like "buy", "sell", "trade", "profit", and "portfolio balance", which can cause the skill to activate on ambiguous user requests. In a skill capable of initiating real financial transactions, overbroad activation increases the chance of accidental invocation and unintended order execution with irreversible fund movement.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill presents autonomous trading and concrete buy/sell commands without a prominent warning that these actions can move real funds, incur losses, and create irreversible on-chain transactions. In this context, the danger is elevated because the file includes exact execution commands, autonomous schedules, and strategy guidance that could normalize direct trading without explicit user consent safeguards.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The README promotes autonomous crypto trading and references buying and selling via Bankr, but the opening description does not clearly warn that the skill may execute wallet transactions affecting real user funds. In the context of an autonomous trading skill, this omission can cause users to underestimate the operational and financial consequences of invoking the skill.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The README states the skill triggers automatically on broad trading-related queries, including common conversational phrases like checking a portfolio or asking what is trending. In a skill that can place trades on a funded wallet, overly broad activation increases the chance of unintended invocation and fund-affecting actions from ambiguous user prompts or context leakage from adjacent conversation.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The example trigger phrases for viewing automations are short and conversational, which can overlap with ordinary portfolio discussion or status questions. In a high-risk trading skill, ambiguous activation language increases the chance the agent interprets casual text as an instruction to perform account-affecting operations or disclose sensitive trading state.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill supports order cancellation and stop-loss removal but does not warn users that these actions can eliminate downside protection or change their trading plan irreversibly in volatile markets. In the context of autonomous crypto trading, omission of such warnings materially increases the likelihood of harmful user mistakes and unsafe automated execution.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The cancellation examples are especially broad for a financial automation skill, including commands like cancelling orders or stop losses without confirmation language, scoping requirements, or risk warnings. If triggered unintentionally or through ambiguous user phrasing, these actions could remove protections or planned exits and expose the user to rapid trading losses.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The file provides concrete buy/sell execution instructions for on-chain trading, including market orders, stop losses, and recurring purchases, but does not include an explicit warning that these actions can cause immediate financial loss and may trigger irreversible blockchain transactions. In an autonomous trading skill, omission of consent, confirmation, and risk disclosure increases the chance that a user or downstream agent treats examples as safe default actions and executes real trades without appreciating the consequences.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This section gives direct buy and sell instructions for newly launched tokens, which are explicitly described elsewhere in the file as frequently being scams, rugs, or honeypots, yet the execution steps themselves do not repeat a clear transactional risk warning or require stronger safeguards before action. In the context of an autonomous crypto trading skill, omission of prominent warnings about irreversible on-chain transactions, inability to sell, and malicious contracts increases the chance that users or agents will execute hazardous trades too casually.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The file gives concrete trading guidance such as being 'more aggressive', using 'larger positions', and rotating capital into hot sectors without any warning that crypto trading can cause rapid and total loss. In the context of an autonomous trading skill, users may treat this as actionable advice, increasing the chance of harmful financial decisions and overexposure.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The document presents market research and technical analysis guidance for trading decisions without clearly stating that the information is informational only and that crypto trading can result in partial or total loss of funds. In an autonomous trading skill context, users may treat these prompts and signal interpretations as actionable financial advice, increasing the chance of harmful reliance on incomplete or inaccurate analysis.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The pre-trade checklist is framed as a decision workflow before executing trades, but it does not warn that completing the checklist does not make a trade safe or reduce the possibility of rapid loss, illiquidity, scams, or execution risk. Because this skill is explicitly designed for autonomous crypto trading on Base, users may overtrust the workflow as a safety gate and make riskier decisions based on a false sense of security.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

This file provides concrete trading and risk-management instructions for an autonomous crypto trading skill without any warning that the content is not financial advice and that users can incur substantial financial losses. In the context of crypto trading on Base, users may over-trust the guidance as authoritative or safe, increasing the chance of harmful financial decisions and automating risky behavior.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This file gives concrete, actionable instructions for speculative and automated crypto trading, including launch sniping, momentum trading, DCA, and grid trading, without any clear warning about financial loss, smart-contract risk, scam prevalence, execution failures, or the dangers of acting through an autonomous agent. In the context of a skill explicitly designed for autonomous trading on Base, these instructions can directly encourage risky real-money actions and may cause users to treat the guidance as safe operational playbooks.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

This is a natural-language directive that removes user discretion and frames one trading approach as mandatory regardless of strategy, risk tolerance, or jurisdiction. While not a language/locale issue, it is an organizational-policy-style instruction embedded as an absolute requirement rather than optional guidance.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.