T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:37
- Finding
- Unpinned Third-Party Package Installation## Vulnerability Details **File Location**: `SKILL.md:37`; `references/setup.md:9-13` **Vulnerability Type**: Unpinned third-party dependency installation **Risk Level**: Medium ### Vulnerable Code `SKILL.md:37`: ```bash pipx install drakeling ``` `references/setup.md:9-13`: ```bash pipx install drakeling # recommended — isolated environment pip install drakeling # standard pip uv tool install drakeling # uv ``` ### Technical Analysis The installation instructions retrieve the currently published `drakeling` package without specifying an exact version, verifying a cryptographic hash, or using a reviewed lockfile. Consequently, the installed code may differ from the version that was available when this Skill was audited. Installation through `pip`, `pipx`, or `uv` can execute package-controlled build or installation behavior. The resulting package also supplies the `drakelingd` executable that users are instructed to run. According to the supplied documentation, that daemon participates in LLM credential setup, creates identity material and an API token, and operates with the invoking user's privileges. A compromised package release, package registry account, or dependency could therefore introduce arbitrary code outside the reviewed Skill files. The external package implementation is not included in this project, so this audit does not establish that the current package is malicious. The vulnerability is the absence of dependency pinning and integrity verification in the installation process. ### Attack Path 1. An attacker compromises the package publisher, distribution account, package registry, or a transitive dependency and publishes a malicious release. 2. A user follows the documented unpinned installation command. 3. The package manager resolves and installs the attacker-controlled release rather than a previously audited version. 4. Malicious code executes during package install ...[truncated 1109 chars]
- Remediation
- ## Remediation Suggestions 1. Pin installation instructions to a specific, reviewed release, for example: ```bash pipx install "drakeling==1.0.6" ``` 2. Publish and verify cryptographic hashes for the approved distribution artifacts. Where supported, use a requirements file with exact versions and `--require-hashes`. 3. Lock all transitive dependencies and review lockfile changes before updating the approved release. 4. Document the authoritative package registry, publisher identity, and source repository so users can detect dependency confusion or typosquatting. 5. Prefer reproducible, signed release artifacts and document signature verification. 6. Test new versions in an isolated environment before changing the documented pin. 7. Run the daemon as an unprivileged user with access limited to the files and credentials required for its legitimate function. 8. Avoid exposing unrelated secrets to the daemon process and keep the Drakeling token in skill-scoped configuration rather than a global environment block whenever possible.
