Back to skill

Security audit

Control Chromecast

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward Chromecast control reference that uses the expected catt tool, with some normal LAN and dependency-installation risks to understand before use.

Install only if you are comfortable letting catt control Chromecast devices on your local network. Avoid casting sensitive local files on untrusted networks, and consider pinning or reviewing the catt package source if you need stricter supply-chain assurance.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:5
Finding
Unpinned Third-Party Package Installation## Vulnerability Details **File Location**: `SKILL.md`, line 5 **Vulnerability Type**: Unpinned dependency and insufficient package integrity verification **Risk Level**: Medium ### Vulnerable Code ```yaml metadata: {"clawdbot":{"emoji":"📺","requires":{"bins":["catt"]},"install":[{"id":"pip","kind":"uv","package":"catt","bins":["catt"],"label":"Install via pip/uv"}]}} ``` ### Technical Analysis The skill metadata directs the installer to retrieve the third-party `catt` package without specifying an exact version or cryptographic integrity hash. Dependency resolution can therefore select package contents that differ from those reviewed during this audit. Transitive dependencies are also not locked or verified. The package name is consistent with the skill's declared purpose and homepage, and there is no evidence in the reviewed file that the current package is malicious. Nevertheless, relying on an unpinned package from an external registry creates a supply-chain exposure: compromise of the package publisher, package registry, or a transitive dependency could cause attacker-controlled code to be installed or executed. ### Attack Path 1. An attacker compromises the upstream `catt` distribution channel, publisher account, or one of its unconstrained transitive dependencies. 2. The attacker publishes a modified package version containing malicious installation-time or runtime behavior. 3. A user installs the skill, and the `uv`/Python package resolver retrieves the current unpinned package and dependencies. 4. Malicious code executes during package installation, import, or subsequent invocation of the `catt` binary. 5. The payload operates with the privileges of the account performing the installation or running the command. ### Impact Assessment Successful exploitation could permit arbitrary code execution under the installing or invoking user's account. The resulting access could include reading or modifying files ava ...[truncated 290 chars]
Remediation
## Remediation Suggestions - Pin `catt` to an exact, reviewed release rather than resolving the latest available version. - Record and verify cryptographic hashes for the package artifacts. - Lock all transitive dependencies using a reproducible lockfile or equivalent constraints. - Retrieve packages only from a trusted, explicitly configured package index. - Perform installation in an isolated, least-privileged environment. - Regularly review pinned dependencies for security advisories and update them through a controlled review process. - Where supported by the skill packaging system, verify package provenance or signed release artifacts before installation.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

Missing User Warnings

Medium
Confidence
88% confidence
Finding
The documentation explicitly encourages casting local files but does not warn that this typically causes the host machine to serve the file over the local network to the Chromecast during playback. In a local-network control skill, omitting that behavior can lead users to unintentionally expose sensitive local media or metadata to other reachable devices or users on the same network.

Static analysis

No suspicious patterns detected.