ayugram-desktop-bin
The package downloads a prebuilt binary from a non-standard, third-party CDN (cdn77.cachyos.org), which is not the project's official release infrastructure, creating a supply-chain risk if the host were compromised or the source silently swapped.
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:31
source=("https://cdn77.cachyos.org/repo/${CARCH}/cachyos/ayugram-desktop-${pkgver}-${pkgrel}-${CARCH}.pkg.tar.zst")
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is MEDIUM (confidence 95%): The package downloads a prebuilt binary from a non-standard, third-party CDN (cdn77.cachyos.org), which is not the project's official release infrastructure, creating a supply-chain risk if the host were compromised or the source silently swapped.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Maxim Balashov <me@rsg.su>
pkgname=ayugram-desktop-bin
pkgver=7.0.9
pkgrel=3
pkgdesc="Desktop Telegram client with good customization and Ghost mode"
arch=(x86_64)
url="https://github.com/AyuGram/AyuGramDesktop"
license=('GPL-3.0-or-later')
depends=(
'abseil-cpp' 'ada' 'ffmpeg' 'glib2' 'glibc' 'hicolor-icon-theme'
'hunspell' 'kcoreaddons' 'libavif' 'libdispatch' 'libgcc' 'libheif'
'libjpeg-turbo' 'libjxl' 'libstdc++' 'libvpx' 'libx11' 'libxcb'
'libxcomposite' 'libxdamage' 'libxext' 'libxfixes' 'libxkbcommon'
'libxrandr' 'libxtst' 'lz4' 'minizip' 'openal' 'openh264' 'openssl'
'opus' 'libpipewire' 'protobuf' 'qt6-base' 'qt6-declarative'
'qt6-svg' 'qt6-wayland' 'rnnoise'
'xcb-util-keysyms' 'xxhash' 'zlib' 'libfido2' 'qt6-imageformats'
)
optdepends=(
'geoclue: geoinformation support'
'geocode-glib-2: geocoding support'
'webkit2gtk-4.1: embedded browser features provided by webkit2gtk-4.1'
'webkitgtk-6.0: embedded browser features provided by webkitgtk-6.0 (Wayland only)'
'xdg-desktop-portal: desktop integration'
)
provides=('ayugram-desktop')
conflicts=('ayugram-desktop')
options=('!debug')
source=("https://cdn77.cachyos.org/repo/${CARCH}/cachyos/ayugram-desktop-${pkgver}-${pkgrel}-${CARCH}.pkg.tar.zst")
sha256sums=('8b0d0c517196327aae7ea7ebf97c4fcb92606ad946da1a05911970d9fa784967')
package() {
# Binary
install -Dm755 "$srcdir/usr/bin/AyuGram" "$pkgdir/usr/bin/AyuGram"
# Desktop entry
install -Dm644 "$srcdir/usr/share/applications/com.ayugram.desktop.desktop" \
"$pkgdir/usr/share/applications/com.ayugram.desktop.desktop"
# DBus service
install -Dm644 "$srcdir/usr/share/dbus-1/services/com.ayugram.desktop.service" \
"$pkgdir/usr/share/dbus-1/services/com.ayugram.desktop.service"
# Metainfo
install -Dm644 "$srcdir/usr/share/metainfo/com.ayugram.desktop.metainfo.xml" \
"$pkgdir/usr/share/metainfo/com.ayugram.desktop.metainfo.xml"
# Standard icons
local icon_size
for icon_size in 16 32 48 64 128 256 512; do
install -Dm644 "$srcdir/usr/share/icons/hicolor/${icon_size}x${icon_size}/apps/com.ayugram.desktop.png" \
"$pkgdir/usr/share/icons/hicolor/${icon_size}x${icon_size}/apps/com.ayugram.desktop.png"
done
# HiDPI (@2x) icons
for icon_size in 16 32 48 64 128 256 512; do
install -Dm644 "$srcdir/usr/share/icons/hicolor/${icon_size}x${icon_size}@2/apps/com.ayugram.desktop.png" \
"$pkgdir/usr/share/icons/hicolor/${icon_size}x${icon_size}@2/apps/com.ayugram.desktop.png"
done
# Symbolic icons
local sym_icon
for sym_icon in com.ayugram.desktop-attention-symbolic.svg \
com.ayugram.desktop-mute-symbolic.svg \
com.ayugram.desktop-symbolic.svg; do
install -Dm644 "$srcdir/usr/share/icons/hicolor/symbolic/apps/${sym_icon}" \
"$pkgdir/usr/share/icons/hicolor/symbolic/apps/${sym_icon}"
done
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-01 00:21:48 | Medium | 2 |
| 2026-10-31 00:07:41 | Medium | 2 |
| 2026-10-30 00:29:30 | Medium | 2 |
| 2026-10-29 00:13:55 | Medium | 2 |
| 2026-10-28 00:06:54 | Medium | 2 |
| 2026-10-27 00:23:28 | Medium | 2 |
| 2026-10-26 00:12:40 | Medium | 2 |
| 2026-10-25 00:20:48 | Medium | 2 |
| 2026-10-24 00:14:55 | Medium | 2 |
| 2026-10-23 00:02:19 | Medium | 2 |
| 2026-10-22 00:13:10 | Medium | 2 |
| 2026-10-21 00:12:50 | Medium | 2 |
| 2026-10-20 00:10:31 | Medium | 2 |
| 2026-10-19 00:03:55 | Medium | 2 |
| 2026-10-18 00:06:55 | Medium | 2 |
| 2026-10-17 00:21:55 | Medium | 2 |
| 2026-10-16 00:12:47 | Medium | 2 |
| 2026-10-15 00:28:05 | Medium | 2 |
| 2026-10-14 00:06:47 | Medium | 2 |
| 2026-10-13 00:23:45 | Medium | 2 |