T08 · Insecure Dependencies
- Location
SKILL.md:23- Finding
Unpinned External CLI Dependency Executes with Access to Sensitive Migration Data
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:23-29
Vulnerability Type: Unpinned and unverifiable third-party executable dependency
Risk Level: MediumComplete Snippet:
markdown ## Runtime Dependency This skill depends on the published CLI package `@clawmover/cli`. If the CLI is missing, do not install it silently. First explain the installation step and offer two options: - provide the install command for the user to run manually - run the install command only after explicit confirmationThe installation behavior is further defined at
SKILL.md:102-107:markdown ## Install Or Verify CLI First check whether `clawmover` is available. If it is missing: - explain that this skill requires `@clawmover/cli` - explain that installation modifies the host environment - offer the manual install command - only run the install command after explicit confirmationTechnical Analysis
The skill relies on the external
@clawmover/clipackage for its backup and restore operations. However, the project does not specify an audited version, integrity hash, lockfile, trusted registry configuration, package signature, or reproducible source reference.Requiring confirmation prevents silent installation, but it does not verify the identity or integrity of the artifact ultimately installed. An unpinned package reference can resolve to a future release whose contents differ from those reviewed. Registry compromise, publisher-account compromise, or dependency substitution could therefore introduce hostile package code or installation scripts.
This dependency is security-sensitive because the documented workflows provide it with
dataSecretKey, migration identifiers, verification codes, and filesystem access required for backup or restoration.Attack Path
- An attacker compromises the package publisher, registry distribution path, or a dependency included in a future `@cl ...[truncated 1336 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
@clawmover/clito a specific, reviewed version rather than referring to the package without a version. - Record and verify the expected package integrity hash or cryptographic signature before installation.
- Explicitly identify the trusted registry and verified publisher; reject installation from alternate registries or ambiguous package sources.
- Maintain a lockfile or equivalent dependency manifest covering the CLI and its transitive dependencies.
- Audit the exact package artifact, including package-manager lifecycle scripts, before approving a version.
- Prefer an isolated, least-privilege execution environment rather than a global installation.
- Disable package lifecycle scripts during installation where compatible with the CLI.
- Avoid exposing secrets through command-line arguments or logs. Pass them through a protected input mechanism and ensure the child process receives only the minimum required environment and filesystem access.
- Document a trusted upgrade procedure requiring renewed integrity verification and security review whenever the pinned version changes.
- Pin
