T08 · Insecure Dependencies
- Location
SKILL.md:20- Finding
Unpinned Third-Party CLI Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 20
Vulnerability Type: Unpinned third-party package installation
Risk Level: MediumVulnerable Code
bash uv tool install plane-cli # or: pip install plane-cliTechnical Analysis
The setup instructions install
plane-clifrom a third-party package registry without pinning a reviewed version or verifying package integrity. Consequently, the code installed and executed can change after this skill has been audited.This creates a software supply-chain risk. If the package, its publishing account, the registry delivery path, or a transitive dependency is compromised, following the documented setup command could install attacker-controlled code. Package installation may execute build or installation hooks, and subsequent CLI invocation executes the installed package directly.
The CLI is expected to access
PLANE_API_KEY,PLANE_WORKSPACE_SLUG, and potentially other Plane configuration. A compromised release could access those values with the privileges of the invoking user.Attack Path
- An attacker compromises the
plane-clidistribution, a maintainer account, or one of its dependencies. - The attacker publishes a malicious release under the package name resolved by
uvorpip. - A user follows the unpinned installation command in
SKILL.md. - The package manager resolves and installs the malicious release.
- Malicious code executes during installation or when the
planecommand is invoked. - The code may read Plane credentials and local data accessible to the user, exfiltrate them, or issue unauthorized Plane API operations.
Impact Assessment
Successful exploitation permits code execution with the local privileges of the user running the installation or CLI. The affected scope may include:
- Exposure of
PLANE_API_KEYand Plane configuration. - Unauthorized access to Plane workspaces and projects within the API key's permissions.
- Creation, modi ...[truncated 499 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
-
Pin
plane-clito a specifically reviewed version rather than resolving the latest release:bash uv tool install "plane-cli==<reviewed-version>" # or pip install "plane-cli==<reviewed-version>" -
Verify package integrity with trusted hashes or a locked dependency manifest where supported.
-
Document the authoritative package registry, publisher, and source repository so users can detect dependency-confusion or typosquatting risks.
-
Review and lock transitive dependencies, not only the top-level package.
-
Install the CLI in an isolated virtual environment or container under an unprivileged account.
-
Scope the Plane API key to the minimum permissions required, rotate it periodically, and revoke it immediately if package compromise is suspected.
-
Avoid exposing unrelated secrets in the installation or execution environment. Review repository diffs and other stdin content for credentials before sending them to Plane.
-
