sendanywhere
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:16
source=("${pkgname}-${pkgver}.deb::https://update.send-anywhere.com/linux_downloads/sendanywhere_latest_amd64.deb" "LICENSE")
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 update.send-anywhere.com (the vendor's own update server) and extracts a native binary (paprika.node) that is installed and executed at runtime via Electron. The host appears to be the official vendor update endpoint for Send Anywhere, not a personal or random host, which reduces concern somewhat. However, the URL always fetches 'sendanywhere_latest_amd64.deb' (a mutable 'latest' URL), meaning the sha512sum pinned in the PKGBUILD will break whenever upstream updates, and any compromise of the vendor's update server would deliver arbitrary code. The paprika.node native addon is executed with full system privileges. This is a legitimate medium-risk supply-chain concern: a prebuilt native binary from a vendor update server with a mutable URL, though the checksum does provide some protection at the time of packaging. Not high because there is no evidence of malice, obfuscation, or active attack.
PKGBUILD
1 offending line(s) highlighted# Contributor: Ye Shu <shuye02@outlook.com>
# Contributor: Aaron Fischer <mail@aaron-fischer.net>
# Contributor: Ashwin Vishnu <ashuwish+arch at gmail dot com>
pkgname=sendanywhere
pkgver=24.3.8
pkgrel=1
arch=('x86_64')
pkgdesc="Send Anywhere is a multi-platform file sharing service where users can directly share digital content in real time."
url="http://send-anywhere.com"
license=('custom')
depends=('electron8')
makedepends=('asar')
source=("${pkgname}-${pkgver}.deb::https://update.send-anywhere.com/linux_downloads/sendanywhere_latest_amd64.deb" "LICENSE")
sha512sums=('1efd97e87385eced4ff7ee6ab6041665237ec2e160307b0bd326f5d65ca9c07f89d0c903addc4b84edae0e3f61bb0597ad70d0440a47981700665280ae964850'
'aeb97a12f246d78cbf202354148b429a037997d68087bceed5d5ce5036443d779c2535138b54347579ddf05994a61b9333913f9261733f367d02e0e9cf7d0b5e')
# If validity check fails, please leave a comment to remind me to update the package version
package(){
# Extract the data package
tar -xf data.tar.xz
cd $srcdir/opt/SendAnywhere
mkdir -p $pkgdir/usr/lib/$pkgname
# HACKS FOR SYSTEM ELECTRON
asar e resources/app.asar resources/app
sed -i "s|,\"paprika.node\"|,\"/usr/lib/$pkgname/paprika.node\"|" resources/app/src/main/main.prod.js
# Copy Relevanat data
cp -r resources/app $pkgdir/usr/lib/$pkgname/
cp paprika.node $pkgdir/usr/lib/$pkgname/
cd $srcdir
# Create starter script
echo "#!/bin/sh" >> $pkgname
echo "exec electron8 /usr/lib/$pkgname/app \$@" >> $pkgname
mkdir -p $pkgdir/usr/bin
install -Dm 755 $pkgname $pkgdir/usr/bin/$pkgname
# Install .desktop and icon
cp -r usr/share $pkgdir/usr/
sed -i "s|Exec=.*|Exec=/usr/bin/$pkgname|" $pkgdir/usr/share/applications/SendAnywhere.desktop
sed -i "s|StartupWMClass=.*|StartupWMClass=Send Anywhere|" $pkgdir/usr/share/applications/SendAnywhere.desktop
# Add licenses
install -Dm644 $srcdir/LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
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 |