T03 · Remote Payload Retrieval and Execution
- Location
scripts/detect.sh:87- Finding
Mutable Remote Installer Is Piped Directly into a Shell
- Content
View full analysis
Vulnerability Details
File Location:
scripts/detect.sh:83-87,scripts/sbom.sh:42-44,SPEC.md:42-48, andSPEC.md:153-156
Vulnerability Type: Unverified remote code retrieval and execution
Risk Level: CriticalVulnerable Code
scripts/detect.sh:83-87:bash npm_info=$(tool_info "npm" "--version" "Pre-installed with Node") pip_audit_info=$(tool_info "pip-audit" "--version" "pip install pip-audit") cargo_audit_info=$(tool_info "cargo-audit" "--version" "cargo install cargo-audit") govulncheck_info=$(tool_info "govulncheck" "-version" "go install golang.org/x/vuln/cmd/govulncheck@latest") syft_info=$(tool_info "syft" "version" "curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh")scripts/sbom.sh:42-44:bash if ! command -v syft >/dev/null 2>&1; then emit_error "syft not found. Install with: curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin" "$DIR" exit 1 fiSPEC.md:42-48:markdown | Ecosystem | Lockfile(s) Detected | Audit CLI | JSON Flag | Install If Missing | |-----------|---------------------|-----------|-----------|-------------------| | **Node/npm** | `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml` | `npm audit` | `--json` | Pre-installed with Node | | **Python** | `requirements.txt`, `Pipfile.lock`, `poetry.lock` | `pip-audit` | `--format json --output -` | `pip install pip-audit` | | **Rust** | `Cargo.lock` | `cargo audit` | `--json` | `cargo install cargo-audit` | | **Go** | `go.sum` | `govulncheck` | `-json` | `go install golang.org/x/vuln/cmd/govulncheck@latest` | | **SBOM** | any of the above | `syft` | `-o cyclonedx-json` | `curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh \| sh` |SPEC.md:153-156:json "pip-audit": { "available": true, "version": "2.7.3" }, "cargo-audit": { "available": false, "install": "carg ...[truncated 2647 chars]- Remediation
View remediation
Remediation Suggestions
- Remove all
curl | shinstallation instructions from executable output and documentation. - Recommend an official operating-system package manager or another installation mechanism that supports package authenticity and version pinning.
- If direct artifact installation is necessary:
- Require the user to select an explicit Syft version.
- Download a versioned release artifact rather than a mutable branch script.
- Download its publisher-provided checksum or signature separately.
- Verify the artifact before extraction or execution.
- Abort on any verification failure.
- Prefer installation into a user-owned directory such as
$HOME/.local/bin; do not default to/usr/local/bin. - Present installation steps for review and require explicit confirmation before downloading or installing software.
- Keep installation separate from auditing and SBOM generation so the scan itself never becomes a software bootstrap channel.
- Remove all
