tetrio-desktop-electron

LOW
maintainer Fijxu 2 votes scanned 2026-09-17 00:27:14.276658
View on AUR
Why flagged

The package downloads a .deb from the official project domain (tetr.io) to extract assets, which is a legitimate use of a non-whitelisted host; the source is verifiable via checksum and the content is repackaged for Arch, not executing untrusted remote code.

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 a .deb from the official project domain (tetr.io) to extract assets, which is a legitimate use of a non-whitelisted host; the source is verifiable via checksum and the content is repackaged for Arch, not executing untrusted remote code.

1 higher static finding superseded - not the current verdict (shown for transparency)
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:20 "$_pkgname::https://tetr.io/about/desktop/builds/10/TETR.IO%20Setup.deb"

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Fijxu <fijxu <at> zzls <dot> xyz>
2
3# Thanks to the tetrio-desktop and discord_arch_electron packages!!!
4
5_pkgname=tetrio-desktop
6_electron=electron
7pkgname=tetrio-desktop-electron
8pkgver=10.0.0
9pkgrel=1
10pkgdesc='TETR.IO desktop client, using the system Electron package'
11arch=('x86_64')
12provides=("${_pkgname}")
13conflicts=("${_pkgname}")
14license=('custom')
15url='https://tetr.io/'
16depends=('libxss' 'electron')
17makedepends=('asar')
18# We use the .deb one because it provides .desktop and icon files, it is more easy to deal with it. ;)
19source=(
20 "$_pkgname::https://tetr.io/about/desktop/builds/10/TETR.IO%20Setup.deb"
21 "tetrio-launcher.sh"
22 "tetrio-desktop.desktop"
23 "tetrio-desktop-vsync.desktop"
24 "LICENSE"
25 ) # https://tetr.io/about/terms/
26sha256sums=(
27 'e3635a6f8d479bbf8dc56fdee7a65b2cf652e9633ef6e1acfc6c6f7055b4abdf'
28 'e36fa282854c1fe3f6ee12a4e53c0a5b410a9cd5289e6f6250b7fcdd3c63cc2b'
29 '86bef551ba0a8f868659488edb1e7768bf844264d29fe84615525b759c8f1238'
30 '9e4bb8545a2b0d2f6d552933c3de905a9b12b398582b6987e4589e2a088b640b'
31 '7551ee514200d99a7ff1728ecbc48f290e2e2123b60bfdfb655e1fa61da92290'
32 )
33
34prepare() {
35 sed -i "s|@PKGNAME@|${_pkgname}|;s|@ELECTRON@|${_electron}|" tetrio-launcher.sh
36
37 tar -xf data.tar.xz
38 sed -i "s|Exec=.*|Exec=/usr/bin/$_pkgname --disable-frame-rate-limit --disable-gpu-vsync|" $srcdir/tetrio-desktop.desktop
39 sed -i "s|Exec=.*|Exec=/usr/bin/$_pkgname|" $srcdir/tetrio-desktop-vsync.desktop
40 asar e opt/TETR.IO/resources/app.asar opt/TETR.IO/resources/app
41 rm opt/TETR.IO/resources/app.asar
42 # Disable --no-sandbox. It causes TETR.IO to crash.
43 sed -i "s|app.commandLine.appendSwitch('--no-sandbox');|// app.commandLine.appendSwitch('--no-sandbox');|" opt/TETR.IO/resources/app/main.js
44 sed -i "s|app.commandLine.appendSwitch('--disable-frame-rate-limit');|// app.commandLine.appendSwitch('--disable-frame-rate-limit');|" opt/TETR.IO/resources/app/main.js
45 sed -i "s|app.commandLine.appendSwitch('--disable-gpu-vsync');|// app.commandLine.appendSwitch('--disable-gpu-vsync');|" opt/TETR.IO/resources/app/main.js
46 # Pack Tetrio .asar
47 asar p opt/TETR.IO/resources/app opt/TETR.IO/resources/app.asar --unpack-dir '**'
48 rm -rf opt/TETR.IO/resources/app
49}
50
51package() {
52 install -d "$pkgdir"/usr/lib/$_pkgname
53
54 cp -r $srcdir/opt/TETR.IO/resources/* "$pkgdir"/usr/lib/$_pkgname/
55 install -d "$pkgdir"/usr/{bin,share/{icons,applications}}
56 install -Dm 755 "${srcdir}/tetrio-launcher.sh" "${pkgdir}/usr/bin/${_pkgname}"
57
58 cp -r $srcdir/usr/share/icons/hicolor "$pkgdir"/usr/share/icons/
59 install -D -m644 "${srcdir}/tetrio-desktop.desktop" "${pkgdir}/usr/share/applications/tetrio-desktop.desktop"
60 install -D -m644 "${srcdir}/tetrio-desktop-vsync.desktop" "${pkgdir}/usr/share/applications/tetrio-desktop-vsync.desktop"
61
62 install -Dm 644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
63 chmod -R go-w "$pkgdir"
64}
65

Scan history

Scanned at (UTC)SeverityRules
2026-09-17 00:27:14 Low 2
2026-09-16 00:03:17 Low 2
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 00:11:19 Low 2
2026-08-31 00:19:57 Low 2
2026-08-30 00:04:14 Low 2
2026-08-29 00:29:17 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