eusoft-eshelper-bin

maintainer zxp19821005 · 0 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The package downloads a prebuilt .deb binary from eudic.net (the official vendor for Eudic dictionary apps, a well-known Chinese software company) and installs it. While eudic.net is the legitimate upstream vendor for this software, the source is still a prebuilt binary blob from a non-open-source proprietary application. The sha256sums are pinned, which mitigates substitution attacks at build time, but the URL uses a version-substituted query parameter (?v=${pkgver//./-}) which could theoretically serve different content for the same checksum if the server is compromised or the file changes. The core concern is that this is a closed-source prebuilt binary being installed system-wide — if the upstream vendor's server is compromised or the binary contains malicious code, there is no way to audit it. This is a genuine medium-severity supply-chain concern: executed proprietary binary from a vendor host with no source code available, though the sha256 pinning does provide some integrity guarantee. Not high because there is no evidence of actual malice, obfuscation, or unofficial/personal hosting — eudic.net is the legitimate vendor.

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:50 "${pkgname%-bin}-${pkgver}.deb::https://www.eudic.net/download/${_pkgname}.deb?v=${pkgver//./-}"
  • PKGBUILD:51 "LICENSE.html::https://dict.eudic.net/home/privacy"
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 .deb binary from eudic.net (the official vendor for Eudic dictionary apps, a well-known Chinese software company) and installs it. While eudic.net is the legitimate upstream vendor for this software, the source is still a prebuilt binary blob from a non-open-source proprietary application. The sha256sums are pinned, which mitigates substitution attacks at build time, but the URL uses a version-substituted query parameter (?v=${pkgver//./-}) which could theoretically serve different content for the same checksum if the server is compromised or the file changes. The core concern is that this is a closed-source prebuilt binary being installed system-wide — if the upstream vendor's server is compromised or the binary contains malicious code, there is no way to audit it. This is a genuine medium-severity supply-chain concern: executed proprietary binary from a vendor host with no source code available, though the sha256 pinning does provide some integrity guarantee. Not high because there is no evidence of actual malice, obfuscation, or unofficial/personal hosting — eudic.net is the legitimate vendor.

PKGBUILD

2 offending line(s) highlighted
1# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
2_pkgname=eshelper
3pkgname="eusoft-${_pkgname}-bin"
4pkgver=11.6.0
5pkgrel=1
6pkgdesc="Authoritative Spanish dictionary software, an essential tool for Spanish language learners.(Prebuilt version)西班牙语助手,权威的西班牙语词典软件,西班牙语学习者必备的工具."
7arch=('x86_64')
8url="https://www.esdict.cn/"
9license=('LicenseRef-custom')
10conflicts=(
11 "${pkgname%-bin}"
12 "${_pkgname}"
13)
14options=('!strip')
15depends=(
16 'alsa-lib'
17 'gtk3'
18 'aalib'
19 'cdparanoia'
20 'graphene'
21 'gst-plugins-bad-libs'
22 'gst-plugins-base-libs'
23 'gstreamer'
24 'lame'
25 'libavc1394'
26 'libcaca'
27 'libdv'
28 'libgudev'
29 'libiec61883'
30 'libogg'
31 'libpulse'
32 'libraw1394'
33 'libshout'
34 'libsoup'
35 'libtheora'
36 'libvorbis'
37 'libxv'
38 'mpg123'
39 'nss'
40 'openssl-1.0'
41 'opus'
42 'orc'
43 'pipewire-jack'
44 'speex'
45 'twolame'
46 'v4l-utils'
47 'wavpack'
48)
49source=(
50 "${pkgname%-bin}-${pkgver}.deb::https://www.eudic.net/download/${_pkgname}.deb?v=${pkgver//./-}"
51 "LICENSE.html::https://dict.eudic.net/home/privacy"
52 "${pkgname%-bin}.sh"
53)
54sha256sums=('59af3b48c1cda58220e303c479d8244257fb2d7c7be7d229b83f3e8dc23ee358'
55 'a961d77963997afda7147235ae0540912aa8300d9ccdf2dddf90f1893045adac'
56 '99459e293a8aa12658616ee9bdb4cbfb186265b8bfd3e0f4d57ccb5fac5b2d41')
57prepare() {
58 sed -e "
59 s/@appname@/${pkgname%-bin}/g
60 s/@appasar@/${_pkgname}/g
61 " -i "${srcdir}/${pkgname%-bin}.sh"
62 bsdtar -xf "${srcdir}/data."*
63 sed -e "
64 s/\/usr\/share\/${pkgname%-bin}\/AppRun/${pkgname%-bin}/g
65 s/com.eusoft.${_pkgname}/${pkgname%-bin}/g
66 " -i "${srcdir}/usr/share/applications/${pkgname%-bin}.desktop"
67}
68package() {
69 install -Dm755 "${srcdir}/${pkgname%-bin}.sh" "${pkgdir}/usr/bin/${pkgname%-bin}"
70 install -Dm755 -d "${pkgdir}/usr/lib"
71 cp -Pr --no-preserve=ownership "${srcdir}/usr/share/${pkgname%-bin}" "${pkgdir}/usr/lib"
72 install -Dm644 "${srcdir}/usr/share/applications/${pkgname%-bin}.desktop" -t "${pkgdir}/usr/share/applications"
73 install -Dm644 "${srcdir}/usr/share/pixmaps/com.eusoft.${_pkgname}.png" "${pkgdir}/usr/share/pixmaps/${pkgname%-bin}.png"
74 install -Dm644 "${srcdir}/LICENSE.html" -t "${pkgdir}/usr/share/licenses/${pkgname}"
75}
76

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