T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:20
- Finding
- Mutable Remote Application Is Downloaded and Executed Without Integrity Pinning<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:20-24` **Vulnerability Type**: `T03: Remote Payload Retrieval and Execution` **Risk Level**: High ### Vulnerable Code ```bash git clone https://github.com/AndreChuabio/wellness-coach cd wellness-coach pip install -r backend/requirements.txt cp .env.example .env # fill in API keys ``` ### Technical Analysis The Skill instructs the user to clone the mutable default branch of an external Git repository and install its Python dependencies. The downloaded source code, requirements file, backend, and cron scripts are not included in the audited artifact. No commit hash, signed release, checksum, dependency lock file, or hash verification is specified. Consequently, the code that users execute can change after this Skill has been reviewed. Installing the requirements may also execute package installation logic under the current user's privileges. This is best classified as remote payload retrieval and execution rather than merely a dependency issue because the Skill delegates its principal implementation to an unaudited remote repository. ### Attack Path 1. A user follows the documented setup procedure. 2. Git retrieves the current contents of the external repository's default branch. 3. An upstream account compromise, repository takeover, or later malicious update changes the downloaded application or requirements. 4. The user installs the remote dependencies and runs the backend or cron scripts. 5. The modified code executes with the user's filesystem, environment-variable, credential, health-data, calendar, and network access. 6. If the daily cron is also installed, the altered code continues to execute automatically. ### Impact Assessment A compromised remote payload could obtain arbitrary code execution with the privileges of the user running the commands. Its practical scope may include: - API keys stored in `.env` - Google Calendar OAuth credentials and refresh tokens - Wearable-provider ...[truncated 440 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the external application to a reviewed commit hash rather than cloning a mutable default branch. 2. Publish a signed release and verify its signature or cryptographic checksum before execution. 3. Include the executable source in the Skill artifact so it can be audited together with the instructions. 4. Pin every Python dependency to an exact version and require package hashes. 5. Install dependencies in a dedicated virtual environment or restricted container. 6. Run the application under a separate, least-privilege account with narrowly scoped filesystem and network access. 7. Require a new security review before updating the pinned application revision. 8. Clearly document how users can verify the checked-out commit before installing or running anything. ]]>
