meocloud-cli
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:12
source=("https://meocloud.pt/binaries/linux/${arch}/meocloud-${pkgver}_${arch}.tar.gz"
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 binary tarball directly from meocloud.pt (the official MEO Cloud vendor domain, operated by Altice/PT) and installs it system-wide by copying opt/ and usr/ trees. While meocloud.pt is the legitimate vendor's own domain (not a personal or third-party host), the package installs an opaque prebuilt binary with no source build, meaning the sha256sum is the only integrity guarantee. The binary is executed code installed into /opt and /usr, so if the upstream host were compromised or the binary swapped, the checksum would be the only line of defense. This is a classic 'binary blob from vendor' pattern — not clearly malicious, but a genuine supply-chain concern because there is no reproducible build and the binary runs with user privileges. Severity remains medium: it is the official vendor host, but the pattern of installing unverified prebuilt binaries without GPG signature verification is a real (if common) supply-chain risk.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Hugo Castilho <hugo.p.castilho@telecom.pt>
pkgname=meocloud-cli
pkgver=0.2.29beta
pkgrel=1
pkgdesc="Cloud storage service and file synchronization service, command line"
arch=('x86_64')
url="https://meocloud.pt"
license=('custom')
options=('!strip')
source=("https://meocloud.pt/binaries/linux/${arch}/meocloud-${pkgver}_${arch}.tar.gz"
"TOS.txt")
sha256sums=('577236de621f5bab7325bc8e89fcc895a8452a3bf1a4e1bc6353cc36cb46c9e0'
'240ca45ba26f1a9df5b277d9b51e2b53a152a9c20c74e6b965e4a60d965fce0f')
package() {
cp -R $srcdir/{opt,usr} $pkgdir
install -D -m 644 "$srcdir/TOS.txt" "$pkgdir/usr/share/licenses/$pkgname/TOS.txt"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | MEDIUM | 2 |
| 2026-08-02 00:16:08 | MEDIUM | 2 |
| 2026-08-01 00:11:18 | MEDIUM | 2 |
| 2026-07-31 00:14:10 | MEDIUM | 2 |
| 2026-07-30 00:17:23 | MEDIUM | 2 |
| 2026-07-29 00:25:53 | MEDIUM | 2 |
| 2026-07-28 00:07:28 | MEDIUM | 2 |
| 2026-07-27 00:24:32 | MEDIUM | 2 |
| 2026-07-26 00:07:32 | MEDIUM | 2 |
| 2026-07-25 00:13:44 | MEDIUM | 2 |
| 2026-07-24 00:02:28 | MEDIUM | 2 |
| 2026-07-23 00:14:47 | MEDIUM | 2 |
| 2026-07-22 00:29:32 | MEDIUM | 2 |
| 2026-07-21 00:24:15 | MEDIUM | 2 |
| 2026-07-20 00:19:49 | MEDIUM | 2 |
| 2026-07-19 00:17:08 | MEDIUM | 2 |
| 2026-07-18 00:14:48 | MEDIUM | 2 |
| 2026-07-17 00:06:16 | MEDIUM | 2 |
| 2026-07-16 00:05:41 | MEDIUM | 2 |
| 2026-07-15 00:09:25 | MEDIUM | 2 |