T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:15
- Finding
- Unpinned Executable Dependency Installed from a Mutable Git Repository## Vulnerability Details **File Location**: `SKILL.md`, lines 15-23 **Vulnerability Type**: Unpinned third-party executable dependency from a mutable source **Risk Level**: Medium ```json "install": [ { "id": "uv", "kind": "uv", "package": "wekan-cli @ git+https://github.com/madsmith/wekan_cli.git", "bins": ["wekancli"], "label": "Install Wekan CLI (uv)" } ], ``` ### Technical Analysis The Skill directs `uv` to install `wekan-cli` directly from a Git repository without specifying an immutable commit hash, verified release version, or integrity checksum. Consequently, the effective package contents can change after this Skill has been reviewed without requiring any change to the audited repository. The downloaded dependency is executable and operates with the environment variables `WEKAN_URL` and `WEKAN_TOKEN`. According to the accompanying documentation, it can read WeKan resources and create, edit, move, archive, restore, and potentially delete data. Installation may also execute package build or installation logic under the privileges of the process running `uv`. No malicious content was identified in the audited Skill files themselves, and the external repository's contents were not included in the audit artifact. The vulnerability is therefore the unsafe and non-reproducible trust relationship, not a claim that the current upstream package is malicious. ### Attack Path 1. An attacker compromises the referenced GitHub repository, gains control of its default branch, or causes an unsafe upstream update to be published. 2. The attacker adds malicious package installation logic or modifies the `wekancli` executable. 3. A user or Agent installs or reinstalls the Skill dependency using the unpinned Git URL. 4. `uv` retrieves the attacker-controlled repository state and installs or executes its package logic. 5. The malicious dependency runs with the local privileges of the installation ...[truncated 1208 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the Git dependency to a reviewed, immutable full commit SHA rather than the repository's mutable default branch. 2. Prefer a verified release from an official package registry or an organization-controlled repository with release provenance. 3. Record and verify integrity metadata, such as cryptographic hashes or a lockfile, to make installation reproducible. 4. Audit the complete source and installation hooks of the exact pinned revision before approving it. 5. Enable automated dependency monitoring and require security review before updating the pinned revision. 6. Run installation and CLI operations in a sandbox with restricted filesystem, environment, and network access. 7. Provide only `WEKAN_URL` and `WEKAN_TOKEN` when needed, and prevent the dependency from inheriting unrelated secrets. 8. Use a dedicated, least-privileged WeKan account for the Agent. Avoid administrative roles and deletion privileges unless explicitly required. 9. Rotate the WeKan token if upstream compromise is suspected, and review WeKan audit records for unauthorized operations.
