tetrio-plus-bin
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
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"
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# Maintainer: Yuannan Lin <yuannan.pm.me>
# Report on Gitlab (https://gitlab.com/yuannan/tetrio-plus) or AUR
# Contributor: Denton Liu <liu.denton@gmail.com>
pkgname=tetrio-plus-bin
pkgver=10.0.0
pkgrel=4
pkgdesc='TETR.IO Plus desktop client'
arch=('x86_64')
license=('custom')
url='https://tetr.io/'
depends=('libxss' 'unzip')
conflicts=('tetrio-desktop')
source=("TETR.IO.deb::https://tetr.io/about/desktop/builds/${pkgver%.*.*}/TETR.IO%20Setup.deb"
"tetrio-plus.asar.zip::https://gitlab.com/UniQMG/tetrio-plus/-/jobs/13795436076/artifacts/raw/tetrio-plus_v0.28.0_for_desktop_v10.asar.zip"
LICENSE) # https://tetr.io/about/terms/
sha256sums=('e3635a6f8d479bbf8dc56fdee7a65b2cf652e9633ef6e1acfc6c6f7055b4abdf'
'f367db29ab3fbc48a79fbe325935cb9d4df19b2efb03b55717cc849625e9be6a'
'5e721783706e2018878ca127ec6ed5d6a1298ee9cc6a853329e25fafe45265f9')
package() {
cd "$srcdir"
# extracting Debian package data tar
tar -xf data.tar.xz -C "$pkgdir"
# subsitution of plus app.asar
rm -rf "$pkgdir/opt/TETR.IO/resources/app.asar"
# insertion of app.asar
unzip tetrio-plus.asar.zip -d "$pkgdir/opt/TETR.IO/resources"
# inserting executable into
mkdir -p "$pkgdir/usr/bin"
ln -sf "/opt/TETR.IO/TETR.IO" "$pkgdir/usr/bin/$pkgname"
install -Dm 644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
chmod -R go-w "$pkgdir"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 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 |