ting-de
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%): This PKGBUILD downloads a prebuilt binary .deb from static.frdic.com, which is the CDN/static host for the Eudic/Eusoft ecosystem (eudic.net is the vendor's main site, frdic.com is their Chinese domain). The source is a proprietary Electron app distributed as a .deb with no versioned URL — the URL always points to the latest file regardless of pkgver, meaning the sha512sum is the only integrity check and it could silently drift if the vendor updates the file. The sha512sum provided is also only 127 hex chars (should be 128 for SHA-512), which is suspicious and may indicate a truncation error, weakening the integrity guarantee. The package extracts and installs a prebuilt binary blob (Electron asar + native binaries from the deb) from a non-standard host with a non-versioned URL. While frdic.com is plausibly the legitimate vendor domain, the combination of a floating/unversioned download URL, a potentially truncated checksum, and a fully executed binary payload warrants a medium rating rather than clean.
PKGBUILD
1 offending line(s) highlighted# Maintainer: sukanka <su975853527 at gmail dot com>
_lang=de
pkgname=ting-${_lang}
pkgver=9.7.4
pkgrel=1
_llang=German
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=('23f9297a0def2a98b4581daab348be767abff4d4835f5aa889165e1e65f422360cdaec1bdc326695762f98a67cc0a9c03d3c190fffbf1c3668f82ee0b7810fb4')
# 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 |