T08 · Insecure Dependencies
- Location
README.md:8- Finding
Unpinned Remote Installation Dependencies
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This looks like a legitimate Uniswap architecture helper, but it grants broader file-changing authority than its advisory workflow needs and documents mutable remote install commands.
Install only from a reviewed, pinned revision if possible. Before using it on a private repository, consider removing or denying Write and Edit permissions because the skill should only need read/search access and the integration-architect delegation to produce a blueprint.
README.md:8Unpinned Remote Installation Dependencies
SKILL.md:7Skill Declares Unnecessary File-Modification Permissions
The README instructs users to run npx skills add against a GitHub-hosted skill path without pinning an immutable version such as a commit SHA or release tag. Because npx resolves and executes code dynamically, an upstream compromise, force-push, or malicious repository change could cause users to install and run altered code unexpectedly.
The command npx clawhub@latest install design-integration explicitly tracks the latest published version, which can change at any time and results in execution of unreviewed code at install time. If the package or its distribution channel is compromised, users may run attacker-controlled code simply by following the README.
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.
Read, Write, Edit, Glob, Grep,
Task(subagent_type:integration-architect),
mcp__uniswap__get_supported_chains
model: opus
---
# Design Integration
The invocation guidance uses open-ended "Activate when the user asks" language with a wide range of generic examples, creating ambiguous boundaries for when this skill should run. In an agent ecosystem, ambiguous routing can lead to inappropriate skill selection, over-collection of context, or giving implementation advice for high-risk systems such as arbitrage bots or DeFi protocols without sufficient safeguards.
The trigger phrase "Help me integrate Uniswap" is broad enough to match common user requests without clear scoping, which can cause the skill to activate in contexts where more specialized or safer guidance is needed. Over-broad activation increases the chance of unintended delegation and architecture recommendations being applied to mismatched projects, especially in sensitive DeFi contexts.
The Important Notes section states the skill 'does not call MCP tools directly,' yet the manifest's allowed-tools includes mcp__uniswap__get_supported_chains. That creates a mismatch between the documented behavior and the declared operational surface of the skill.
This is an intent/documentation divergence: the note explicitly describes a no-MCP execution model, but the skill definition includes an MCP capability. Even if the tool is unused at runtime, the documentation currently contradicts the declared intent and permitted behavior.
The instruction "Always uses viem (not ethers.js) and Permit2 (not legacy approve)" imposes a mandatory tool choice in natural language rather than offering it as a recommendation or confirming compatibility with the user's stack. This can violate policy expectations around allowing user choice unless the constraint is clearly justified and documented as mandatory for the environment.
No suspicious patterns detected.