sovet
The PKGBUILD downloads and executes a prebuilt AppImage binary from updates.sovetchat.ru, which is the vendor's own update/distribution server for a Russian corporate chat platform. The AppImage is extracted during prepare() (running the binary with --appimage-extract) and then installed. The sha256sum is pinned, which mitigates casual substitution, but the host is a non-GitHub, non-standard distribution endpoint for a relatively obscure Russian SaaS product with no independent verification chain. The core concern is: this is an opaque, prebuilt executable from a single vendor-controlled server with no reproducible build, no code signing verification beyond a single sha256 in the PKGBUILD itself. If the upstream host is compromised or the maintainer updates the hash to match a malicious binary, users get arbitrary code execution. This is a textbook medium-severity supply-chain concern — not clearly malicious, but a real risk pattern for an executed binary from an unofficial/personal-project host.
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:11
source_x86_64=("Soviet_${pkgver}_amd64.AppImage::https://updates.sovetchat.ru/downloads/Soviet_${pkgver}_amd64.AppImage")
llm_review
An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The PKGBUILD downloads and executes a prebuilt AppImage binary from updates.sovetchat.ru, which is the vendor's own update/distribution server for a Russian corporate chat platform. The AppImage is extracted during prepare() (running the binary with --appimage-extract) and then installed. The sha256sum is pinned, which mitigates casual substitution, but the host is a non-GitHub, non-standard distribution endpoint for a relatively obscure Russian SaaS product with no independent verification chain. The core concern is: this is an opaque, prebuilt executable from a single vendor-controlled server with no reproducible build, no code signing verification beyond a single sha256 in the PKGBUILD itself. If the upstream host is compromised or the maintainer updates the hash to match a malicious binary, users get arbitrary code execution. This is a textbook medium-severity supply-chain concern — not clearly malicious, but a real risk pattern for an executed binary from an unofficial/personal-project host.
PKGBUILD
1 offending line(s) highlighted# Maintainer: LurkHub <LurkHub@yandex.ru>
pkgname=sovet
pkgver=2.24.0
pkgrel=1
pkgdesc="Корпоративная платформа для совместной работы: чат, видеоконференции, задачи, файлы. Аналог Microsoft Teams. Сервер в России."
arch=('x86_64')
url="https://sovetchat.ru"
license=('custom')
depends=('fuse2')
options=('!strip')
source_x86_64=("Soviet_${pkgver}_amd64.AppImage::https://updates.sovetchat.ru/downloads/Soviet_${pkgver}_amd64.AppImage")
sha256sums_x86_64=('a8bba8928b18ccb3e49ae2bc147b92360c3343f90eb5f3dc0c2015ec388e4956')
prepare() {
chmod +x "Soviet_${pkgver}_amd64.AppImage"
./"Soviet_${pkgver}_amd64.AppImage" --appimage-extract >/dev/null 2>&1
}
package() {
install -dm777 "${pkgdir}/opt/sovet"
install -Dm755 "Soviet_${pkgver}_amd64.AppImage" "${pkgdir}/opt/sovet/sovet.AppImage"
chmod 777 "${pkgdir}/opt/sovet/sovet.AppImage"
# Иконка — в pixmaps и в hicolor (для KDE/GNOME)
install -Dm644 squashfs-root/sovietmsg.png \
"${pkgdir}/usr/share/pixmaps/sovet.png"
install -Dm644 squashfs-root/sovietmsg.png \
"${pkgdir}/usr/share/icons/hicolor/128x128/apps/sovet.png"
# Ярлык в меню
install -Dm644 /dev/stdin "${pkgdir}/usr/share/applications/sovet.desktop" << EOF
[Desktop Entry]
Name=Совет
Comment=Корпоративная платформа: чат, видеоконференции, задачи
Exec=/opt/sovet/sovet.AppImage
Icon=sovet
Type=Application
Categories=Network;Chat;
StartupNotify=true
StartupWMClass=sovietmsg
EOF
# Обёртка в PATH
install -Dm755 /dev/stdin "${pkgdir}/usr/bin/sovet" << 'EOF'
#!/bin/bash
exec /opt/sovet/sovet.AppImage "$@"
EOF
}
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 |