T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:14
- Finding
- Remote installation scripts are downloaded and executed without integrity verification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:14-22` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```bash macOS/Linux: ```bash curl -fsSL https://proton.me/download/pass-cli/install.sh | bash ``` Windows: ```powershell Invoke-WebRequest -Uri https://proton.me/download/pass-cli/install.ps1 -OutFile install.ps1; .\install.ps1 ``` ``` ### Technical Analysis The installation instructions retrieve mutable scripts from an external URL and immediately execute them. The Unix command streams the HTTP response directly into Bash, while the Windows command downloads and executes the PowerShell script without an intervening authenticity check. HTTPS protects the connection in transit but does not establish that a particular reviewed version of the script is being executed. The instructions do not pin a release, verify a cryptographic checksum, validate a digital signature, or provide an opportunity to inspect the downloaded script. Consequently, the effective installation payload can change after the Skill itself has been audited. The domain appears related to the declared Proton Pass functionality, but domain relevance alone does not mitigate compromise of the hosting service, vendor account, DNS/TLS trust chain, or release process. ### Attack Path 1. A user or agent follows the documented quick-install instructions. 2. The command requests the current installation script from the external endpoint. 3. An attacker who has compromised the endpoint or its delivery chain changes the returned script. 4. The response is passed directly to Bash or executed by PowerShell. 5. The malicious payload runs with all privileges available to the invoking user. ### Impact Assessment A substituted installer can execute arbitrary commands as the user running the installation. This may permit access to that user's files, credentials, SSH material, shell configuration, and Proton Pass session data. If th ...[truncated 165 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Prefer an authenticated package-manager installation from a trusted, pinned source. 2. Download the installer to a local file instead of piping it directly into a shell. 3. Pin the intended CLI version rather than executing the latest mutable script. 4. Publish and verify a cryptographic checksum obtained through an authenticated, independent release channel. 5. Where available, verify a vendor digital signature before execution. 6. Allow the installer to be inspected before running it. 7. Execute installation with the minimum necessary privileges and explicitly warn users not to use an elevated shell unless required. A safer general workflow is: ```bash curl -fL -o install.sh 'https://proton.me/download/pass-cli/install.sh' printf '%s %s\n' '<PINNED_SHA256>' 'install.sh' | sha256sum -c - less install.sh bash install.sh ``` The checksum must be replaced with an authentic value for a pinned release and must not be fetched from the same unauthenticated execution path. ]]>
