drivesync-git

maintainer orphaned · 2 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
broken
View on AUR ↗
Why flagged The PKGBUILD has multiple serious issues. First, it runs `gem install bundler` and `bundle install` during build without pinned versions or checksums for the gems fetched, creating a genuine supply-chain risk since arbitrary gem versions could be pulled from rubygems.org at build time. Second, the package() function is clearly broken: it writes to ~/.bashrc (modifying user state from a package function is wrong), uses `mv -T` to move the source to /tmp (not $pkgdir), and never installs anything into $pkgdir, so the package would be empty. The `if [ ! -d /opt/drivesync ]` check also references a path that is never created. The supply-chain concern (unpinned gem installs executing arbitrary code) is a real medium-severity issue, not a false positive, though the broken packaging means it likely never successfully installs anyway.

Triggered rules

MEDIUM External install via pipx/uv/poetry/cargo/go/gem alt_pkg_manager_install

A non-pip/npm package manager (pipx, uv, poetry, cargo install, go install, gem, conda…) fetches and builds an external package at build time, outside source=() and makepkg's checksums.

  • PKGBUILD:22 gem install bundler
MEDIUM AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 80%): The PKGBUILD has multiple serious issues. First, it runs `gem install bundler` and `bundle install` during build without pinned versions or checksums for the gems fetched, creating a genuine supply-chain risk since arbitrary gem versions could be pulled from rubygems.org at build time. Second, the package() function is clearly broken: it writes to ~/.bashrc (modifying user state from a package function is wrong), uses `mv -T` to move the source to /tmp (not $pkgdir), and never installs anything into $pkgdir, so the package would be empty. The `if [ ! -d /opt/drivesync ]` check also references a path that is never created. The supply-chain concern (unpinned gem installs executing arbitrary code) is a real medium-severity issue, not a false positive, though the broken packaging means it likely never successfully installs anyway.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Nahuel Morata <nahuelmorata@gmail.com>
2pkgname=drivesync-git
3_origname="drivesync"
4pkgver=1.4.0.r0.g1124fc6
5pkgrel=1
6pkgdesc="A command line utility that synchronizes your Google Drive files with a local folder on your machine"
7arch=('any')
8url="https://github.com/MStadlmeier/drivesync"
9license=('MIT')
10depends=("ruby")
11provides=("drivesync")
12install=.INSTALL
13source=("$pkgname::git+https://github.com/MStadlmeier/drivesync.git")
14md5sums=("SKIP")
15
16pkgver() {
17 cd "$pkgname"
18 git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
19}
20
21prepare() {
22 gem install bundler
23}
24
25build() {
26 cd "$pkgname"
27 ~/.gem/ruby/$(ls ~/.gem/ruby | tail -n 1)/bin/bundle install
28}
29
30package() {
31 if [ ! -d /opt/drivesync ]; then
32 echo "alias drivesync='ruby /opt/drivesync/drivesync.rb'" >> ~/.bashrc
33 fi
34
35 mv -T $pkgname /tmp/drivesync
36}
37

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