zen-browser-twilight-bin
maintainer logan_reed
· 2 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package installs SUID binaries from the official GitHub release, which is a normal requirement for browser sandboxing, and does not perform any privileged operations outside of standard packaging.
Triggered rules
LOW
AI review downgraded a static finding
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 package installs SUID binaries from the official GitHub release, which is a normal requirement for browser sandboxing, and does not perform any privileged operations outside of standard packaging.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
Privileged / out-of-pacman install (sudoers, setuid, or self-update)
privileged_install
The package grants elevated privileges or installs an update path outside pacman: a /etc/sudoers.d rule (often passwordless), a setuid/setgid binary, or a self-update script/service that can fetch and run future code with no checksum verification. The initial install may be verified, but the ongoing privilege + update surface is a real supply-chain / privilege-escalation risk.
-
PKGBUILD:58
[[ -f "${pkgdir}${_installdir}/${_bin}" ]] && chmod 4755 "${pkgdir}${_installdir}/${_bin}"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: logan_reed <liulingzhang.work@icloud.com>
2
# Contributor: Filip Papaj <denuvo at tuta dot io>
3
4
_pkgname=zen-browser-twilight
5
pkgname=${_pkgname}-bin
6
pkgver=1.22t
7
pkgrel=25
8
pkgdesc='Zen Browser (Twilight Build) - Performance oriented Firefox-based web browser'
9
arch=('x86_64' 'aarch64')
10
url='https://zen-browser.app/'
11
license=('MPL-2.0')
12
depends=(
13
'dbus-glib'
14
'gtk3'
15
'libxt'
16
'mime-types'
17
'nss'
18
'ttf-font'
19
)
20
optdepends=(
21
'alsa-lib: ALSA audio backend'
22
'ffmpeg: H264/AAC/MP3 decoding'
23
'pulse-native-provider: PulseAudio/PipeWire audio backend'
24
'libnotify: Desktop notification support'
25
'networkmanager: Location detection via WiFi networks'
26
'speech-dispatcher: Text-to-Speech'
27
'hunspell-en_US: Spell checking, American English'
28
'xdg-desktop-portal: Screen sharing under Wayland'
29
)
30
provides=("zen-browser=$pkgver")
31
conflicts=('zen-browser' 'zen-browser-bin' 'zen-browser-git')
32
options=('!strip' '!debug')
33
install=${pkgname}.install
34
35
_gh='https://github.com/zen-browser/desktop/releases/download/twilight-1'
36
_installdir="/opt/${pkgname}"
37
38
source=("${_pkgname}.sh"
39
"${_pkgname}.desktop"
40
'policies.json')
41
source_x86_64=("zen.linux-x86_64-${pkgver}-${pkgrel}.tar.xz::https://github.com/zen-browser/desktop/releases/download/twilight-1/zen.linux-x86_64.tar.xz")
42
source_aarch64=("zen.linux-aarch64-${pkgver}-${pkgrel}.tar.xz::https://github.com/zen-browser/desktop/releases/download/twilight-1/zen.linux-aarch64.tar.xz")
43
44
b2sums=('bc733dba0aad89145425cf6e82a22379c1115b736f0938203e80d7e78f3e0f4c6a4c6abab0ceb36d5eecb009163b77d0b8f2145ffcf6b985a8f142f6fabaec6d'
45
'f75e803fa9da53ab9c263cc357f388de87137393fac90e86dfb528029de1434d887c2c25050ea167fbe9959d2eec11f81c85f28010126bd0c46884b59bb6ae41'
46
'f83302f32649f214d97f2cadf41d353d7d76fc3b50b6dabc6e25256dc52b7a98aed024a14a88966d0a4f18ee5546ad8f45b4de626aa6ed38c9f8e7a99ef151c3')
47
b2sums_x86_64=('c89efd01dad303a48f239b9072074cfd47ec6ba1f36833d8486016977b55fb4108155da7f9ebb2229fc4c332f2a1d0554354d49bcead8daca236ca41d69deeb1')
48
b2sums_aarch64=('4d1bcd5a752e4a3c6709cf64be223218b4b1e3eeffacae62be9613fc1c9dd15b96c1a112f40cc187796d71050c37170192e5c40ad91e1e5d0da54a7b0f733466')
49
50
package() {
51
# Browser files
52
install -d "${pkgdir}${_installdir}"
53
cp -a "${srcdir}/zen/." "${pkgdir}${_installdir}/"
54
55
# SUID sandbox helpers
56
local _suid_bins=(glxtest vaapitest)
57
for _bin in "${_suid_bins[@]}"; do
58
[[ -f "${pkgdir}${_installdir}/${_bin}" ]] && chmod 4755 "${pkgdir}${_installdir}/${_bin}"
59
done
60
61
# Launcher
62
install -Dm755 "${srcdir}/${_pkgname}.sh" "${pkgdir}/usr/bin/${_pkgname}"
63
64
# Desktop entry
65
install -Dm644 "${srcdir}/${_pkgname}.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
66
67
# Icons — symlink to bundled icons
68
local _i
69
for _i in 16 32 48 64 128; do
70
install -d "${pkgdir}/usr/share/icons/hicolor/${_i}x${_i}/apps"
71
ln -s "${_installdir}/browser/chrome/icons/default/default${_i}.png" \
72
"${pkgdir}/usr/share/icons/hicolor/${_i}x${_i}/apps/${_pkgname}.png"
73
done
74
75
# System dictionaries & hyphenation
76
ln -Ts /usr/share/hunspell "${pkgdir}${_installdir}/dictionaries"
77
ln -Ts /usr/share/hyphen "${pkgdir}${_installdir}/hyphenation"
78
79
# System certificates (use system NSS CKBI instead of bundled)
80
ln -sf /usr/lib/libnssckbi.so "${pkgdir}${_installdir}/libnssckbi.so"
81
82
# Policies — disable auto-update (managed via AUR)
83
install -Dm644 "${srcdir}/policies.json" "${pkgdir}${_installdir}/distribution/policies.json"
84
}
85
Changes since previous scan
--- PKGBUILD @ 2026-08-01 00:11+++ PKGBUILD @ 2026-08-03 00:08@@ -4,7 +4,7 @@ _pkgname=zen-browser-twilight pkgname=${_pkgname}-bin pkgver=1.22t-pkgrel=24+pkgrel=25 pkgdesc='Zen Browser (Twilight Build) - Performance oriented Firefox-based web browser' arch=('x86_64' 'aarch64') url='https://zen-browser.app/'@@ -44,8 +44,8 @@ b2sums=('bc733dba0aad89145425cf6e82a22379c1115b736f0938203e80d7e78f3e0f4c6a4c6abab0ceb36d5eecb009163b77d0b8f2145ffcf6b985a8f142f6fabaec6d' 'f75e803fa9da53ab9c263cc357f388de87137393fac90e86dfb528029de1434d887c2c25050ea167fbe9959d2eec11f81c85f28010126bd0c46884b59bb6ae41' 'f83302f32649f214d97f2cadf41d353d7d76fc3b50b6dabc6e25256dc52b7a98aed024a14a88966d0a4f18ee5546ad8f45b4de626aa6ed38c9f8e7a99ef151c3')-b2sums_x86_64=('b5f8ba99577c19176b21d3cea03c527bd054eb38dc94218fa2861820bc6c426e169bfcc5648235fb58aa5a6add18365b09d85da37b2dc27666da42bc18d4595a')-b2sums_aarch64=('fc7edf7c4a428d592725a8b20b901e8e3342cf9353a08e5155683ee94782b1a4726ed42c2f98b82b835797b06bdb8a4a9f7eaea3c9378000094c9cc78cf63d7b')+b2sums_x86_64=('c89efd01dad303a48f239b9072074cfd47ec6ba1f36833d8486016977b55fb4108155da7f9ebb2229fc4c332f2a1d0554354d49bcead8daca236ca41d69deeb1')+b2sums_aarch64=('4d1bcd5a752e4a3c6709cf64be223218b4b1e3eeffacae62be9613fc1c9dd15b96c1a112f40cc187796d71050c37170192e5c40ad91e1e5d0da54a7b0f733466') package() { # Browser filesScan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 09:20:18 | MEDIUM | 1 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 21:16:48 | MEDIUM | 1 |
| 2026-07-30 00:17:23 | MEDIUM | 2 |
| 2026-07-29 00:25:53 | MEDIUM | 2 |
| 2026-07-28 09:37:42 | MEDIUM | 2 |
| 2026-07-28 00:07:28 | MEDIUM | 2 |
| 2026-07-27 00:24:32 | MEDIUM | 2 |
| 2026-07-26 09:32:02 | MEDIUM | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 21:26:05 | MEDIUM | 1 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |