ting-es
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:14
source=("${pkgname}-${pkgver}.deb::https://static.frdic.com/pkg/ting_${_lang}/ting_${_lang}.deb")
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 static.frdic.com, which is the CDN/static asset host used by Eudic/Eusoft (the vendor behind the eudic dictionary and ting apps). This is not an unofficial personal host — frdic.com is the vendor's own domain (Eudic's Chinese brand site). The sha512sum is pinned, which mitigates silent substitution risk. However, the source URL is unversioned ('ting_es.deb' with no version in the filename), meaning the checksum could drift if the vendor updates the file in place, and there is no GPG signature verification. The binary is an Electron app extracted from a .deb and executed directly. This is a real medium-risk pattern (prebuilt proprietary binary from a vendor CDN, no signature, unversioned URL) but not a high-severity supply-chain attack — it is consistent with standard AUR packaging of proprietary Linux apps distributed as .deb files.
PKGBUILD
1 offending line(s) highlighted# Maintainer: sukanka <su975853527 at gmail dot com>
_lang=es
pkgname=ting-${_lang}
pkgver=9.7.4
pkgrel=1
_llang=Spanish
pkgdesc="Daily ${_llang} Listening software from eusoft"
arch=('x86_64')
url="https://www.eudic.net/v4/${_lang}/app/ting"
license=('unknown')
_electron=electron11
depends=("${_electron}")
source=("${pkgname}-${pkgver}.deb::https://static.frdic.com/pkg/ting_${_lang}/ting_${_lang}.deb")
sha512sums=('820baec73bc6df379b544f52a40cfe6870fd9013248ddc766426ab441e44fe5834cb1451ff1d658a52240e3a22cfa3059b2946981d5f105b5140e67147f816a8')
# sometime use curl to download source deb, throws 404 not found.
# user other UA instead of origion one fixed it.
# https://wiki.archlinux.org/index.php/Nonfree_applications_package_guidelines#Custom_DLAGENT
DLAGENTS=("https::/usr/bin/curl -A 'Mozilla' -fLC - --retry 3 --retry-delay 3 -o %o %u")
prepare() {
cd $srcdir
mkdir -p build
tar -xvf data.tar.xz -C build/
cd build
dir_name=$(ls opt/)
mv opt/${dir_name}/resources/app.asar ${pkgname}.asar
}
package() {
cd $srcdir/build
mv usr/ ${pkgdir}/usr
mkdir -p ${pkgdir}/usr/share/eusoft/${pkgname}
mv ${pkgname}.asar ${pkgdir}/usr/share/eusoft/${pkgname}/${pkgname}.asar
sed -i "s|^Exec.*|Exec=${pkgname} %U|" ${pkgdir}/usr/share/applications/ting_${_lang}.desktop
# link executable
mkdir -p ${pkgdir}/usr/bin/
echo """#!/usr/bin/bash
exec ${_electron} /usr/share/eusoft/${pkgname}/${pkgname}.asar --disable-gpu-sandbox "\$@"
""" >${pkgdir}/usr/bin/${pkgname}
chmod a+x ${pkgdir}/usr/bin/${pkgname}
}
# vim: ts=2 sw=2 et:
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 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 |