T08 · Insecure Dependencies
- Location
SKILL.md:169- Finding
Unpinned External Skill Installation Creates a Mutable Supply-Chain Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 169-172
Vulnerability Type: Unpinned third-party Skill dependency
Risk Level: MediumVulnerable Code
markdown - **Install in project**: `git clone https://github.com/privy-io/privy-agentic-wallets-skill.git .cursor/skills/privy` (or into `~/.openclaw/workspace/skills/privy` for OpenClaw). Add `PRIVY_APP_ID` and `PRIVY_APP_SECRET` from [dashboard.privy.io](https://dashboard.privy.io).Technical Analysis
The documented installation procedure clones the current default branch of a third-party Git repository directly into an active Skill directory. It does not pin a reviewed commit or release and does not require signature, checksum, or content verification.
Consequently, the effective Skill content installed by this command can differ from the content that was originally reviewed. Because the destination is a directory from which Cursor or OpenClaw may load agent instructions, changes or compromise of the upstream repository could introduce attacker-controlled instructions into a wallet-enabled environment.
The risk is increased by the adjacent instruction to configure
PRIVY_APP_IDandPRIVY_APP_SECRET. A malicious dependency loaded in that environment could attempt to influence the agent into disclosing credentials, invoking wallet APIs, or performing unauthorized signing operations.Attack Path
- An attacker compromises the upstream repository, a maintainer account, or its default branch.
- The attacker adds malicious or misleading instructions to the external Skill.
- A user follows the documented
git clonecommand without specifying a reviewed commit. - The mutable repository content is placed in
.cursor/skills/privyor the OpenClaw Skill directory. - The agent loads and trusts the newly installed Skill.
- In a Privy-enabled environment, the malicious instructions attempt to misuse configured credentials ...[truncated 641 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to a reviewed immutable commit:
sh git clone https://github.com/privy-io/privy-agentic-wallets-skill.git /tmp/privy-skill-review cd /tmp/privy-skill-review git checkout --detach <reviewed-commit-sha> - Verify the commit against a trusted release, signed tag, or independently distributed checksum.
- Review every Skill instruction, script, manifest, and referenced executable before moving the content into an active Skill directory.
- Record the approved repository URL, commit hash, review date, and expected file hashes in project documentation.
- Do not automatically update the dependency. Require security review before changing the pinned revision.
- Keep
PRIVY_APP_SECRETin a server-side secret manager and prevent Skill content, browser code, logs, and prompts from reading it. - Apply restrictive Privy wallet policies, including contract allowlists, recipient restrictions, per-transaction limits, cumulative spending limits, and network restrictions.
- Prefer installing into a staging directory first rather than cloning external content directly into an active agent Skill directory.
- Pin the dependency to a reviewed immutable commit:
