synergy3-bin

maintainer Thadah · 5 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged This PKGBUILD downloads a prebuilt proprietary binary (a full .pkg.tar.zst containing executables installed to /opt/Synergy and /usr/bin) at build time via a multi-step token-extraction flow: it follows a tracking/redirect permalink from Symless's email marketing domain (email.mg.symless.com), scrapes a token from an HTML page, then fetches the actual binary with that token. There is no checksum verification (source=() and sha256sums=() are both empty), so the downloaded binary cannot be integrity-checked. The binary is then extracted and installed with suid bit (chmod 4755 on chrome-sandbox). While the download is from the official vendor's domain (symless.com), the absence of any checksum, the use of a marketing-email redirect link as the entry point, and the installation of an unverified suid binary constitute a genuine supply-chain risk: the content could be silently swapped at any point in the redirect/token chain with no way for the user to detect it. This is a real medium-severity concern — not clearly malicious, but an executed binary from a source that cannot be verified by the package manager.

Triggered rules

MEDIUM External download from an untrusted host, not in source=() external_download_not_in_source

curl/wget fetches a URL on a non-allowlisted host that is not part of source=(), so it is not checksum-verified by makepkg.

  • PKGBUILD:36 curl -fsSL -o "${srcdir}/${_pkgfile}" "https://symless.com/synergy/api/download/${_pkgfile}?token=${token}"
MEDIUM AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 82%): This PKGBUILD downloads a prebuilt proprietary binary (a full .pkg.tar.zst containing executables installed to /opt/Synergy and /usr/bin) at build time via a multi-step token-extraction flow: it follows a tracking/redirect permalink from Symless's email marketing domain (email.mg.symless.com), scrapes a token from an HTML page, then fetches the actual binary with that token. There is no checksum verification (source=() and sha256sums=() are both empty), so the downloaded binary cannot be integrity-checked. The binary is then extracted and installed with suid bit (chmod 4755 on chrome-sandbox). While the download is from the official vendor's domain (symless.com), the absence of any checksum, the use of a marketing-email redirect link as the entry point, and the installation of an unverified suid binary constitute a genuine supply-chain risk: the content could be silently swapped at any point in the redirect/token chain with no way for the user to detect it. This is a real medium-severity concern — not clearly malicious, but an executed binary from a source that cannot be verified by the package manager.

PKGBUILD

1 offending line(s) highlighted
1# Maintainers: arraen, thadah
2# Contributor: Vitalii Kuzhdin <vitaliikuzhdin@gmail.com>
3pkgname="synergy3-bin"
4pkgver="3.6.3"
5pkgrel="1"
6pkgdesc="Share a single mouse and keyboard between multiple computers"
7url="https://symless.com/synergy"
8license=('custom:Proprietary')
9arch=("x86_64")
10source=()
11sha256sums=()
12conflicts=('synergy' 'synergy1-bin' 'synergy-git' 'synergy-1.6' 'synergy2-bin' 'synergy3-bin' 'synergy3-beta-bin')
13depends=('openssl' 'alsa-lib' 'libei' 'libnotify' 'nss' 'qt6-base' 'libxkbfile' 'libxtst' 'libappindicator-gtk3' 'libayatana-appindicator')
14optdepends=('pugixml')
15options=("!strip")
16install="${pkgname}.install"
17
18# Anonymous download permalink provided by Symless
19_permalink="https://email.mg.symless.com/c/eJxMjj1PwzAUAH-Ns1HZ7zn-GDw0gggJECBRqXSzXqw2JbEj2xTCr0d0Yry75QYHPgjTBCe0EdAqbXRzcgSDIkNGWC-EFzRwoFaRJm81tzo0owMOiisB3CJyvbHEEbHVEAhRKmSSz8dNWecplLKhNDeTO9W6FIZbBj2D_l-7Ugz5uDLo_TIy6If0Fafkhz9BFEph2Nf0ESLDW3l4PEO8ed6_bA_nRcLr2hHa9odqd6fu3_P-8-nte_fQiXbXZHcJMWWDRgKT3Gdf8xivQxcHvwEAAP__hk5M-A"
20
21_pkgfile="synergy-${pkgver}-linux-noble-x86_64.pkg.tar.zst"
22
23prepare() {
24 curl -fsSL -c "${srcdir}/cookies.txt" -o /dev/null "$_permalink"
25 curl -fsSL -b "${srcdir}/cookies.txt" -o "${srcdir}/page.html" \
26 "https://symless.com/synergy/download/package/synergy-personal-v3/arch-linux/${_pkgfile}"
27
28 local token
29 token=$(grep -oP '(?<=\\"token\\":\\")[^\\"]+' "${srcdir}/page.html" | head -n1)
30 if [[ -z "$token" ]]; then
31 echo "Failed to get download token."
32 return 1
33 fi
34
35 echo "Downloading .pkg.tar.zst file with permalink token..."
36 curl -fsSL -o "${srcdir}/${_pkgfile}" "https://symless.com/synergy/api/download/${_pkgfile}?token=${token}"
37}
38
39package() {
40 # Extract the .tar.zst file keeping permissions
41 bsdtar -xpf "${srcdir}/${_pkgfile}" -C "${pkgdir}/" opt usr
42
43 install -d "${pkgdir}/usr/bin"
44 ln -s /opt/Synergy/synergy "${pkgdir}/usr/bin/synergy"
45 ln -s /opt/Synergy/synergy-core "${pkgdir}/usr/bin/synergy-core"
46
47 # Install the user service and enable it.
48 install -Dm644 "${pkgdir}/opt/Synergy/resources/services/global/synergy.service" "${pkgdir}/etc/systemd/user/synergy.service"
49 install -d "${pkgdir}/etc/systemd/user/graphical-session.target.wants"
50 ln -s /etc/systemd/user/synergy.service "${pkgdir}/etc/systemd/user/graphical-session.target.wants/synergy.service"
51
52 # Install the login service into the system unit directory (disabled).
53 install -Dm644 "${pkgdir}/opt/Synergy/resources/services/system/synergy.service" "${pkgdir}/usr/lib/systemd/system/synergy.service"
54
55 # Add the loginInfo file
56 install -d "${pkgdir}/etc/Synergy"
57 install -m666 /dev/null "${pkgdir}/etc/Synergy/loginInfo"
58
59 chmod 4755 "${pkgdir}/opt/Synergy/chrome-sandbox" || true
60}
61

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