T08 · Insecure Dependencies
- Location
SKILL.md:185- Finding
Unpinned Third-Party Dependencies Enable Supply-Chain Compromise
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 185–188
Vulnerability Type: Unpinned and externally retrieved dependencies
Risk Level: MediumVulnerable Code
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 documented setup procedures retrieve mutable third-party components without pinning a reviewed version, immutable commit, or package hash. In particular,
pip install -U cellcogexplicitly selects an available newer release, while thenpxand OpenClaw installation commands similarly provide no immutable version or integrity constraint.The retrieved implementations are not included in this project, so their behavior cannot be verified by auditing
SKILL.md. A compromised publisher account, source repository, package registry, or future package release could consequently change the code installed by these commands after this skill has been reviewed.This issue does not establish that the current CellCog packages are malicious. The vulnerability is the reliance on mutable, unverified dependency sources, which creates a supply-chain attack opportunity.
Attack Path
- An attacker compromises a relevant package publisher account, repository, registry entry, or release pipeline.
- The attacker publishes a malicious package version under the expected package identity.
- A user follows one of the unpinned installation instructions in
SKILL.md. - The package manager resolves and downloads the attacker-controlled release because no reviewed version, commit, or integrity hash is required.
- Malicious code executes during instal ...[truncated 790 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every dependency and skill to an explicitly reviewed version rather than resolving the latest release.
- For repository-based installation, reference an immutable commit hash instead of a mutable branch or tag.
- Publish and verify cryptographic hashes for downloaded artifacts. For Python deployments, use a locked requirements file and hash enforcement such as
pip install --require-hashes -r requirements.txt. - Remove the unconditional
-Uupgrade behavior from the documented installation path. - Identify the canonical registries and repositories explicitly, and instruct users to reject unexpected mirrors or similarly named packages.
- Review new releases before updating pinned versions and use automated dependency provenance, signature, and vulnerability checks where supported.
- Perform installation under a least-privileged account in an isolated environment, such as a dedicated virtual environment or container.
- Avoid exposing production credentials, including
CELLCOG_API_KEY, to package installation processes.
