cryptoplugin

maintainer vitoriacosta · 3 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The package downloads a prebuilt .run binary from biprocessing.org.ua, which is not PrivatBank's official domain (privatbank.ua). The binary contains a compiled native messaging host executable (nmcryptoplugin) and a shared library (libnpcryptoplugin.so) that are extracted and installed to /usr/bin and /usr/lib respectively — these are executed/loaded code paths. The b2sum checksum provides integrity verification against tampering in transit, but does not address the trust question of whether biprocessing.org.ua is an authorised distribution mirror for PrivatBank's software. The PKGBUILD itself is well-structured: it does NOT execute the .run installer directly (the chmod+x and execution lines are commented out), instead using sed+bsdtar to extract the payload, which is a safer approach. However, the core concern remains: a prebuilt binary and shared library from a third-party host that is not the software vendor's official domain constitutes a genuine supply-chain risk. If biprocessing.org.ua is a legitimate Ukrainian payment processing partner of PrivatBank this may be intentional, but it cannot be verified from the PKGBUILD alone. The medium rating is appropriate.

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:41 "https://biprocessing.org.ua/IdentDigitalSignature/resources/plugin/${_pkgsrc}.run"
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 .run binary from biprocessing.org.ua, which is not PrivatBank's official domain (privatbank.ua). The binary contains a compiled native messaging host executable (nmcryptoplugin) and a shared library (libnpcryptoplugin.so) that are extracted and installed to /usr/bin and /usr/lib respectively — these are executed/loaded code paths. The b2sum checksum provides integrity verification against tampering in transit, but does not address the trust question of whether biprocessing.org.ua is an authorised distribution mirror for PrivatBank's software. The PKGBUILD itself is well-structured: it does NOT execute the .run installer directly (the chmod+x and execution lines are commented out), instead using sed+bsdtar to extract the payload, which is a safer approach. However, the core concern remains: a prebuilt binary and shared library from a third-party host that is not the software vendor's official domain constitutes a genuine supply-chain risk. If biprocessing.org.ua is a legitimate Ukrainian payment processing partner of PrivatBank this may be intentional, but it cannot be verified from the PKGBUILD alone. The medium rating is appropriate.

PKGBUILD

1 offending line(s) highlighted
1# Contributor: Vitalii Kuzhdin <vitaliikuzhdin@gmail.com>
2# Contributor: Carey Minaieva <jedi2light@jedi2light.moe>
3
4declare -Ag _arch=(
5 ['i686']='linux_32'
6 ['x86_64']='linux_64'
7)
8
9pkgname="cryptoplugin"
10pkgver=1.2.3
11pkgrel=3
12pkgdesc="PrivatBank Crypto Plugin"
13arch=(
14 "${!_arch[@]}"
15)
16url="https://privatbank.ua"
17license=(
18 'custom:Limited Use Software License Agreement'
19)
20depends=(
21 'at-spi2-core'
22 'cairo'
23 'fontconfig'
24 'freetype2'
25 'gdk-pixbuf2'
26 'glib2'
27 'glibc'
28 'gtk2'
29 'libgcc'
30 'libstdc++'
31 'pango'
32 'pcsclite'
33)
34# provides=(
35# "libnp${pkgname}.so"
36# )
37_pkgsrc="${pkgname}-${pkgver}"
38source=(
39 # https://biprocessing.org.ua/IdentDigitalSignature/resources/plugin/${_pkgsrc}.deb
40 # https://biprocessing.org.ua/IdentDigitalSignature/resources/plugin/${_pkgsrc}.rpm
41 "https://biprocessing.org.ua/IdentDigitalSignature/resources/plugin/${_pkgsrc}.run"
42)
43b2sums=('cbb4a6582c0d0e8a659b27983d5b96be5540e752bcb4e4d8b8e5257fec36f3348516f20810f07a05270daff95d78a3dd4bec07f904ff887732cf6ac5cf0fcaed')
44
45prepare() {
46 cd "${srcdir}"
47 # chmod +x ./"${_pkgsrc}.run"
48 # ./"${_pkgsrc}.run"
49
50 mkdir -p "${_pkgsrc}"
51 sed '1,/EOFEOFEOFEOFEOFEOF/d' "${_pkgsrc}.run" | bsdtar xvzf - -C "${_pkgsrc}"
52
53 cd "${_pkgsrc}"
54 sed -i 's|PLUGIN_PATH|/usr/bin/nmcryptoplugin|' 'com.privatbank.cryptoplugin.json'
55
56 cd "mozilla"
57 sed -i 's|PLUGIN_PATH|/usr/bin/nmcryptoplugin|' 'com.privatbank.cryptoplugin.json'
58}
59
60package() {
61 cd "${srcdir}/${_pkgsrc}"
62 # https://chromium.googlesource.com/chromium/src.git/+/62.0.3178.1/chrome/common/extensions/docs/examples/api/nativeMessaging/host/install_host.sh
63 install -vDm644 "com.privatbank.cryptoplugin.json" -t "${pkgdir}/etc/chromium/native-messaging-hosts"
64 install -vDm644 "com.privatbank.cryptoplugin.json" -t "${pkgdir}/etc/opt/chrome/native-messaging-hosts"
65 install -vDm644 "com.privatbank.cryptoplugin.json" -t "${pkgdir}/etc/opt/edge/native-messaging-hosts"
66
67 cd "${srcdir}/${_pkgsrc}/mozilla"
68 # https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Native_manifests#linux
69 install -vDm644 "com.privatbank.cryptoplugin.json" -t "${pkgdir}/usr/lib/mozilla/native-messaging-hosts"
70 # ?
71 install -vDm644 "com.privatbank.cryptoplugin.json" -t "${pkgdir}/usr/lib/librewolf/native-messaging-hosts"
72
73 install -vDm644 "cryptoplugin_ext_id@privatbank.ua.xpi" -t "${pkgdir}/usr/lib/firefox/browser/extensions"
74 install -vDm644 "cryptoplugin_ext_id@privatbank.ua.xpi" -t "${pkgdir}/usr/lib/librewolf/browser/extensions"
75
76 cd "${srcdir}/${_pkgsrc}/${_arch[$CARCH]}"
77 install -vDm755 "nm${pkgname}" "${pkgdir}/usr/bin/nm${pkgname}"
78 install -vDm644 "libnp${pkgname}.so" "${pkgdir}/usr/lib/libnp${pkgname}.so.${pkgver}"
79
80 cd "${pkgdir}/usr/lib"
81 for lib in *.so.*; do
82 ln -vsf "${lib}" "${lib%.[0-9]*.[0-9]*.[0-9]*}"
83 ln -vsf "${lib}" "${lib%.[0-9]*.[0-9]*}"
84 done
85}
86

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