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-11-01 00:21:48 | High | 2 |
| 2026-10-31 00:07:41 | High | 2 |
| 2026-10-30 00:29:30 | High | 2 |
| 2026-10-29 00:13:55 | High | 2 |
| 2026-10-28 00:06:54 | High | 2 |
| 2026-10-27 00:23:28 | High | 2 |
| 2026-10-26 00:12:40 | High | 2 |
| 2026-10-25 00:20:48 | High | 2 |
| 2026-10-24 00:14:55 | High | 2 |
| 2026-10-23 00:02:19 | High | 2 |
| 2026-10-22 00:13:10 | High | 2 |
| 2026-10-21 00:12:50 | High | 2 |
| 2026-10-20 00:10:31 | High | 2 |
| 2026-10-19 00:03:55 | High | 2 |
| 2026-10-18 00:06:55 | High | 2 |
| 2026-10-17 00:21:55 | High | 2 |
| 2026-10-16 00:12:47 | High | 2 |
| 2026-10-15 00:28:05 | High | 2 |
| 2026-10-14 00:06:47 | High | 2 |
| 2026-10-13 00:23:45 | High | 2 |