eshelper

maintainer sukanka · 0 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged This PKGBUILD downloads a prebuilt proprietary binary .deb from static.frdic.com, which is the CDN/static host used by Eudic (the developer of the Eudict/Eudic dictionary software family). This is actually the vendor's own distribution host, not a random personal server — frdic.com is the Chinese domain for the same company that operates eudic.net. The sha256sum is pinned, which mitigates substitution risk somewhat. However, the source is still a prebuilt closed-source binary from a proprietary vendor's CDN (not a GitHub release or other auditable artifact), and the binary is executed directly. The DLAGENTS override with a spoofed User-Agent is unusual but explained by the comment (server returns 404 without it). The prepare() step extracts data.tar.xz from the .deb and the package() step installs binaries from it. This is a standard pattern for repackaging proprietary .deb files in the AUR. The risk is real but typical for proprietary binary repacks: if frdic.com is compromised or serves a different binary, the sha256 check would catch it only if the sum is kept current. Overall this is a legitimate proprietary software repack with a pinned checksum from the vendor's own host — the medium rating is marginally justified due to the closed-source executed binary from a CDN, but it is a well-known pattern in AUR for proprietary software.

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:18 source=("${pkgname}-${pkgver}.deb::https://static.frdic.com/pkg/${pkgname}.deb?v=${_date}")
MEDIUM AI review llm_review

An AI model (anthropic/claude-4.6-sonnet-20260217) reviewed this and agrees it is MEDIUM (confidence 72%): This PKGBUILD downloads a prebuilt proprietary binary .deb from static.frdic.com, which is the CDN/static host used by Eudic (the developer of the Eudict/Eudic dictionary software family). This is actually the vendor's own distribution host, not a random personal server — frdic.com is the Chinese domain for the same company that operates eudic.net. The sha256sum is pinned, which mitigates substitution risk somewhat. However, the source is still a prebuilt closed-source binary from a proprietary vendor's CDN (not a GitHub release or other auditable artifact), and the binary is executed directly. The DLAGENTS override with a spoofed User-Agent is unusual but explained by the comment (server returns 404 without it). The prepare() step extracts data.tar.xz from the .deb and the package() step installs binaries from it. This is a standard pattern for repackaging proprietary .deb files in the AUR. The risk is real but typical for proprietary binary repacks: if frdic.com is compromised or serves a different binary, the sha256 check would catch it only if the sum is kept current. Overall this is a legitimate proprietary software repack with a pinned checksum from the vendor's own host — the medium rating is marginally justified due to the closed-source executed binary from a CDN, but it is a well-known pattern in AUR for proprietary software.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: yjun <jerrysteve1101 at gmail dot com>
2# Maintainer: sukanka <su975853527 at gmail dot com>
3
4pkgname=eshelper
5pkgver=13.5.2
6_date=2024-04-19
7_lang=es
8_flang=Spanish
9pkgrel=1
10pkgdesc="Proprietary ${_flang} dictionary software for linux"
11arch=('x86_64')
12url="https://www.eudic.net/v4/${_lang}/app/${pkgname}"
13license=('unknown')
14depends=(
15 'hicolor-icon-theme'
16)
17provides=("eudic-${_lang}")
18source=("${pkgname}-${pkgver}.deb::https://static.frdic.com/pkg/${pkgname}.deb?v=${_date}")
19sha256sums=('59af3b48c1cda58220e303c479d8244257fb2d7c7be7d229b83f3e8dc23ee358')
20
21# sometime use curl to download source deb, throws 404 not found.
22# user other UA instead of origion one fixed it.
23# https://wiki.archlinux.org/index.php/Nonfree_applications_package_guidelines#Custom_DLAGENTS
24DLAGENTS=("https::/usr/bin/curl -A 'Mozilla' -fLC - --retry 3 --retry-delay 3 -o %o %u")
25
26prepare() {
27 mkdir -p build
28
29 tar -xf data.tar.xz -C build
30}
31
32package() {
33 _dirname=eusoft-${pkgname}
34
35 install -dm755 ${pkgdir}/usr/share
36
37 cp -pvr build/usr/share/* ${pkgdir}/usr/share/
38
39 # link executable
40 install -dm755 ${pkgdir}/usr/bin/
41 ln -s /usr/share/${_dirname}/${pkgname} \
42 ${pkgdir}/usr/bin/${pkgname}
43
44 # desktop entry
45 sed -i "s|/usr/share/${_dirname}/AppRun|${pkgname}|g" \
46 ${pkgdir}/usr/share/applications/eusoft-${pkgname}.desktop
47
48 # qt plugin path
49 sed -i '4c Prefix = /usr/lib/qt/' \
50 ${pkgdir}/usr/share/${_dirname}/qt.conf
51
52 # remove unused files.
53 rm -rf ${pkgdir}/usr/share/${_dirname}/{gstreamer-1.0,lib,libcrypto.so.1.0.0,libssl.so.1.0.0,AppRun,plugins,lib*}
54}
55# vim: ts=2 sw=2 et:
56

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