T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:100
- Finding
- Unpinned Third-Party SDK Installation Creates a Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md`, line 100 **Vulnerability Type**: Unpinned third-party dependencies from external package registries **Risk Level**: Medium **Vulnerable Code Snippet**: ```text Install SDK: `npm i dropclaw` or `pip install dropclaw` ``` ### Technical Analysis The documentation instructs users to install the `dropclaw` package from either npm or PyPI without specifying an audited version, integrity hash, lockfile, registry URL, or publisher verification procedure. These commands therefore resolve the package dynamically at installation time. Because the installed artifact can change after this Skill has been reviewed, package-owner compromise, registry-account takeover, or publication of a malicious future release could cause users to retrieve attacker-controlled code. Depending on the package manager and package contents, malicious code could run through npm lifecycle scripts during installation or when the installed SDK is imported or invoked. The project does not itself contain or execute a malicious payload. The issue is the unsafe dependency-installation recommendation and its exposure to an external software supply chain. ### Attack Path 1. An attacker compromises the relevant npm or PyPI publisher account, registry artifact, or upstream release process. 2. The attacker publishes a malicious version of the package under the expected `dropclaw` name. 3. A user follows the documented `npm i dropclaw` or `pip install dropclaw` instruction. 4. Since no version or integrity value is pinned, the package manager resolves and downloads the attacker-controlled release. 5. Malicious npm installation hooks may execute during installation, or malicious package code may execute when the SDK is imported or used. 6. The payload runs with the privileges and environmental access of the installing user or subsequent SDK process. ### Impact Assessment Successful exploitation could permit a ...[truncated 437 chars]
- Remediation
- ## Remediation Suggestions 1. Replace floating installation commands with exact, previously audited package versions, such as `dropclaw@X.Y.Z` for npm and `dropclaw==X.Y.Z` for Python. 2. Provide lockfiles and verify package integrity using trusted checksums, npm integrity metadata, or hash-checked Python requirements. 3. Document the expected package publisher, official registry location, source repository, and release-signing or provenance information. 4. Review each dependency update before changing the pinned version, including package ownership, lifecycle scripts, transitive dependencies, and release provenance. 5. Recommend installation in an isolated, least-privileged environment without wallet secrets or unrelated credentials. 6. Disable unnecessary npm lifecycle scripts during installation where compatible, and use reproducible installation mechanisms such as `npm ci` or `pip install --require-hashes`.
