terraspace-bin
The PKGBUILD downloads a prebuilt .deb from apt.boltops.com, which is the official BoltOps package repository (the vendor behind Terraspace). This is not a random personal host — it is the project's own distribution channel, analogous to how other vendors host their own apt/yum repos. However, the source URL uses a 'latest' alias (terraspace-latest.deb) rather than a versioned filename, meaning the downloaded artifact can change over time independently of the pkgver field. The sha256sum provides a point-in-time integrity check, but if the maintainer updates the checksum to track 'latest', the version pinning is effectively broken. The package installs a prebuilt binary bundle (Ruby embedded runtime + application code) from a non-GitHub, vendor-controlled host into /opt/terraspace. This is a real supply-chain concern: if apt.boltops.com is compromised or the 'latest' deb is silently replaced, users get arbitrary code execution. The risk is not theoretical malice but the structural weakness of a mutable 'latest' URL with a fixed checksum that will eventually drift. This warrants a medium rating — it is a legitimate vendor host but the mutable URL pattern and binary installation from a non-standard host constitute a genuine supply-chain concern.
Triggered rules
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:11
source=("https://apt.boltops.com/packages/terraspace/terraspace-latest.deb" "terraspace.install")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The PKGBUILD downloads a prebuilt .deb from apt.boltops.com, which is the official BoltOps package repository (the vendor behind Terraspace). This is not a random personal host — it is the project's own distribution channel, analogous to how other vendors host their own apt/yum repos. However, the source URL uses a 'latest' alias (terraspace-latest.deb) rather than a versioned filename, meaning the downloaded artifact can change over time independently of the pkgver field. The sha256sum provides a point-in-time integrity check, but if the maintainer updates the checksum to track 'latest', the version pinning is effectively broken. The package installs a prebuilt binary bundle (Ruby embedded runtime + application code) from a non-GitHub, vendor-controlled host into /opt/terraspace. This is a real supply-chain concern: if apt.boltops.com is compromised or the 'latest' deb is silently replaced, users get arbitrary code execution. The risk is not theoretical malice but the structural weakness of a mutable 'latest' URL with a fixed checksum that will eventually drift. This warrants a medium rating — it is a legitimate vendor host but the mutable URL pattern and binary installation from a non-standard host constitute a genuine supply-chain concern.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Debendra Oli <debendraoli [at] pm [dot] me>
pkgname=terraspace-bin
pkgver=1.1.7
pkgrel=1
pkgdesc="Terraspace: The Terraform Framework"
arch=('x86_64')
makedepends=('tar' 'binutils')
url="https://github.com/boltops-tools/terraspace"
license=('Apache-2.0 License')
source=("https://apt.boltops.com/packages/terraspace/terraspace-latest.deb" "terraspace.install")
sha256sums=('25d3e8184aee913a57e1b40e6f3f08dc7b53051f565e75f47383d84e9c6493b1' '7c44dda7bd327a3f94d42272e76006fb4dd69c573d6bcfb6072ff134fd5bbbb4')
install=terraspace.install
prepare() {
cd "$srcdir/"
tar -xf data.tar.xz
}
package() {
cd "$srcdir/"
install -d "$pkgdir/opt/terraspace"
cp -r "$srcdir/opt/terraspace/embedded" "$pkgdir/opt/terraspace"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Medium | 2 |
| 2026-10-31 00:07:41 | Medium | 2 |
| 2026-10-30 00:29:30 | Medium | 2 |
| 2026-10-29 00:13:55 | Medium | 2 |
| 2026-10-28 00:06:54 | Medium | 2 |
| 2026-10-27 00:23:28 | Medium | 2 |
| 2026-10-26 00:12:40 | Medium | 2 |
| 2026-10-25 00:20:48 | Medium | 2 |
| 2026-10-24 00:14:55 | Medium | 2 |
| 2026-10-23 00:02:19 | Medium | 2 |
| 2026-10-22 00:13:10 | Medium | 2 |
| 2026-10-21 00:12:50 | Medium | 2 |
| 2026-10-20 00:10:31 | Medium | 2 |
| 2026-10-19 00:03:55 | Medium | 2 |
| 2026-10-18 00:06:55 | Medium | 2 |
| 2026-10-17 00:21:55 | Medium | 2 |
| 2026-10-16 00:12:47 | Medium | 2 |
| 2026-10-15 00:28:05 | Medium | 2 |
| 2026-10-14 00:06:47 | Medium | 2 |
| 2026-10-13 00:23:45 | Medium | 2 |