T08 · Insecure Dependencies
Error
- Location
- SKILL.md:6
- Finding
- Unpinned External Package Executes with Access to Home Assistant Credentials## Vulnerability Details **File Location**: `SKILL.md:6`, `SKILL.md:14-16`, and `README.md:24-35` **Vulnerability Type**: Unpinned third-party executable dependency **Risk Level**: High ### Vulnerable Code `SKILL.md:6`: ```yaml metadata: {"moltbot":{"emoji":"🏠","requires":{"bins":["moltbot-ha"],"env":["HA_TOKEN"]},"primaryEnv":"HA_TOKEN","install":[{"id":"uv","kind":"uv","package":"moltbot-ha","bins":["moltbot-ha"],"label":"Install moltbot-ha (uv tool)"}]}} ``` `SKILL.md:14-16`: ```bash uv tool install moltbot-ha ``` `README.md:24-35`: ```bash uv tool install moltbot-ha ``` ```bash pip install moltbot-ha ``` ```bash git clone https://github.com/iamvaleriofantozzi/moltbot-ha.git cd moltbot-ha uv tool install . ``` ### Technical Analysis The Skill instructs users and agents to install `moltbot-ha` from a mutable external package registry or repository without specifying an exact version, immutable commit, package hash, signature, or lockfile. The audited artifact contains only documentation and configuration; it does not contain the executable implementation. Therefore, the installed package's credential handling, safety checks, service-call validation, and logging behavior cannot be verified from this artifact. The metadata explicitly grants the installed executable access to `HA_TOKEN`. A package-registry compromise, maintainer-account compromise, malicious replacement release, or unexpected incompatible update could therefore execute arbitrary package code in the user's environment while inheriting a reusable Home Assistant credential. ### Attack Path 1. An attacker compromises the package registry entry, release process, maintainer credentials, or referenced repository. 2. The attacker publishes a modified `moltbot-ha` package under the same mutable package name. 3. A user or agent follows the documented `uv tool install moltbot-ha` or `pip install moltbot-ha` instruction. 4. The pa ...[truncated 1139 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the dependency to an exact reviewed version, such as `moltbot-ha==X.Y.Z`. 2. Require cryptographic hash verification for downloaded distributions and publish expected hashes through a separately protected channel. 3. Include a lockfile that resolves every transitive dependency to an exact version and integrity digest. 4. Reference source installations by an immutable commit hash rather than a mutable branch or tag. 5. Include the corresponding CLI source in the audited artifact, or provide verifiable provenance connecting the package artifact to reviewed source. 6. Sign releases and verify signatures before installation. 7. Use automated dependency monitoring and reproducible builds. 8. Run the CLI under a dedicated, restricted operating-system account or container. 9. Issue a dedicated, minimally privileged Home Assistant credential and rotate it if package integrity is ever uncertain. 10. Prevent the dependency from accessing unrelated environment variables, files, and network destinations through sandboxing or an explicit execution policy.
