T08 · Insecure Dependencies
- Location
SKILL.md:47- Finding
Unaudited Third-Party Plugin Is Granted Authenticated npm Access
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:47-49, 69-77, 108
Vulnerability Type: Third-party supply-chain exposure and excessive integration privileges
Risk Level: MediumVulnerable Code
bash openclaw plugins install clawhub:clawlink-plugin openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json openclaw gateway restarttext All npm tool calls are authenticated automatically by ClawLink using the user's npm account. No API key is required in chat. ClawLink handles authentication securely and injects it into every npm API request on the user's behalf. ### Getting Connected 1. Install the ClawLink plugin (see Install above). 2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet. 3. Open https://claw-link.dev/dashboard?add=npm and connect npm. 4. Call `clawlink_list_integrations` to verify the connection is active.text - Access is scoped to public and private package data within the connected npm account.Technical Analysis
The Skill directs the Agent to install and explicitly allowlist
clawlink-plugin, restart the OpenClaw gateway, and connect the user's npm account through an external service. The plugin implementation is not included in the audited project, so its executable behavior, dependency versions, integrity, update policy, credential handling, and effective permissions cannot be verified from this artifact.The integration is also documented as having access to private package data. This exceeds the permissions needed for many advertised operations, such as searching public packages, retrieving public metadata, and reading public download statistics. Although account pairing is described and no malicious behavior is directly demonstrated, the design creates a supply-chain trust boundary with access to sensitive npm resources.
Attack Path
- A user installs this Skill and follows its setup instructi ...[truncated 1485 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the plugin to a specific, reviewed version rather than installing an unversioned package.
- Verify the downloaded plugin using a cryptographic digest or signed provenance before loading it.
- Include or reference auditable plugin source code and document its dependency tree, update behavior, network destinations, and credential-handling model.
- Use unauthenticated npm Registry APIs for public searches, metadata, advisories, and download statistics whenever possible.
- Request npm authentication only when a user explicitly asks to access private resources.
- Use a dedicated, read-only, least-privilege npm credential restricted to the required organization, scope, and operations.
- Require informed confirmation before plugin installation, allowlisting, gateway restart, account pairing, or expansion of npm permissions.
- Avoid broad or global plugin allowlisting. Restrict the plugin to the specific Agent and workflow that require it.
- Pin and validate the live tool catalog rather than treating remotely supplied tools as inherently trusted. Enforce a local allowlist of approved read operations.
- Log authenticated operations and provide straightforward credential revocation, session expiration, and integration-disconnection procedures.
