Back to skill

Security audit

Uniswap Monitor Tokenjar

Security checks for vulnerabilities and agentic risk

Overview

The skill's runtime behavior is read-only Uniswap monitoring, but its README uses unpinned, changeable install sources that could install different code than the reviewed artifact.

Install only from a pinned reviewed version or commit, avoid running the documented @latest or main-branch commands with elevated privileges, and verify the Uniswap MCP permissions before use. At runtime, the inspected skill is intended for public on-chain monitoring and analysis rather than wallet actions or transaction execution.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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 (1)

T08 · Insecure Dependencies

Warning
Location
README.md:9
Finding
Unpinned Third-Party Installation Sources<![CDATA[ ## Vulnerability Details **File Location**: `README.md`, lines 9–19 **Vulnerability Type**: Unpinned npm packages and mutable remote installation source **Risk Level**: Medium ### Vulnerable Code ```bash Install into Claude Code or Cursor with: ```bash npx skills add https://github.com/wpank/Agentic-Uniswap/tree/main/.ai/skills/monitor-tokenjar ``` Or via Clawhub: ```bash npx clawhub@latest install monitor-tokenjar ``` ``` ### Technical Analysis The documented installation procedures invoke npm-delivered tools without pinning them to reviewed versions or integrity hashes. The second command explicitly uses the mutable `latest` npm tag. The first command also retrieves Skill content from the mutable `main` branch of a personal GitHub repository rather than from an audited commit. As a result, the code and Skill content installed when these commands are executed may differ from the artifacts reviewed during this audit. An upstream package compromise, maintainer-account takeover, malicious release, or unauthorized repository modification could substitute hostile installer behavior or Skill instructions. The vulnerability resides in the documented installation process rather than the runtime workflow in `SKILL.md`. Exploitation requires a user to follow one of the affected installation commands after the corresponding upstream source has been compromised or maliciously changed. ### Attack Path 1. An attacker compromises the npm package, package maintainer, Clawhub release, GitHub account, or referenced repository. 2. The attacker publishes a malicious package version, changes the release resolved by `@latest`, or modifies the content on the referenced `main` branch. 3. A user follows the installation instructions in `README.md`. 4. `npx` downloads and executes the currently resolved installer with the user's local privileges. 5. The compromised installer can execute arbitrary commands or install altered Skill instructions. 6. Malicious behavior ...[truncated 881 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin every npm installer to an exact, reviewed version instead of relying on an implicit current version or `@latest`: ```bash npx skills@X.Y.Z add <source> npx clawhub@X.Y.Z install monitor-tokenjar ``` 2. Replace the mutable GitHub `main` reference with an immutable, audited commit SHA or signed release tag. 3. Where supported, verify package integrity hashes, provenance attestations, and release signatures before execution. 4. Prefer a two-stage installation process that downloads and inspects the package before executing it, rather than allowing `npx` to retrieve and immediately run changing code. 5. Publish the expected package version, repository commit, and checksums in the documentation so users can verify that they are installing the audited artifact. 6. Run installation with the minimum required privileges and avoid administrative or root accounts. ]]>
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (4)

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding
The README instructs users to run `npx skills add` without pinning a specific package version, which means the command may fetch whatever version is current at execution time. If the upstream package is compromised, updated maliciously, or a dependency is hijacked, users could execute unreviewed code during installation.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding
The command `npx clawhub@latest install monitor-tokenjar` explicitly uses the moving `latest` tag, which guarantees non-reproducible installs and increases supply-chain risk. An attacker who compromises the package publisher or release pipeline could deliver malicious code to anyone following the README instructions.

External Model or Provider Selection

Medium
Category
Excessive Agency
Content
accumulation rates, burn economics, and projected time to next profitable burn.
  Supports one-shot snapshot and streaming modes. Use when user asks "Watch the
  TokenJar", "Track fee accumulation", or "When is the next profitable burn?"
model: opus
allowed-tools:
  - Task(subagent_type:protocol-fee-seeker)
  - mcp__uniswap__get_tokenjar_balances
Confidence
90% confidence
Finding
Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.

Vague Triggers

Low
Confidence
88% confidence
Finding
The activation section says to use the skill when the user says "anything like" the listed phrases, and several examples such as "Monitor protocol fees," "Track fee accumulation," and "What's the accumulation rate?" are broad enough to overlap with other fee-monitoring contexts. Because the section does not provide negative examples beyond burn execution and deep historical analysis, the trigger scope may be interpreted too broadly.

Static analysis

No suspicious patterns detected.