ydict
This PKGBUILD downloads a prebuilt binary tarball from cnblogs.com (a Chinese blogging platform, not the project's official GitHub release infrastructure) with md5sums='SKIP' (no integrity verification), then executes an arbitrary install.sh script from inside that tarball with root-level package() privileges. The combination of: (1) an unofficial, unverified binary blob from a personal blog host, (2) no checksum validation whatsoever, and (3) execution of a bundled shell script that can do anything to the system, constitutes a genuine supply-chain risk that goes beyond a typical MEDIUM concern. If cnblogs.com is compromised or the file is replaced, arbitrary code runs during package installation. This is effectively an unverified binary installer pattern — the executed shell script from an untrusted host with no integrity check elevates this to HIGH.
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:18
source=("https://files.cnblogs.com/files/dream-saddle/YDict-$pkgver.tar.gz")
llm_review
The static rules found a suspicious pattern they could not resolve, so an AI model (anthropic/claude-4.6-sonnet-20260217) reviewed it and judged it HIGH (confidence 92%): This PKGBUILD downloads a prebuilt binary tarball from cnblogs.com (a Chinese blogging platform, not the project's official GitHub release infrastructure) with md5sums='SKIP' (no integrity verification), then executes an arbitrary install.sh script from inside that tarball with root-level package() privileges. The combination of: (1) an unofficial, unverified binary blob from a personal blog host, (2) no checksum validation whatsoever, and (3) execution of a bundled shell script that can do anything to the system, constitutes a genuine supply-chain risk that goes beyond a typical MEDIUM concern. If cnblogs.com is compromised or the file is replaced, arbitrary code runs during package installation. This is effectively an unverified binary installer pattern — the executed shell script from an untrusted host with no integrity check elevates this to HIGH.
PKGBUILD
1 offending line(s) highlighted# Maintainer: Your Name <1289747698@qq.com>
pkgname=ydict
pkgver=0.3.2
pkgrel=1
pkgdesc="dictionary/translation tool developed in Rust+Qt"
arch=('x86_64')
url="https://github.com/DreamSaddle/youdao-dict"
license=('GPL3')
depends=()
makedepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=()
install=
source=("https://files.cnblogs.com/files/dream-saddle/YDict-$pkgver.tar.gz")
noextract=()
md5sums=('SKIP')
prepare() {
echo ""
}
build() {
echo "此软件通过打包好的二进制文件安装, 无需编译."
}
package() {
cd "YDict-$pkgver/scripts"
chmod +x install.sh
./install.sh
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | High | 2 |
| 2026-09-16 00:03:17 | High | 2 |
| 2026-09-15 00:25:31 | High | 2 |
| 2026-09-14 00:27:57 | High | 2 |
| 2026-09-13 00:19:54 | High | 2 |
| 2026-09-12 00:25:17 | High | 2 |
| 2026-09-11 00:19:22 | High | 2 |
| 2026-09-10 00:22:44 | High | 2 |
| 2026-09-09 00:04:09 | High | 2 |
| 2026-09-08 00:18:08 | High | 2 |
| 2026-09-07 00:30:15 | High | 2 |
| 2026-09-06 00:17:06 | High | 2 |
| 2026-09-05 00:16:27 | High | 2 |
| 2026-09-04 00:03:13 | High | 2 |
| 2026-09-03 00:15:47 | High | 2 |
| 2026-09-02 00:02:31 | High | 2 |
| 2026-09-01 00:11:19 | High | 2 |
| 2026-08-31 00:19:57 | High | 2 |
| 2026-08-30 00:04:14 | High | 2 |
| 2026-08-29 00:29:17 | High | 2 |