mullvad-browser-bin
The source uses dist.torproject.org, which is a legitimate and official distribution point for the Mullvad Browser, co-developed by the Tor Project; downloading a prebuilt browser bundle from this trusted project-owned domain, even if not on a default whitelist, represents a normal and expected packaging practice with low risk.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The source uses dist.torproject.org, which is a legitimate and official distribution point for the Mullvad Browser, co-developed by the Tor Project; downloading a prebuilt browser bundle from this trusted project-owned domain, even if not on a default whitelist, represents a normal and expected packaging practice with low risk.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:68
https://dist.torproject.org/mullvadbrowser/$pkgver/mullvad-browser-linux-x86_64-$pkgver.tar.xz{,.asc}
PKGBUILD
1 offending line(s) highlighted# Maintainer: tarball <bootctl@gmail.com>
# Contributor: Mark Wagie <mark.wagie@proton.me>
#
# Fetching the signing key:
# https://mullvad.net/en/help/verifying-mullvad-browser-signature
# If you can't open the page, here's the important line:
# gpg --auto-key-locate nodefault,wkd --locate-keys torbrowser@torproject.org
#
# Please discuss bugs in AUR comments before reporting them upstream!
pkgname=mullvad-browser-bin
pkgver=15.0.21
pkgrel=1
pkgdesc='Privacy-focused web browser developed by Mullvad VPN and the Tor Project'
arch=(x86_64)
url=https://mullvad.net/en/browser
license=(MPL-2.0) # see about:license
depends=(
alsa-lib
at-spi2-core
bash
cairo
dbus
ffmpeg4.4
fontconfig
freetype2
libgcc
libstdc++
gdk-pixbuf2
glib2
glibc
gtk3
hicolor-icon-theme
libpulse
libx11
libxcb
libxcomposite
libxcursor
libxdamage
libxext
libxfixes
libxi
libxrandr
libxrender
libxss
libxt
mime-types
nspr
nss
pango
ttf-font
)
optdepends=(
'hunspell-en_US: Spell checking, American English'
'libnotify: Notification integration'
'networkmanager: Location detection via available WiFi networks'
'pulse-native-provider: Sound support when using PipeWire or PulseAudio' # thanks to @cyberpunkrocker for the suggestion
'speech-dispatcher: Text-to-Speech'
'xdg-desktop-portal: Screensharing with Wayland'
)
provides=(mullvad-browser=$pkgver mullvad-browser)
conflicts=(mullvad-browser)
# mullvad.net is blocked or slow in many countries around the world.
source=(
#https://github.com/mullvad/mullvad-browser/releases/download/$pkgver/mullvad-browser-linux-x86_64-$pkgver.tar.xz{,.asc}
#https://cdn.mullvad.net/browser/$pkgver/mullvad-browser-linux-x86_64-$pkgver.tar.xz{,.asc}
https://dist.torproject.org/mullvadbrowser/$pkgver/mullvad-browser-linux-x86_64-$pkgver.tar.xz{,.asc}
#https://tor.eff.org/dist/mullvadbrowser/$pkgver/mullvad-browser-linux-x86_64-$pkgver.tar.xz{,.asc}
mullvad-browser.sh
mullvad-browser.desktop
)
validpgpkeys=(
'EF6E286DDA85EA2A4BA7DE684E2C6E8793298290' # Tor Browser Developers (signing key) <torbrowser@torproject.org>
)
changelog='mullvad-browser.changelog'
sha256sums=('2c7bff858fda6e6cbbffc9ec3642a2c0987e4af44bcc43bdedf34dbcfb985d0a'
'SKIP'
'9e1a8b33705972bd372be3af3bdf3039297e6d568e53dcf2e3da03f6f2f2aadd'
'6e218bdd9c442143088dec784d898f2668e36ae55f6cde45038408bc2bd59488')
package() {
local pkg=${pkgname%%-bin}
# cli wrapper
install -Dvm755 "$pkg.sh" "$pkgdir/usr/bin/$pkg"
# desktop file
install -Dvm644 "$pkg.desktop" -t "$pkgdir/usr/share/applications/"
cd mullvad-browser
# only owner has access to all files
chmod --recursive --verbose a+r .
# mark all files executable by the owner as executable by all users
# `-executable` finds nothing on `noexec` filesystems (thank you vesinum@aur)
find . -perm -u=x -execdir chmod --verbose a+x '{}' +
# copy files from archive
install -dvm755 "$pkgdir/opt/$pkg/"
cp --archive --verbose Browser/. "$pkgdir/opt/$pkg/"
# fix "open file" dialog crash
sed -i 's|<dir prefix="cwd">fonts</dir>|<dir>/opt/mullvad-browser/fonts</dir>|' \
"$pkgdir/opt/$pkg/fonts/fonts.conf"
# create profiles in ~
install -Dvm644 /dev/null "$pkgdir/opt/$pkg/system-install"
# disable built-in updates
install -Dvm644 /dev/null "$pkgdir/opt/$pkg/is-packaged-app"
# icons
local size
for size in 16 32 48 64 128; do
install -Dvm644 "$pkgdir/opt/$pkg/browser/chrome/icons/default/default$size.png" \
"$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/$pkg.png"
done
install -Dvm644 "$pkgdir/opt/$pkg/browser/chrome/icons/default/about-logo.svg" \
"$pkgdir/usr/share/icons/hicolor/scalable/apps/$pkg.svg"
# license files
install -dvm755 "$pkgdir/usr/share/licenses/"
ln -sfv "/opt/$pkg/MullvadBrowser/Docs/Licenses" "$pkgdir/usr/share/licenses/$pkg"
# distribution channel
install -Dvm644 /dev/stdin "$pkgdir/opt/$pkg/distribution/distribution.ini" <<END
[Global]
id=archlinux-aur
version=1.0
about=Mullvad Browser for Arch Linux (AUR)
[Preferences]
app.distributor=archlinux-aur
app.distributor.channel=$pkgname
app.partner.archlinux=archlinux-aur
END
# GNOME search provider (while the browser is running)
install -Dvm644 /dev/stdin "$pkgdir/opt/$pkg/browser/defaults/preferences/vendor.js" <<END
// Use system-provided dictionaries
pref("spellchecker.dictionary_path", "/usr/share/hunspell");
// Enable GNOME Shell search provider
pref("browser.gnome-search-provider.enabled", true);
END
install -Dvm644 /dev/stdin "$pkgdir/usr/share/gnome-shell/search-providers/$pkg.search-provider.ini" <<END
[Shell Search Provider]
DesktopId=mullvad-browser.desktop
BusName=org.mozilla.mullvadbrowser.SearchProvider
ObjectPath=/org/mozilla/mullvadbrowser/SearchProvider
Version=2
END
}
Changes since previous scan
--- PKGBUILD @ 2026-09-15 00:25+++ PKGBUILD @ 2026-09-17 00:27@@ -9,7 +9,7 @@ # Please discuss bugs in AUR comments before reporting them upstream! pkgname=mullvad-browser-bin-pkgver=15.0.20+pkgver=15.0.21 pkgrel=1 pkgdesc='Privacy-focused web browser developed by Mullvad VPN and the Tor Project' arch=(x86_64)@@ -76,7 +76,7 @@ ) changelog='mullvad-browser.changelog' -sha256sums=('13256287592494883b6f77dd87ab6ab441375e1fd43e93cc6607ddc6d63a739b'+sha256sums=('2c7bff858fda6e6cbbffc9ec3642a2c0987e4af44bcc43bdedf34dbcfb985d0a' 'SKIP' '9e1a8b33705972bd372be3af3bdf3039297e6d568e53dcf2e3da03f6f2f2aadd' '6e218bdd9c442143088dec784d898f2668e36ae55f6cde45038408bc2bd59488')Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 11:19:45 | Medium | 1 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 17:48:51 | Medium | 1 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |