T03 · Remote Payload Retrieval and Execution
- Location
references/azion-cli.md:15- Finding
Unverified Remote Installer Is Downloaded and Executed Directly
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This Azion deployment skill is purpose-aligned, but its documentation and wrapper use risky installer and token-handling patterns that users should review before installing.
Install only if you are comfortable reviewing and hardening the Azion setup steps: avoid piping installers directly into a shell, do not source untrusted .env files, prefer secure secret injection or an authenticated CLI session over literal --token arguments, and use least-privileged Azion tokens for deployment.
references/azion-cli.md:15Unverified Remote Installer Is Downloaded and Executed Directly
references/azion-cli.md:45Documentation Executes Project-Controlled .env Files as Shell Code
scripts/azion-deploy.sh:32Azion Authentication Tokens Are Exposed Through Process Arguments
Fetching and immediately executing an external install script is a classic supply-chain risk because it trusts remote content at execution time without verification. In this skill context, the danger is elevated because the file is operational guidance intended to be copied and run by users on developer workstations or CI runners.
macOS / Linux:
curl -fsSL https://downloads.azion.com/cli/install.sh | sh
Windows (PowerShell):
The command chains a network fetch directly into a shell using a pipe, removing any opportunity for review or integrity validation before execution. This chaining pattern magnifies the blast radius of any compromise of the download source and is especially risky in deployment-oriented docs where users may run commands with elevated privileges or in automated environments.
macOS / Linux:
curl -fsSL https://downloads.azion.com/cli/install.sh | sh
Windows (PowerShell):
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
set -a
source .env
set +a
azion whoami --token "$AZION_TOKEN"
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
set -a
source .env
set +a
azion whoami --token "$AZION_TOKEN"
The documentation instructs users to install the CLI by piping a remotely fetched script directly into a shell/PowerShell interpreter, with no integrity verification, pinning, or warning. If the vendor host, CDN, DNS, TLS trust chain, or network path is compromised, arbitrary code would execute immediately on the user's machine.
The token-based authentication examples normalize loading a sensitive API token from a local .env file and passing it on the command line without any guidance on secrecy, shell history, CI log exposure, or file permissions. While the examples do not directly exfiltrate the token, they encourage handling patterns that can lead to accidental credential disclosure in shared terminals, scripts, or build logs.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
## Common Failure Patterns
- `open .edge/manifest.json` or `open .edge/worker.js`: run `azion build` first.
- `Missing default entry point .../handler.js`: create `handler.js` for `javascript` preset.
- `~/.npm/_npx/.../package.json` ENOENT during build: clear `~/.npm/_npx` and rerun.
- Remote deploy logs failing with `rclone` auth/API version errors: use local deploy (`--local --skip-build`).
- Deploy says `.edge/storage` is missing: no static files were uploaded.
No suspicious patterns detected.