sovet
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-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 |