beeper-bin

MEDIUM
maintainer Sanitary4788 16 votes scanned 2026-09-17 00:27:14.276658
View on AUR
Why flagged

The package downloads a prebuilt AppImage from a non-standard host (beeper-desktop.download.beeper.com), which is not on the standard whitelist and could allow supply-chain attacks if the host is compromised; while the AppImage is from the official vendor, the use of a non-standard domain increases risk.

Triggered rules

Medium source=() URL on a non-standard host 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:21 source=('Beeper-4.3.104-x86_64.AppImage::https://beeper-desktop.download.beeper.com/builds/Beeper-4.3.104-x86_64.AppImage')
Medium AI review llm_review

An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 90%): The package downloads a prebuilt AppImage from a non-standard host (beeper-desktop.download.beeper.com), which is not on the standard whitelist and could allow supply-chain attacks if the host is compromised; while the AppImage is from the official vendor, the use of a non-standard domain increases risk.

  • PKGBUILD:60 eval "$_oldnull"

PKGBUILD

2 offending line(s) highlighted
1# Maintainer: Serph91P <aur+beeper-bin@users.noreply.github.com>
2# Generated-maintenance note: scripts/aur_update.py updates pkgver, source and sha256sums.
3
4_pkgname='beeper'
5_install_path='opt'
6
7pkgname='beeper-bin'
8pkgver=4.3.104
9pkgrel=1
10epoch=1
11pkgdesc='The ultimate messaging app'
12depends=('libappindicator' 'libnotify' 'libsecret' 'hicolor-icon-theme')
13makedepends=('asar')
14url='https://www.beeper.com/beta'
15license=('LicenseRef-beeper')
16arch=('x86_64')
17options=('!strip' '!debug')
18conflicts=('beeper' 'beeper-v4-bin')
19provides=('beeper')
20
21source=('Beeper-4.3.104-x86_64.AppImage::https://beeper-desktop.download.beeper.com/builds/Beeper-4.3.104-x86_64.AppImage')
22sha256sums=('6b42072150559ba8f529fdec800f800fd51fa6e1241ae4cb60e4454247b2c3e9')
23
24build() {
25 local _filename="Beeper-${pkgver}-x86_64.AppImage"
26
27 chmod +x "$srcdir/$_filename"
28 "$srcdir/$_filename" --appimage-extract
29
30 sed -Ei 's@^(if \[ -z "\$APPDIR" \] ; then)$@APPDIR="/'"$_install_path"'/beeper"\n\1@' "$srcdir/squashfs-root/AppRun"
31}
32
33_package_beeper() {
34 install -Dm755 "$srcdir/squashfs-root/AppRun" "$pkgdir/usr/bin/beeper"
35
36 install -dm755 "$pkgdir/$_install_path"
37 mv "$srcdir/squashfs-root" "$pkgdir/$_install_path/beeper"
38
39 rm -f "$pkgdir/$_install_path/beeper/beepertexts.desktop"
40
41 local _resources_dir="$pkgdir/$_install_path/beeper/resources"
42 local _app_dir="$_resources_dir/app"
43 local _asar_path="$_resources_dir/app.asar"
44 local _main_dir="$_app_dir/build/main"
45 local _linux_config_file
46 local _main_mjs_files
47 local _oldnull
48
49 if [ ! -d "$_app_dir" ] && [ -f "$_asar_path" ]; then
50 asar extract "$_asar_path" "$_app_dir" || return 1
51 rm -f "$_asar_path"
52 fi
53
54 _linux_config_file=""
55
56 if [ -d "$_main_dir" ]; then
57 _oldnull=$(shopt -p nullglob || true)
58 shopt -s nullglob
59 _main_mjs_files=("$_main_dir"/*.mjs)
60 eval "$_oldnull"
61
62 if [ -n "${_main_mjs_files[*]}" ]; then
63 _linux_config_file=$(grep -lE 'export\{[a-zA-Z0-9_]+ as registerLinuxConfig\};' "${_main_mjs_files[@]}" 2>/dev/null | head -n1)
64 fi
65 fi
66
67 if [ -z "$_linux_config_file" ] && [ -d "$_app_dir" ]; then
68 _linux_config_file=$(grep -R -lE 'export\{[a-zA-Z0-9_]+ as registerLinuxConfig\};' "$_app_dir" --include='*.mjs' 2>/dev/null | head -n1)
69 fi
70
71 if [ -z "$_linux_config_file" ]; then
72 echo "error: could not find file exporting registerLinuxConfig in $_app_dir" >&2
73 return 1
74 fi
75
76 sed -i 's/export{[a-zA-Z0-9_]* as registerLinuxConfig};/const noopFunc=function(){};export{noopFunc as registerLinuxConfig};/' "$_linux_config_file"
77}
78
79package() {
80 install -Dm644 /dev/stdin "$pkgdir/usr/share/applications/beeper.desktop" << END
81[Desktop Entry]
82Type=Application
83Name=Beeper
84GenericName=Unified Messenger
85Comment=$pkgdesc
86Exec=beeper --no-sandbox %U
87Icon=beepertexts
88Terminal=false
89StartupWMClass=BeeperTexts
90X-AppImage-Version=$pkgver
91MimeType=x-scheme-handler/beeper;x-scheme-handler/matrix;x-scheme-handler/element;
92Categories=Network;InstantMessaging;
93END
94
95 install -Dm644 "$srcdir/squashfs-root/usr/share/icons/hicolor/512x512/apps/beepertexts.png" -t "$pkgdir/usr/share/icons/hicolor/512x512/apps"
96
97 install -Dm644 "$srcdir/squashfs-root/LICENSE.electron.txt" -t "$pkgdir/usr/share/licenses/$pkgname/"
98 install -Dm644 "$srcdir/squashfs-root/LICENSES.chromium.html" -t "$pkgdir/usr/share/licenses/$pkgname/"
99
100 _package_beeper
101
102 chmod -R u+rwX,go+rX,go-w "$pkgdir"
103}
104

Changes since previous scan

--- PKGBUILD @ 2026-09-12 00:25
+++ PKGBUILD @ 2026-09-17 00:27
@@ -5,7 +5,7 @@
_install_path='opt'
pkgname='beeper-bin'
-pkgver=4.3.89
+pkgver=4.3.104
pkgrel=1
epoch=1
pkgdesc='The ultimate messaging app'
@@ -18,8 +18,8 @@
conflicts=('beeper' 'beeper-v4-bin')
provides=('beeper')
-source=('Beeper-4.3.89-x86_64.AppImage::https://beeper-desktop.download.beeper.com/builds/Beeper-4.3.89-x86_64.AppImage')
-sha256sums=('a7de605ae802ec14037a88a26c0c5e9bb270dc60aebfdd4d6227fb9fe41f5c59')
+source=('Beeper-4.3.104-x86_64.AppImage::https://beeper-desktop.download.beeper.com/builds/Beeper-4.3.104-x86_64.AppImage')
+sha256sums=('6b42072150559ba8f529fdec800f800fd51fa6e1241ae4cb60e4454247b2c3e9')
build() {
local _filename="Beeper-${pkgver}-x86_64.AppImage"

Scan history

Scanned at (UTC)SeverityRules
2026-09-17 00:27:14 Medium 2
2026-09-16 00:03:17 Medium 2
2026-09-15 00:25:31 Medium 2
2026-09-14 00:27:57 Medium 2
2026-09-13 00:19:54 Medium 2
2026-09-12 03:10:21 Medium 2
2026-09-12 00:25:17 Low 2
2026-09-11 00:19:22 Low 2
2026-09-10 03:20:13 Medium 1
2026-09-10 00:22:44 Medium 2
2026-09-09 00:04:09 Medium 2
2026-09-08 00:18:08 Medium 2
2026-09-07 00:30:15 Medium 2
2026-09-06 00:17:06 Medium 2
2026-09-05 00:16:27 Medium 2
2026-09-04 03:56:15 Medium 2
2026-09-04 00:03:13 Medium 2
2026-09-03 00:15:47 Medium 2
2026-09-02 00:02:31 Medium 2
2026-09-01 00:11:19 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