Is canuc/wayfinder safe?

https://github.com/openclaw/skills/tree/main/skills/canuc/wayfinder

79
CAUTION

The canuc/wayfinder skill is a transparent, functionally complete DeFi trading interface that includes explicit safety warnings (no key output, mandatory transaction confirmation) and a path-sandboxed script execution environment. Its primary risks are structural rather than malicious: it instructs the agent to clone and execute an external Python SDK from a third-party GitHub repository, and establishes a recurring mechanism by which external reference documents are fetched and injected into the agent's context window before every custom script operation — creating a supply chain and prompt injection surface that lies outside the audited skill boundary. Cryptocurrency private keys are stored in a plaintext config file accessible to the agent and to any script the agent writes, making prompt injection via the external SDK channel a high-consequence attack path.

Category Scores

Prompt Injection 78/100 · 30%
Data Exfiltration 82/100 · 25%
Code Execution 68/100 · 20%
Clone Behavior 90/100 · 10%
Canary Integrity 93/100 · 10%
Behavioral Reasoning 65/100 · 5%

Findings (10)

HIGH External SDK Cloning and Execution Creates Supply Chain Risk -20

The skill instructs the agent to git clone https://github.com/WayfinderFoundation/wayfinder-paths-sdk.git, run 'poetry install', and execute 'python3 scripts/setup.py' from that external repository. This establishes a persistent supply chain dependency on a third-party GitHub repo controlled by WayfinderFoundation. A repository takeover, malicious commit, or compromised CI/CD pipeline at that upstream could result in arbitrary code execution on the user's machine. The skill also instructs the agent to update the SDK, broadening the attack window over time.

HIGH Recurring Remote Content Injection via pull-sdk-ref.sh -12

SKILL.md instructs the agent to run './wayfinder/scripts/pull-sdk-ref.sh ' before writing any custom script. This script fetches documentation from the external wayfinder-paths-sdk repository (at a commit pinned in sdk-version.md) and injects it directly into the agent's context window. An override flag (--commit) exists that lets a caller specify an arbitrary commit. If the upstream SDK repo is compromised, an attacker can inject prompt injection payloads into the agent's next reasoning step, bypassing the static SKILL.md audit. This is a persistent, recurring injection surface that is outside the audited skill boundary.

MEDIUM External SDK Reference Documents Injected into Agent Context -12

The mechanism described above means that every time a user asks the agent to write a DeFi script, the agent is instructed to fetch and process external content from the WayfinderFoundation GitHub repository. This content is not part of the audited SKILL.md — it lives in a separate, mutable repository that can change between audits. The injected docs could contain instructions that override system prompt rules, instruct the agent to output config secrets, or alter transaction parameters.

MEDIUM Cryptocurrency Private Keys Stored in Agent-Readable config.json -10

The skill's operational design requires users to store cryptocurrency wallet private keys as plaintext hex strings ('private_key_hex') in config.json. The agent reads this file during every command invocation. SKILL.md explicitly warns 'NEVER output private keys or seed phrases into the conversation', but if prompt injection occurs (e.g., via the SDK reference channel), this protection could be bypassed. CEX API credentials (Binance, Aster) are also stored in the same config file.

MEDIUM Live Fund-Moving Transactions with Irreversible On-Chain Effects -20

The skill enables the agent to execute live cryptocurrency transactions including token swaps, perp orders on Hyperliquid, Polymarket prediction market trades, and cross-chain bridge deposits. These operations are irreversible once broadcast. The skill notes 'Do not rely on [force] as a dry-run vs live gate' and warns that Hyperliquid deposits below $5 USDC are permanently lost. A hallucinating or injected agent could execute unintended trades or bridge transactions that cannot be reversed.

MEDIUM Agent-Writable Script Sandbox Has Full Network and Filesystem Access -15

The skill's coding interface allows the agent to write arbitrary Python scripts to .wayfinder_runs/ and execute them via run_script. The sandbox enforces only that scripts reside within this directory — it does not restrict what the scripts can do. Scripts inherit the agent's environment (including WAYFINDER_CONFIG_PATH containing private keys), can make outbound network connections, read any user-accessible file, and execute subprocesses. A manipulated agent could write a script that exfiltrates config.json to an external server.

LOW Agent-Written Scripts Can Access config.json and System Files -8

Scripts executed via run_script inherit the process environment including WAYFINDER_CONFIG_PATH. A code example in SKILL.md shows 'get_adapter(MoonwellAdapter, "main")' which auto-wires config loading and extracts private_key_hex. Any script the agent writes (potentially under prompt injection) has direct programmatic access to private keys and can exfiltrate them via network calls, without the config file itself being modified (avoiding canary detection).

LOW Data Sourcing Preference Rule Routes Queries Through Skill Provider Infrastructure -10

SKILL.md contains an 'Asset/data sourcing rule' that instructs the agent to always prefer Wayfinder's API endpoints for token, pool, and market data, falling back to other methods only if Wayfinder does not expose the data. This soft behavioral override routes all financial data queries through https://strategies.wayfinder.ai/api/v1, giving the skill provider visibility into the user's trading queries and the ability to selectively serve manipulated token metadata (e.g., wrong contract addresses).

LOW Install Behavior Clean — Only Expected GitHub Connection -10

The skill installation made only the expected network connection to github.com (140.82.121.3:443) for sparse-checkout of the skill from the openclaw/skills monorepo. No unexpected processes were spawned, no filesystem changes occurred outside /home/oc-exec/skill-under-test/, and no persistent listeners or cron jobs were established. The two pre-existing connections to Ubuntu infrastructure (91.189.91.49, 185.125.188.58) were already present before install.

INFO Canary Files Accessed Post-Install — Attributed to Monitoring System -7

Honeypot canary files (.env, .ssh/id_rsa, .aws/credentials, .npmrc, .docker/config.json, gcloud application_default_credentials.json) were accessed at two points: 1771934788.328 (pre-install baseline by Oathe monitoring) and 1771934812.518 (post-install integrity verification by Oathe monitoring). The SKILL.md contains no instructions to read sensitive files. All canary files were confirmed intact with no modifications. No network traffic correlated with these accesses.