T08 · Insecure Dependencies
Warning
- Location
- README.md:58
- Finding
- Unpinned Remote Skill Installation Creates a Supply-Chain Risk## Vulnerability Details **File Location**: `README.md:58-63` **Vulnerability Type**: Unpinned third-party package and mutable repository installation **Risk Level**: Medium ### Vulnerable Code ```markdown ## Install Install the agent instructions: ```bash npx skills add AntreasAntoniou/bitwarden-lease ``` ``` ### Technical Analysis The documented installation command invokes the `skills` npm package through `npx` without specifying a package version. It also identifies the Skill repository without pinning it to a reviewed commit, release, checksum, or signature. Consequently, the effective installation components can change after this audit. The command may execute a newer version of the npm package and retrieve mutable repository content rather than the exact source that was reviewed. This introduces a supply-chain trust dependency on both the npm package and the remote repository. No malicious remote payload was found in the audited project itself. The vulnerability is that the documented installation procedure does not guarantee that users receive or execute the audited version. ### Attack Path 1. An attacker compromises, takes over, or maliciously updates the npm package used by `npx`, the remote repository, or its default branch. 2. The attacker publishes modified installer behavior, Skill instructions, or scripts. 3. A user follows the documented `npx skills add AntreasAntoniou/bitwarden-lease` command. 4. `npx` resolves and executes the currently available package, which retrieves the mutable repository content. 5. Attacker-controlled content is installed and may later run with the permissions of the invoking user or influence an agent that loads the installed Skill. ### Impact Assessment Exploitation could provide code execution with the privileges of the user running the installation command, subject to the behavior and permissions of the compromised package. A malicious installed Skill could al ...[truncated 515 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the npm package to an explicitly reviewed version, for example: ```bash npx --yes skills@REVIEWED_VERSION add ... ``` 2. Pin the Skill source to an immutable commit hash or signed release rather than a mutable default branch. 3. Publish and verify cryptographic checksums or signatures for the downloaded Skill artifact before installation. 4. Prefer installation from a locally downloaded and reviewed artifact where supported. 5. Document the expected commit hash and hashes of security-sensitive scripts, particularly: - `scripts/bitwarden_lease_broker.py` - `scripts/bitwarden_lease_client.py` - `scripts/install_bitwarden_lease_broker.py` 6. Run `scripts/self_test.py` and `scripts/validate_package.py` only after authenticity and integrity verification; these tests do not independently establish source provenance.
