tetrio-plus-bin

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

The PKGBUILD downloads a prebuilt .asar file from a specific GitLab CI job artifact URL (job ID 13795436076). While the source is pinned to a specific job artifact and has a sha256sum, CI job artifacts on GitLab can be deleted and re-uploaded or the artifact URL can point to different content if the job is re-run. More importantly, this .asar file replaces the official TETR.IO app.asar in the installed Electron application — meaning it is executed code from a third-party (UniQMG's tetrio-plus project, not the official TETR.IO vendor). The sha256sum does provide integrity verification at download time, which mitigates silent substitution risk somewhat. However, the core concern remains: an unofficial, prebuilt Electron application bundle (asar) from a personal GitLab project is being substituted for the official application code and will be executed by the Electron runtime. This is a genuine supply-chain concern — if the artifact were ever replaced or the checksum removed/changed in a future pkgrel, users would run arbitrary third-party code. The sha256sum pinning keeps this at medium rather than high, but the pattern of replacing official app code with a prebuilt third-party artifact is a real supply-chain 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:14 source=("TETR.IO.deb::https://tetr.io/about/desktop/builds/${pkgver%.*.*}/TETR.IO%20Setup.deb"
Medium AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 82%): The PKGBUILD downloads a prebuilt .asar file from a specific GitLab CI job artifact URL (job ID 13795436076). While the source is pinned to a specific job artifact and has a sha256sum, CI job artifacts on GitLab can be deleted and re-uploaded or the artifact URL can point to different content if the job is re-run. More importantly, this .asar file replaces the official TETR.IO app.asar in the installed Electron application — meaning it is executed code from a third-party (UniQMG's tetrio-plus project, not the official TETR.IO vendor). The sha256sum does provide integrity verification at download time, which mitigates silent substitution risk somewhat. However, the core concern remains: an unofficial, prebuilt Electron application bundle (asar) from a personal GitLab project is being substituted for the official application code and will be executed by the Electron runtime. This is a genuine supply-chain concern — if the artifact were ever replaced or the checksum removed/changed in a future pkgrel, users would run arbitrary third-party code. The sha256sum pinning keeps this at medium rather than high, but the pattern of replacing official app code with a prebuilt third-party artifact is a real supply-chain risk.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Yuannan Lin <yuannan.pm.me>
2# Report on Gitlab (https://gitlab.com/yuannan/tetrio-plus) or AUR
3# Contributor: Denton Liu <liu.denton@gmail.com>
4
5pkgname=tetrio-plus-bin
6pkgver=10.0.0
7pkgrel=4
8pkgdesc='TETR.IO Plus desktop client'
9arch=('x86_64')
10license=('custom')
11url='https://tetr.io/'
12depends=('libxss' 'unzip')
13conflicts=('tetrio-desktop')
14source=("TETR.IO.deb::https://tetr.io/about/desktop/builds/${pkgver%.*.*}/TETR.IO%20Setup.deb"
15 "tetrio-plus.asar.zip::https://gitlab.com/UniQMG/tetrio-plus/-/jobs/13795436076/artifacts/raw/tetrio-plus_v0.28.0_for_desktop_v10.asar.zip"
16 LICENSE) # https://tetr.io/about/terms/
17sha256sums=('e3635a6f8d479bbf8dc56fdee7a65b2cf652e9633ef6e1acfc6c6f7055b4abdf'
18 'f367db29ab3fbc48a79fbe325935cb9d4df19b2efb03b55717cc849625e9be6a'
19 '5e721783706e2018878ca127ec6ed5d6a1298ee9cc6a853329e25fafe45265f9')
20
21package() {
22 cd "$srcdir"
23
24 # extracting Debian package data tar
25 tar -xf data.tar.xz -C "$pkgdir"
26
27 # subsitution of plus app.asar
28 rm -rf "$pkgdir/opt/TETR.IO/resources/app.asar"
29 # insertion of app.asar
30 unzip tetrio-plus.asar.zip -d "$pkgdir/opt/TETR.IO/resources"
31
32 # inserting executable into
33 mkdir -p "$pkgdir/usr/bin"
34 ln -sf "/opt/TETR.IO/TETR.IO" "$pkgdir/usr/bin/$pkgname"
35
36 install -Dm 644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
37 chmod -R go-w "$pkgdir"
38}
39

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 00:25:17 Medium 2
2026-09-11 00:19:22 Medium 2
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 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
2026-08-31 00:19:57 Medium 2
2026-08-30 00:04:14 Medium 2
2026-08-29 00:29:17 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