T08 · Insecure Dependencies
- Location
SKILL.md:243- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 13 and 243–246
Vulnerability Type: Unpinned and mutable third-party dependencies
Risk Level: MediumComplete Code Snippet
yaml dependencies: [cellcog]markdown **Claude Code, Cursor, Codex + 70 more agents:** `npx skills add cellcog/skills --skill cellcog` **OpenClaw:** `openclaw skills install @cellcog/cellcog` **CellCog plugin users:** run `/cellcog-setup` (or `/cellcog:cellcog-setup` depending on your tool) **Manual setup:** `pip install -U cellcog` and set `CELLCOG_API_KEY`. See the **cellcog** skill for SDK reference.Technical Analysis
The skill declares and recommends installing third-party components without pinning a reviewed version, immutable commit, package hash, or signature. The
pip install -U cellcogcommand explicitly retrieves the latest available release. Thenpxand OpenClaw installation paths similarly identify mutable package or repository locations.This does not establish that the current CellCog packages are malicious. However, it creates a supply-chain trust boundary in which code executed by users may differ from the code originally reviewed. A compromised package-publisher account, registry, repository, dependency, or later malicious release could introduce executable code. Python imports, package installation hooks, Node package execution through
npx, or skill installation behavior could then run that code with the invoking process's permissions.Attack Path
- An attacker compromises a referenced package, repository, publisher account, registry path, or transitive dependency.
- The attacker publishes a malicious release under the expected package identity.
- A user follows one of the documented unpinned installation procedures.
- The package manager or skill installer resolves the mutable reference to the malicious release.
- Installation hooks, setup logic, imported SDK code, or installed skill instructions execute atta ...[truncated 767 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every dependency to a reviewed, exact version rather than installing the latest release.
- Replace mutable repository references with immutable commit hashes or signed release tags.
- Use lockfiles and integrity controls, such as package hashes, to ensure reproducible installation.
- Remove
-Ufrom the pip command so installation does not silently replace a reviewed version with a newer release. - Verify package provenance, publisher identity, signatures, and registry source before installation.
- Restrict package installation and execution to a sandbox or least-privileged environment without unnecessary credentials.
- Audit direct and transitive dependencies before updating pinned versions.
- Document a controlled update process that reviews release changes before modifying the approved version or integrity hash.
