T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:15
- Finding
- Unpinned Third-Party Git Dependency<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 15–23 **Vulnerability Type**: Unpinned dependency retrieved from a mutable Git source **Risk Level**: Medium ### Vulnerable Code ```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 installs `wekan-cli` directly from a GitHub repository without specifying an immutable commit hash, signed release, version tag, or integrity digest. Consequently, the code installed in the future may differ from the code reviewed when this Skill was published. The upstream dependency is not included in the audited project, so its installation logic and runtime behavior could not be verified during this audit. If the repository, its default branch, or a maintainer account is compromised, an attacker could introduce malicious installation or runtime code. That code would then be retrieved and executed through the configured `uv` installation mechanism. This is a supply-chain weakness rather than evidence that the current upstream package is malicious. ### Attack Path 1. An attacker compromises the upstream repository, a maintainer account, or another mechanism capable of modifying its default branch. 2. The attacker adds malicious package installation or runtime logic to the repository. 3. A user installs or reinstalls the Skill dependency using the declared mutable Git URL. 4. `uv` retrieves and installs the attacker-controlled revision. 5. The malicious code executes during installation or when the agent invokes `wekancli`. 6. The code may access the environment and process context available to the CLI, including `WEKAN_URL` and `WEKAN_TOKEN`, and may perform operations using the associated WeKan identity. ### Impact Assessment Successful exploitation would execute code with the operating-system privileges of the ...[truncated 583 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the Git dependency to a reviewed, immutable commit SHA, for example: ```text wekan-cli @ git+https://github.com/madsmith/wekan_cli.git@<reviewed-commit-sha> ``` 2. Prefer a signed, immutable release from a trusted package registry when available. 3. Verify package hashes or other integrity metadata during installation. 4. Review the pinned dependency source, including build and installation hooks, before approving it. 5. Use automated dependency monitoring to identify security advisories and intentional pin updates. 6. Run the CLI under a dedicated, least-privileged operating-system account. 7. Configure an agent-specific WeKan account with only the board permissions required for its tasks; avoid administrative tokens. 8. Rotate `WEKAN_TOKEN` immediately if dependency compromise is suspected, and review WeKan audit records for unauthorized activity. ]]>
