T08 · Insecure Dependencies
- Location
SKILL.md:100- Finding
Unpinned Third-Party SDK Installation Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 100
Vulnerability Type: Unpinned third-party dependencies from external package registries
Risk Level: MediumVulnerable Code Snippet:
text Install SDK: `npm i dropclaw` or `pip install dropclaw`Technical Analysis
The documentation instructs users to install the
dropclawpackage 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
- An attacker compromises the relevant npm or PyPI publisher account, registry artifact, or upstream release process.
- The attacker publishes a malicious version of the package under the expected
dropclawname. - A user follows the documented
npm i dropclaworpip install dropclawinstruction. - Since no version or integrity value is pinned, the package manager resolves and downloads the attacker-controlled release.
- Malicious npm installation hooks may execute during installation, or malicious package code may execute when the SDK is imported or used.
- 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
View remediation
Remediation Suggestions
- Replace floating installation commands with exact, previously audited package versions, such as
dropclaw@X.Y.Zfor npm anddropclaw==X.Y.Zfor Python. - Provide lockfiles and verify package integrity using trusted checksums, npm integrity metadata, or hash-checked Python requirements.
- Document the expected package publisher, official registry location, source repository, and release-signing or provenance information.
- Review each dependency update before changing the pinned version, including package ownership, lifecycle scripts, transitive dependencies, and release provenance.
- Recommend installation in an isolated, least-privileged environment without wallet secrets or unrelated credentials.
- Disable unnecessary npm lifecycle scripts during installation where compatible, and use reproducible installation mechanisms such as
npm ciorpip install --require-hashes.
- Replace floating installation commands with exact, previously audited package versions, such as
