idrive-desktop-bin

maintainer andybarilla · 1 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The PKGBUILD downloads a prebuilt Electron/binary .deb from idrivedownloads.com (IDrive's own CDN/download host) with sha256sums=('SKIP'), meaning no integrity verification is performed. The binary is then unpacked and installed directly, including setting a setuid-root chrome-sandbox binary (chmod 4755). The source is the official vendor distribution channel, not a personal or unofficial host, which reduces risk compared to a random third-party mirror. However, the complete absence of a checksum means any MITM or server-side substitution would go undetected. The 'SKIP' is explained by the upstream serving an unversioned 'latest' URL, which is a real supply-chain concern: there is no way to verify the downloaded binary matches any known-good version. This is a genuine medium-severity concern — executed proprietary binary from a vendor host with no integrity check — but not high because the host is the legitimate vendor's download server and there is no evidence of malice or obfuscation.

Triggered rules

MEDIUM source=() URL on a non-standard host 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:30 source=("IDriveForLinux.deb::https://www.idrivedownloads.com/downloads/linux/linux-desktop/IDriveForLinux.deb")
MEDIUM AI review 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 Electron/binary .deb from idrivedownloads.com (IDrive's own CDN/download host) with sha256sums=('SKIP'), meaning no integrity verification is performed. The binary is then unpacked and installed directly, including setting a setuid-root chrome-sandbox binary (chmod 4755). The source is the official vendor distribution channel, not a personal or unofficial host, which reduces risk compared to a random third-party mirror. However, the complete absence of a checksum means any MITM or server-side substitution would go undetected. The 'SKIP' is explained by the upstream serving an unversioned 'latest' URL, which is a real supply-chain concern: there is no way to verify the downloaded binary matches any known-good version. This is a genuine medium-severity concern — executed proprietary binary from a vendor host with no integrity check — but not high because the host is the legitimate vendor's download server and there is no evidence of malice or obfuscation.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Andy <this.is.apb@gmail.com>
2pkgname=idrive-desktop-bin
3pkgver=1.7.0
4pkgrel=1
5pkgdesc="IDrive for Linux - official Electron desktop GUI for cloud backup, restore and sync"
6arch=('x86_64')
7url="https://www.idrive.com/online-backup-download"
8license=('LicenseRef-IDrive')
9# Translated from the .deb Depends. popt is needed by the idevsutil backup engine
10# the app fetches on first run. gtk3/libnotify/etc. are pulled via the GUI libs.
11# valkey is NOT here: redis is used only by the Cloud Sync daemon (sync-daemon,
12# pkg "clouddrive"), so backup/restore and the GUI work without it -> optdepend.
13depends=('nss' 'curl' 'sqlite' 'cronie' 'glib2' 'gtk3' 'xdotool' 'rsync' 'attr'
14 'popt' 'python' 'python-gobject' 'python-watchdog' 'python-psutil'
15 'python-dbus')
16optdepends=('valkey: Cloud Sync / Cloud Drive real-time folder sync (redis-compatible server)'
17 'libappindicator-gtk3: system tray icon'
18 'nautilus: file manager integration'
19 'nautilus-python: cloud-sync overlay icons in Nautilus'
20 'nemo-python: cloud-sync overlay icons in Nemo'
21 'python-caja: cloud-sync overlay icons in Caja')
22# Bundles the same /opt/IDriveForLinux backup engine as idrive-bin; only one of
23# the two can manage that tree.
24provides=('idrive')
25conflicts=('idrive' 'idrive-bin')
26options=('!strip')
27install="$pkgname.install"
28# Upstream serves a single, unversioned "latest" .deb, so the checksum cannot be
29# pinned; pkgver() reads the real version from the deb's control file.
30source=("IDriveForLinux.deb::https://www.idrivedownloads.com/downloads/linux/linux-desktop/IDriveForLinux.deb")
31sha256sums=('SKIP')
32
33pkgver() {
34 cd "$srcdir"
35 # deb is an ar archive; pull the control member and read its Version field.
36 bsdtar -xOf IDriveForLinux.deb control.tar.gz | bsdtar -xOf - \
37 | grep -m1 '^Version:' | awk '{print $2}'
38}
39
40package() {
41 cd "$srcdir"
42
43 # Unpack the deb (ar: debian-binary, control.tar.gz, data.tar.xz), then lay
44 # its payload (opt/ + usr/share) straight into the package.
45 bsdtar -xf IDriveForLinux.deb
46 bsdtar -xf data.tar.xz -C "$pkgdir"
47
48 # The Electron sandbox helper must be setuid root.
49 chmod 4755 "$pkgdir/opt/IDriveForLinux/chrome-sandbox"
50
51 # Launcher on PATH (the .desktop already points at the absolute path).
52 install -d "$pkgdir/usr/bin"
53 ln -s /opt/IDriveForLinux/idriveforlinux "$pkgdir/usr/bin/idriveforlinux"
54
55 # License: pointer to the canonical terms plus the bundled Electron license.
56 install -d "$pkgdir/usr/share/licenses/$pkgname"
57 cat > "$pkgdir/usr/share/licenses/$pkgname/LICENSE" <<-'EOF'
58 IDrive for Linux is proprietary software, Copyright IDrive Inc.
59
60 Use is governed by the IDrive Terms of Service:
61 https://www.idrive.com/terms-and-conditions
62
63 This package redistributes the unmodified official .deb payload from
64 https://www.idrive.com/online-backup-download for convenience.
65 EOF
66 install -m644 "$pkgdir/opt/IDriveForLinux/LICENSE.electron.txt" \
67 "$pkgdir/usr/share/licenses/$pkgname/LICENSE.electron.txt"
68}
69

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion