webviewer

maintainer LeAlex27 · 0 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package downloads image assets from Wikipedia Commons during prepare() to generate desktop entries; these are non-executable files, and the worst case of a malicious swap is limited to resource tampering, not code execution.

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-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads image assets from Wikipedia Commons during prepare() to generate desktop entries; these are non-executable files, and the worst case of a malicious swap is limited to resource tampering, not code execution.

1 higher static finding superseded - not the current verdict (shown for transparency)
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:25 wget "https://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/WhatsApp.svg/766px-WhatsApp.svg.png"
  • PKGBUILD:31 wget "https://upload.wikimedia.org/wikipedia/commons/2/2e/Threema%27s_App_Icon.png"
  • PKGBUILD:37 wget "https://upload.wikimedia.org/wikipedia/commons/thumb/0/05/Google_Messages_logo.svg/600px-Google_Messages_logo.svg.png"

PKGBUILD

3 offending line(s) highlighted
1# Maintainer: Lennart Husvogt <lennart at husvogt dot net>
2
3pkgname=webviewer
4pkgver=0.4.1
5pkgrel=4
6pkgdesc="Minimal display of a website. Useful for web versions of messengers."
7arch=('any')
8url="https://github.com/LeAlex27/webviewer"
9license=('GPL3')
10depends=('pyside6' 'qt6-webengine')
11makedepends=('qt6-base' 'python-setuptools' 'python-build' 'wget' 'gendesk')
12source=("webviewer.sh"
13 "$pkgname-$pkgver.tar.gz::https://github.com/LeAlex27/$pkgname/archive/refs/tags/$pkgver.tar.gz")
14
15sha256sums=('f148d8c29d7b549f541d69b6335c92c9b3ee6a4788741339f22bf9356375e6a5'
16 'c4a0493e35a39f323d346974893cf280cc4cab440bf2ea04b6d7f4fbc05d6733')
17
18# uncomment to generate .desktop files
19_whatsapp_web=1
20_threema_web=1
21_android_messages=1
22
23prepare() {
24 if [ -n "$_whatsapp_web" ]; then
25 wget "https://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/WhatsApp.svg/766px-WhatsApp.svg.png"
26 gendesk --pkgname "whatsapp_web" --name "WhatsApp Web" --categories "Network;InstantMessaging" \
27 --exec "env QT_QUICK_CONTROLS_STYLE=Material QT_QUICK_CONTROLS_MATERIAL_THEME=Dark QT_QUICK_CONTROLS_MATERIAL_ACCENT=#00a884 QT_QUICK_CONTROLS_MATERIAL_BACKGROUND=#111b21 python -m webviewer --storage-name whatsapp_web --strip-user-agent https://web.whatsapp.com"
28 fi
29
30 if [ -n "$_threema_web" ]; then
31 wget "https://upload.wikimedia.org/wikipedia/commons/2/2e/Threema%27s_App_Icon.png"
32 gendesk --pkgname "threema_web" --name "Threema Web" --categories "Network;InstantMessaging" \
33 --exec "env QT_QUICK_CONTROLS_STYLE=Material QT_QUICK_CONTROLS_MATERIAL_THEME=Light QT_QUICK_CONTROLS_MATERIAL_ACCENT=#25b157 python -m webviewer --storage-name threema_web https://web.threema.ch"
34 fi
35
36 if [ -n "$_android_messages" ]; then
37 wget "https://upload.wikimedia.org/wikipedia/commons/thumb/0/05/Google_Messages_logo.svg/600px-Google_Messages_logo.svg.png"
38 gendesk --pkgname "android_messages" --name "Android Messages" --categories "Network;InstantMessaging" \
39 --exec "env QT_QUICK_CONTROLS_STYLE=Material QT_QUICK_CONTROLS_MATERIAL_THEME=Dark QT_QUICK_CONTROLS_MATERIAL_ACCENT=#8eb7f8 python -m webviewer --storage-name android_messages https://messages.google.com/web/authentication"
40 fi
41}
42
43build() {
44 cd "$srcdir/$pkgname-$pkgver"
45 /usr/lib/qt6/rcc -g python -o $pkgname/resources.py $pkgname/resources.qrc
46 python -m build .
47}
48
49package() {
50 cd $srcdir
51 install -Dm655 webviewer.sh $pkgdir/usr/bin/webviewer
52
53 # install shortcuts
54 if [ -n "$_whatsapp_web" ]; then
55 install -Dm644 766px-WhatsApp.svg.png $pkgdir/usr/share/pixmaps/whatsapp_web.png
56 install -Dm644 whatsapp_web.desktop $pkgdir/usr/share/applications/whatsapp_web.desktop
57 fi
58 if [ -n "$_threema_web" ]; then
59 install -Dm644 Threema\'s_App_Icon.png $pkgdir/usr/share/pixmaps/threema_web.png
60 install -Dm644 threema_web.desktop $pkgdir/usr/share/applications/threema_web.desktop
61 fi
62 if [ -n "$_android_messages" ]; then
63 install -Dm644 600px-Google_Messages_logo.svg.png $pkgdir/usr/share/pixmaps/android_messages.png
64 install -Dm644 android_messages.desktop $pkgdir/usr/share/applications/android_messages.desktop
65 fi
66
67 cd "$pkgname-$pkgver"
68 python setup.py install --root="$pkgdir" --optimize=1
69}
70

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 LOW 2
2026-08-02 00:16:08 LOW 2
2026-08-01 00:11:18 LOW 2
2026-07-31 00:14:10 LOW 2
2026-07-30 00:17:23 LOW 2
2026-07-29 00:25:53 LOW 2
2026-07-28 00:07:28 LOW 2
2026-07-27 00:24:32 LOW 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 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
2026-07-19 00:17:08 LOW 2
2026-07-18 00:14:48 LOW 2
2026-07-17 00:06:16 LOW 2
2026-07-16 00:05:41 LOW 2
2026-07-15 00:09:25 LOW 2

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion