restream-chat
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:41
"https://chat-client.restream.io/${_pkgname}"
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The PKGBUILD downloads a prebuilt AppImage binary (an Electron/Chromium-based executable) directly from chat-client.restream.io, which is the official Restream.io subdomain for their chat client distribution. This is the vendor's own CDN/distribution host, not a personal or third-party mirror, so the risk is lower than a truly unofficial host. However, it is still a prebuilt binary blob (not built from source), and there is no GPG signature verification — only a sha512sum. The sha512sum does pin the exact binary, which mitigates silent substitution as long as the checksum itself is trustworthy. The binary is extracted and installed as an executable. This is a standard pattern for AppImage-based AUR packages (similar to many other commercial app packages in AUR like Slack, Discord, etc.). The concern is real but typical for this class of package: if the vendor's host is compromised and the PKGBUILD's checksum is not updated, users would be protected; but if the PKGBUILD itself is updated with a new checksum pointing to a malicious binary, there is no independent verification. This is a genuine but routine supply-chain concern for prebuilt binary packages, not an active attack. Rating remains medium.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Trustin Lee <t@motd.kr>
# Former Maintainer: Arnaud Dovi <mr.dovi@gmail.com>
pkgname=restream-chat
pkgver=2.5.4
pkgrel=2
pkgdesc='Keep your streaming chats in one place by Restream.io'
arch=('x86_64')
url='https://restream.io/chat'
license=()
provides=(
'restream-chat'
)
conflicts=(
'restream-chat'
)
depends=(
# [FIXME?] libffpmeg.so is not an official library, is it necessary to bring it to AUR ? (currently only lib32-libffpmeg exists in the AUR...)
'alsa-lib'
'avahi'
'gmp'
'gnutls'
'gtk3'
'krb5'
'libglvnd'
'libnotify'
'libxau'
'libxdmcp'
'libxss'
'nss'
)
optdepends=(
'libappindicator-gtk2' # libappindicator is shipped in the original AppImage but I'm unsure if it is necessary.
)
makedepends=(
'coreutils'
)
_srcname="squashfs-root"
_pkgname="Restream+Chat-${pkgver}-beta.AppImage"
source=(
"https://chat-client.restream.io/${_pkgname}"
)
sha512sums=(
'0bab803e1904c38758816f28e4cf1146a6dd9b4344f972cf88aa537d5ca3b7d9e90e8349804b5c3d411d23c88e82c7b376eb926be163ebb0cbb8fa367b6bd594'
)
_stop='\e[m'
_color="\e[33m"
_bold='\e[1m'
_prefix=" ${_bold}${_color}==>${_stop} "
prepare() {
#cd "$_srcname" || return
echo -e "${_prefix}Extracting the official AppImage file"
chmod +x "$_pkgname"
./"$_pkgname" --appimage-extract
}
package() {
cd "$_srcname" || return
echo -e "${_prefix}Creating the package base"
install -d "$pkgdir"/{opt/"${pkgname}",usr/bin,usr/share/pixmaps}
install -d "$pkgdir/opt/${pkgname}"/{locales,resources}
echo -e "${_prefix}Copying the package files"
install -Dm 644 locales/* -t "$pkgdir"/opt/"${pkgname}"/locales
cp -r resources/* -t "$pkgdir"/opt/"${pkgname}"/resources
install -Dm 644 icudtl.dat -t "$pkgdir"/opt/"${pkgname}"
install -Dm 644 snapshot_blob.bin -t "$pkgdir"/opt/"${pkgname}"
install -Dm 644 v8_context_snapshot.bin -t "$pkgdir"/opt/"${pkgname}"
install -Dm 644 natives_blob.bin -t "$pkgdir"/opt/"${pkgname}"
install -Dm 644 chrome_100_percent.pak -t "$pkgdir"/opt/"${pkgname}"
install -Dm 644 chrome_200_percent.pak -t "$pkgdir"/opt/"${pkgname}"
install -Dm 644 resources.pak -t "$pkgdir"/opt/"${pkgname}"
# [FIXME?] libffpmeg.so is not an official library, is it necessary to bring it to AUR ? (currently only lib32-libffpmeg exists in the AUR...)
install -Dm 644 libffmpeg.so -t "$pkgdir"/opt/"${pkgname}"
echo -e "${_prefix}Copying the package binaries"
install -Dm 755 chrome-sandbox -t "$pkgdir"/opt/"${pkgname}"
install -Dm 755 restream-chat -t "$pkgdir"/opt/"${pkgname}"
echo -e "${_prefix}Setting up /usr/bin launcher"
ln -s /opt/"${pkgname}"/restream-chat "$pkgdir"/usr/bin/restream-chat
echo -e "${_prefix}Setting up desktop icon"
cp restream-chat.png "$pkgdir"/usr/share/pixmaps/restream-chat.png
echo -e "${_prefix}Setting up desktop shortcuts"
sed -e "s|Exec=AppRun|Exec=restream-chat --no-sandbox|" -i restream-chat.desktop
install -Dm 644 restream-chat.desktop -t "$pkgdir"/usr/share/applications
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | MEDIUM | 2 |
| 2026-08-02 00:16:08 | MEDIUM | 2 |
| 2026-08-01 00:11:18 | MEDIUM | 2 |
| 2026-07-31 00:14:10 | MEDIUM | 2 |
| 2026-07-30 00:17:23 | MEDIUM | 2 |
| 2026-07-29 00:25:53 | MEDIUM | 2 |
| 2026-07-28 00:07:28 | MEDIUM | 2 |
| 2026-07-27 00:24:32 | MEDIUM | 2 |
| 2026-07-26 00:07:32 | MEDIUM | 2 |
| 2026-07-25 00:13:44 | MEDIUM | 2 |
| 2026-07-24 00:02:28 | MEDIUM | 2 |
| 2026-07-23 00:14:47 | MEDIUM | 2 |
| 2026-07-22 00:29:32 | MEDIUM | 2 |
| 2026-07-21 00:24:15 | MEDIUM | 2 |
| 2026-07-20 00:19:49 | MEDIUM | 2 |
| 2026-07-19 00:17:08 | MEDIUM | 2 |
| 2026-07-18 00:14:48 | MEDIUM | 2 |
| 2026-07-17 00:06:16 | MEDIUM | 2 |
| 2026-07-16 00:05:41 | MEDIUM | 2 |
| 2026-07-15 00:09:25 | MEDIUM | 2 |