gosplugin

maintainer komex · 2 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The package downloads a prebuilt binary package (a .deb wrapped in a .zip) from gu-st.ru, which is the official Russian government services (Gosuslugi) content delivery host used for distributing the Gosplugin browser crypto plugin. This is not a random personal host — gu-st.ru is the CDN/static host for gosuslugi.ru (the Russian e-government portal referenced in the url= field). However, the concern is still real: (1) the source is a prebuilt binary blob containing numerous proprietary shared libraries (libcrypto_core.so, libwincrypt.so, libplugin_ssl.so, etc.) that are installed and executed directly without source verification beyond a single sha256sum on the outer zip; (2) the extraction chain is complex — zip → shell-script payload → deb → data.tar.xz — meaning the sha256sum only covers the outermost archive, not the inner deb or its contents; (3) the libraries include cryptographic components (libcrypto_core.so, libcryptoki.so) that handle sensitive operations. While gu-st.ru appears to be the legitimate official distribution host for this plugin (not a personal or unofficial mirror), the pattern of installing opaque prebuilt crypto libraries from any host — even an official one — without per-binary verification constitutes a genuine supply-chain risk. The cheaper model's concern is directionally correct even if the host characterization was slightly off. Rating remains MEDIUM.

Triggered rules

MEDIUM source=() URL on a non-standard host 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:55 "${pkgname}-${pkgver}-${pkgrel}.deb.zip::https://gu-st.ru/content/Gosplugin/Gosplugin_Linux-Debian_Installer.deb.zip"
MEDIUM AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): The package downloads a prebuilt binary package (a .deb wrapped in a .zip) from gu-st.ru, which is the official Russian government services (Gosuslugi) content delivery host used for distributing the Gosplugin browser crypto plugin. This is not a random personal host — gu-st.ru is the CDN/static host for gosuslugi.ru (the Russian e-government portal referenced in the url= field). However, the concern is still real: (1) the source is a prebuilt binary blob containing numerous proprietary shared libraries (libcrypto_core.so, libwincrypt.so, libplugin_ssl.so, etc.) that are installed and executed directly without source verification beyond a single sha256sum on the outer zip; (2) the extraction chain is complex — zip → shell-script payload → deb → data.tar.xz — meaning the sha256sum only covers the outermost archive, not the inner deb or its contents; (3) the libraries include cryptographic components (libcrypto_core.so, libcryptoki.so) that handle sensitive operations. While gu-st.ru appears to be the legitimate official distribution host for this plugin (not a personal or unofficial mirror), the pattern of installing opaque prebuilt crypto libraries from any host — even an official one — without per-binary verification constitutes a genuine supply-chain risk. The cheaper model's concern is directionally correct even if the host characterization was slightly off. Rating remains MEDIUM.

PKGBUILD

