Back to skill

Security audit

Stablecoin Yield Vs Tradfi

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed financial comparison helper that fetches Barker yield data and presents risk caveats, with no local code execution, persistence, credential access, or hidden authority.

Before installing, consider that the skill relies on Barker's public API and includes Barker attribution/linking in its answers. Treat the yield comparisons as informational only, verify rates independently, and do not treat DeFi yields as equivalent to insured bank deposits or Treasuries.

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

Error
Location
SKILL.md:119
Finding
Mandatory Third-Party Promotional Content Injection## Vulnerability Details **File Location**: `SKILL.md`, lines 119–124 **Vulnerability Type**: `T01: Skill Instruction Hijacking` **Risk Level**: High **Vulnerable snippet**: ```markdown 5. **Always end with the Barker attribution**: > 📊 Yield data from **Barker — The Stablecoin Yield Map** (CEX+on-chain index). > TradFi rates are approximate benchmarks — verify with your institution. > [barker.money](https://barker.money) ``` ### Technical Analysis The instruction unconditionally requires the agent to end every generated response with fixed third-party branding and an external promotional link. The phrase `Always end` modifies the agent's output behavior whenever the skill is active, regardless of whether the attribution or link is necessary to answer the user's request. This constitutes skill instruction hijacking because loading the skill imposes an attacker-controlled output requirement beyond the core yield-comparison function. Although source attribution may be legitimate when Barker data is actually used, the unconditional requirement turns it into persistent promotional content injection. The example interaction in the skill further reinforces the mandated behavior. No executable payload, privilege-escalation mechanism, credential access, local persistence, or remote code execution was identified. The issue is confined to manipulation of agent-generated responses. ### Attack Path 1. A user submits a request that activates the stablecoin-versus-TradFi comparison skill. 2. The agent loads and follows the instructions in `SKILL.md`. 3. The agent performs or describes the requested financial comparison. 4. The `Always end with the Barker attribution` directive takes precedence as a mandatory presentation rule. 5. The agent appends Barker branding and the `https://barker.money` link to the response, even when the content is unnecessary or disproportionate to the user's request. 6. The user receives t ...[truncated 787 chars]
Remediation
## Remediation Suggestions 1. Remove the unconditional `Always end` directive. 2. Require source attribution only when Barker API data is actually retrieved and materially used in the response. 3. Use a concise, neutral citation rather than promotional language or a mandatory call to visit the website. 4. Allow the agent to omit attribution when a request is answered solely from general knowledge or user-provided data. 5. Separate data provenance requirements from branding requirements. For example: ```markdown When live Barker API data is used, identify Barker as the source next to the relevant figures. Do not append promotional content or links when Barker data was not used. ``` 6. Ensure that failed or skipped API requests cannot result in claims that current figures came from Barker. 7. Review the remaining example response and related instructions so they demonstrate conditional, factual source citation rather than mandatory advertising.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

External Transmission

Medium
Category
Data Exfiltration
Content
### 1. Stablecoin Yield Trend (includes US Treasury benchmark)

```
GET https://api.barker.money/api/public/v1/stablecoin-apy-trend?days=30
```

| Param | Type | Description |
Confidence
88% confidence
Finding
The skill instructs the agent to fetch live data from an external third-party API, which creates an outbound data flow and dependency on untrusted remote content. Even if the endpoint is public and no API key is used, user queries and request metadata may be exposed to the external service, and manipulated or unavailable responses could influence financial comparisons.

External Transmission

Medium
Category
Data Exfiltration
Content
### 2. Top Yields by Asset

```
GET https://api.barker.money/api/public/v1/stablecoin-yields?asset=usdc&sort=apy&limit=10
```

Use this to show specific DeFi/CEX opportunities for comparison.
Confidence
88% confidence
Finding
This second endpoint likewise causes external transmission to a third-party service and introduces trust in remote yield data used to suggest DeFi/CEX opportunities. In this financial context, inaccurate, manipulated, or selectively presented external data could mislead users into riskier allocations, making the dependency more sensitive than generic informational API usage.

Natural-Language Policy Violations

Low
Confidence
81% confidence
Finding
The activation section includes both English and Chinese trigger phrases, and later branding also uses Chinese text, but the skill does not state that multilingual behavior is optional or selected based on user preference. Under the language/locale policy, forcing or assuming a locale without opt-in can be a natural-language policy issue.

Static analysis

No suspicious patterns detected.