1 offending line(s) highlighted
1# Contributor: Andrey Kolchenko <andrey@kolchenko.me>
2
3pkgname=gosplugin
4pkgver=1.3.42.0
5pkgrel=1
6pkgdesc='Crypto Interface Web Browser Plugin for https://gosuslugi.ru/'
7arch=('x86_64')
8url="https://www.gosuslugi.ru/help/faq/esignature/3842"
9license=('unknown')
10depends=(
11 'brotli'
12 'bzip2'
13 'curl'
14 'double-conversion'
15 'duktape'
16 'e2fsprogs'
17 'freetype2'
18 'gcc-libs'
19 'glib2'
20 'glibc'
21 'graphite'
22 'harfbuzz'
23 'icu'
24 'keyutils'
25 'krb5'
26 'libcap'
27 'libffi'
28 'libglvnd'
29 'libidn2'
30 'libnghttp2'
31 'libnghttp3'
32 'libpng'
33 'libproxy'
34 'libpsl'
35 'libssh2'
36 'libunistring'
37 'libx11'
38 'libxau'
39 'libxcb'
40 'libxdmcp'
41 'md4c'
42 'openssl'
43 'pcre2'
44 'qt5-base'
45 'systemd-libs'
46 'util-linux-libs'
47 'zlib'
48 'zstd'
49 'rutoken-connect'
50)
51optdepends=('rutoken-connect' 'jacartauc')
52makedepends=('grep' 'libarchive')
53
54source=(
55 "${pkgname}-${pkgver}-${pkgrel}.deb.zip::https://gu-st.ru/content/Gosplugin/Gosplugin_Linux-Debian_Installer.deb.zip"
56 'gosuslugi_plugin.sh'
57)
58sha256sums=('332b321e069c34eda5c22ded50696d5bd58df077408262c74fbe9894e7611ef8'
59 'b2a148903b0fc84a60a8e1423b01c865491401a2b65d6b16dbe8442b15705dda')
60
61_script='Gosplugin_Linux-Debian_Installer.deb.sh'
62
63prepare() {
64 payload_offset=$(grep --text --line-number '^PAYLOAD:$' "${srcdir}/${_script}" | cut -d: -f1)
65 tail -n +$((payload_offset + 1)) "${_script}" | bsdtar -xC "${srcdir}"
66 filename=$(ls "${srcdir}"/gosuslugi-plugin_*.deb)
67 bsdtar -xf "${filename}"
68 bsdtar -xf "${srcdir}/data.tar.xz"
69}
70
71pkgver() {
72 filename=$(ls "${srcdir}"/gosuslugi-plugin_*.deb)
73 # Убираем префикс до первой подчеркивания
74 temp=${filename#*_}
75 # Убираем суффикс после дефиса
76 version=${temp%-*}
77 echo "$version"
78}
79
80package() {
81 rm -rf "${srcdir}/usr/lib"
82 rm -rf "${srcdir}/usr/share"
83 mv "${srcdir}/usr/lib64" "${srcdir}/usr/lib"
84
85 # Эти зависимости оставляем из пакета, остальные не копируем, а используем системные.
86 libs=(
87 'libboost_program_options.so.1.83.0'
88 'libboost_date_time.so.1.83.0'
89 'libwincrypt.so'
90 'libui.so'
91 'libcrypto_core.so'
92 'libxml_dsign.so'
93 'libboost_regex.so.1.83.0'
94 'libxml-security-c.so.20'
95 'libxml_soap.so'
96 'libcryptoki.so'
97 'libplugin_ssl.so'
98 'libsession.so'
99 'libasn.so'
100 'libxml_document.so'
101 'libshared.so'
102 'libboost_serialization.so.1.83.0'
103 'libboost_filesystem.so.1.83.0'
104 'libboost_thread.so.1.83.0'
105 'libboost_locale.so.1.83.0'
106 'libboost_log.so.1.83.0'
107 'libboost_log_setup.so.1.83.0'
108 'libxerces-c-3.2.so'
109 'libxalan-c.so.112'
110 'libboost_atomic.so.1.83.0'
111 'libboost_chrono.so.1.83.0'
112 'libxalanMsg.so.112'
113 )
114 for file in "${libs[@]}"; do
115 install -D "${srcdir}/opt/iitrust/gosuslugi_plugin/lib/${file}" "${pkgdir}/opt/iitrust/gosuslugi_plugin/lib/${file}"
116 done
117 rm -rf "${srcdir}/opt/iitrust/gosuslugi_plugin/lib"
118
119 unused=(
120 'tokens'
121 'xdg-open.sh'
122 'librutoken.so'
123 )
124 for file in "${unused[@]}"; do
125 rm -rf "${srcdir}/opt/iitrust/gosuslugi_plugin/bin/${file}"
126 done
127
128 cp -a "${srcdir}/usr" "${pkgdir}"
129 cp -a "${srcdir}/etc" "${pkgdir}"
130 cp -a "${srcdir}/opt" "${pkgdir}"
131
132 install -D 'gosuslugi_plugin.sh' "${pkgdir}/opt/iitrust/gosuslugi_plugin/bin/gosuslugi_plugin.sh"
133}
134

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion